Commit Graph

345 Commits

Author SHA1 Message Date
Luke Street fa346ace47 Support for emscripten 2022-08-03 18:16:30 -04:00
Luke Street f27a63f312 FileReader/Writer: Refactor to remove <Windows.h> include 2022-02-22 00:46:49 -05:00
Luke Street 37c56eec07 FileReader: Cache fileSize on open for performance 2021-05-22 22:25:34 -04:00
Luke Street 991ffede79 Check is_convertible_v in variadic constructor 2021-04-18 22:56:53 -04:00
Luke Street 4fa2335258 Add missing constructors for fallback __simd_storage 2021-04-18 22:31:18 -04:00
Luke Street ec43f653a7
Merge pull request #76 from lioncash/dependent
DNAOp: Make use of template keyword for dependent templates
2021-04-18 21:26:12 -04:00
Luke Street 8558ca1b51 Move yaml.h, gekko_support.h to include/athena
Check if atdna target defined before
2021-04-12 22:44:09 -04:00
Luke Street b67f6dc231 Move utf8proc.h to include/athena 2021-04-12 22:05:07 -04:00
Luke Street 144e14f2f5 Fix simd_sse on WIN32 2021-04-12 17:28:17 -04:00
Luke Street 666dea48ae CI: Add test workflow 2021-04-12 16:03:33 -04:00
Luke Street a87e8bb39f Set fmt defines in CMake 2021-04-06 17:53:16 -04:00
Luke Street fc3e9a51d2 Updates for fmtlib 7
Update submodules & tracking branches
2021-04-06 12:54:56 -04:00
Luke Street 1d0727fae0 Fixes for MSVC SIMD compilation 2021-02-15 21:04:37 -05:00
Luke Street d523fad83f Update simd_neon
- Fixes m128d dot3
- Simplifies negate operations
2021-01-09 14:21:09 -05:00
Luke Street 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
Luke Street 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
Luke Street 4e29ba7d8f DNAOp: Fix clang -Wrange-loop-analysis errors 2020-09-18 16:26:27 -04:00
Lioncash 25d3ed0f33 DNAOp: Make use of template keyword for dependent templates
Prevents potential ambiguities from occurring.
2020-04-18 03:55:41 -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
Phillip Stephens eb41d349dc
Fix stand alone compiling, minor code updates 2019-12-08 13:32:50 -08:00
Phillip Stephens 9771af88ed
Merge pull request #69 from lioncash/cast
IStreamWriter: Eliminate several casts
2019-10-20 18:40:40 -07:00
Phillip Stephens 182c4ff54f
Merge pull request #70 from lioncash/prototype
IStream: Remove unimplemented operator<< prototype
2019-10-20 18:40:31 -07:00
Phillip Stephens 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:// 2019-09-30 21:16:11 -10:00
Jack Andersen c7b6744509 Numerous code style improvements 2019-09-30 21:10:47 -10:00
Phillip Stephens 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
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
Phillip Stephens 3f9177be15
Merge pull request #54 from lioncash/override
DNA: Add missing override specifiers
2019-08-26 17:44:21 -07:00
Phillip Stephens 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
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
Phillip Stephens 5da7e7bac3
Merge pull request #49 from lioncash/doc
General: Silence -Wdocumentation warnings
2019-08-16 18:18:23 -07:00