330 Commits

Author SHA1 Message Date
385392349a Fixes for Apple Silicon
- Use -stdlib++-isystem for atdna
- Remove unnecessary constexpr from simd_neon
2021-01-06 20:30:40 -05:00
Luke Street
04cbd546b7 Merge remote-tracking branch 'origin/master' into hsh
# Conflicts:
#	atdna/FindLLVM.cmake
#	extern/zlib/CMakeLists.txt
2021-01-06 14:17:43 -05:00
be2e0e0b72 SIMD updates from zeus 2020-10-21 02:00:44 -04:00
Jack Andersen
0a81594056 Apply things learned from making hsh to atdna 2020-09-28 10:48:27 -10:00
4e29ba7d8f DNAOp: Fix clang -Wrange-loop-analysis errors 2020-09-18 16:26:27 -04:00
Jack Andersen
30fe237210 Update fmtlib 2020-04-11 12:46:42 -10:00
Jack Andersen
9c39a038a5 Allow AT_DNA_COUNT to accept __VA_ARGS__ 2020-04-08 20:02:54 -10:00
eb41d349dc
Fix stand alone compiling, minor code updates 2019-12-08 13:32:50 -08:00
9771af88ed
Merge pull request #69 from lioncash/cast
IStreamWriter: Eliminate several casts
2019-10-20 18:40:40 -07:00
182c4ff54f
Merge pull request #70 from lioncash/prototype
IStream: Remove unimplemented operator<< prototype
2019-10-20 18:40:31 -07:00
ed83cc0f5e
Merge pull request #71 from lioncash/fmt
Global: Remove compatibility formatting define for size_t
2019-10-20 18:40:23 -07:00
Lioncash
120b3d1281 DNAYaml: Collapse SFINAE functions into single function
We can leverage if constexpr here to determine which branch of code to
instantiate, eliminating the need for the use of SFINAE.
2019-10-19 07:10:50 -04:00
Lioncash
93dacd4231 Global: Remove compatibility formatting define for size_t
Given the use of fmt, we can trivially remove the remaining usages of
this define and remove it from the Global header.
2019-10-19 06:39:48 -04:00
Lioncash
cf91ead01b IStream: Remove unimplemented operator<< prototype
The proper prototype and implementation lies within Global.cpp/.hpp,
which takes a const reference rather than a non-const reference.
2019-10-19 05:32:23 -04:00
Lioncash
1f870c9940 IStreamWriter: Eliminate several casts
We can leverage writeBytes as opposed to writeUBytes to eliminate all
but one cast.
2019-10-19 05:23:55 -04:00
Jack Andersen
42581c922a Merge branch 'master' of ssh://git.axiodl.com:6431/libAthena/athena 2019-09-30 21:16:11 -10:00
Jack Andersen
c7b6744509 Numerous code style improvements 2019-09-30 21:10:47 -10:00
a9039e04e6
Fix AT_SPECIALIZE_* endian references 2019-09-27 20:37:48 -07:00
Lioncash
776cb1d04f General: Make Endian an enum class
Makes the type strongly typed and not susceptible to implicit
conversions.
2019-09-23 18:59:28 -04:00
Lioncash
9bde23011f Global: Make SeekOrigin an enum class
Makes the enumeration strongly typed and also allows forward declaring
the enumeration type as well.
2019-09-14 10:39:15 -04:00
Lioncash
71eb499270 General: Be explicit about the Endian type 2019-09-09 22:04:02 -04:00
Lioncash
d5e91ca0fe General: Be explicit about the SeekOrigin type 2019-09-09 22:03:18 -04:00
Lioncash
c909e628cc Global: Make enum functions noexcept
Allows them to be used within other noexcept constructs.
2019-09-07 12:43:20 -04:00
Lioncash
b629d90147 Global: Make operator|= and &= for enums constexpr
These are allowed to be constexpr since C++14
2019-09-07 12:43:00 -04:00
Lioncash
016e14c460 MemoryWriter: Initialize member variables to deterministic values
Makes the variable initialization behavior deterministic in the case of
the default constructor. This also eliminates the possibility of an
uninitialized read from occurring within the destructor entirely; even
in the face of future changes.
2019-09-05 01:12:07 -04:00
3f9177be15
Merge pull request #54 from lioncash/override
DNA: Add missing override specifiers
2019-08-26 17:44:21 -07:00
b383eedaee
Merge pull request #53 from lioncash/explicit
General: Make constructors explicit where applicable
2019-08-26 17:43:59 -07:00
Lioncash
fd61e12081 DNA: Add missing override specifiers
Adds three missing override specifiers
2019-08-26 20:15:47 -04:00
Lioncash
881db18f7d General: Make constructors explicit where applicable
Makes non-conversion constructors explicit to make their construction
obvious.
2019-08-26 20:13:00 -04:00
Lioncash
641305635e General: Remove unused macros
These aren't used anywhere, so they can be removed.
2019-08-26 19:26:16 -04:00
Lioncash
9c50a60c2b General: Include headers that are necessary
Removes unused headers and ensures that all necessary headers are
included. In particular, this removes quite a few <iostream> includes,
which removes quite a few static constructors.
2019-08-26 08:04:23 -04:00
Lioncash
0622ada766 Types: Qualify std types with std::
Same behavior, but more proper from a type header point of view.
2019-08-24 02:33:43 -04:00
Lioncash
f669191fcb Types: Remove unnecessary macros
These appear to be unused, and, with C++17, can be superseded with
[[maybe_unused]] and [[deprecated]] attributes
2019-08-24 02:31:10 -04:00
Lioncash
8471a7e189 Types: Simplify typedefs
These can just be regular structure declarations. This also has the
benefit of allowing forward declaring the types.
2019-08-24 02:29:37 -04:00
5da7e7bac3
Merge pull request #49 from lioncash/doc
General: Silence -Wdocumentation warnings
2019-08-16 18:18:23 -07:00
1fc1c9eab3
Merge pull request #48 from lioncash/lz
LZBase/LZLookupTable: Minor cleanup
2019-08-16 18:18:14 -07:00
Lioncash
5140e9e7eb General: Silence -Wdocumentation warnings
Resolves trivial Doxygen reference warnings uncovered with
-Wdocumentation
2019-08-16 00:40:29 -04:00
Lioncash
c524a9caa2 LZLookupTable: Remove unused <deque> include
This header and the matching cpp file make no use of std::deque, so this
can be removed.
2019-08-15 23:54:04 -04:00
Lioncash
70aeed342f LZLookupTable: Convert typedef into a using alias 2019-08-15 23:47:06 -04:00
Lioncash
f7b8c33ed2 LZLookupTable: Default-initialize class members directly in the class
Same thing without the need to duplicate the variable name.
2019-08-15 23:45:17 -04:00
Lioncash
663696fe72 LZLookupTable: Make member functions const where applicable
While we're at it, we can convert compare_equal into an operator==
operator!= pair, and make the curPos argument to search() const as well.
2019-08-15 23:39:45 -04:00
Lioncash
48ae0d32fe LZBase: Remove unused <string> include 2019-08-15 23:35:16 -04:00
Lioncash
50936ab1a9 LZBase: Default virtual destructor 2019-08-15 23:35:12 -04:00
Lioncash
be9ac57b9d LZBase: Mark functions as const where applicable
Most of the interface can be const qualified except for the setters.
While we're at it, we can also make the private member functions
internally linked helper functions, given they don't depend on instance
state at all.
2019-08-15 23:28:41 -04:00
Lioncash
d36b7bdc3f Global: Change <iostream> include into <ostream>
<iostream> injects a static constructor into every translation unit that
includes the header--even if nothing from the header is used. This can
result in minor initial program slowdown, as all of these constructors
need to run before main() can execute.

Instead, we can use <ostream>, which includes all of the necessary
machinery that we need.
2019-08-15 20:06:17 -04:00
Lioncash
54b1e8f836 General: Use nullptr where applicable
Uses nullptr instead of NULL or the 0 integer literal where applicable.
2019-08-15 16:12:17 -04:00
Lioncash
d735ed45db General: Use the override keyword where applicable 2019-08-15 16:12:17 -04:00
Lioncash
5657bd7f2f General: Remove unnecessary typename specifiers 2019-08-15 16:12:14 -04:00
Lioncash
919a74c72c General: Remove unnecessary usages of inline
Functions defined directly in a class definition are already inline by
default.

Non-specialized templates are also inline by default.
2019-08-15 16:07:47 -04:00
af59ea2d48
Revert "General: Minor general cleanup" 2019-08-15 08:52:45 -07:00