Commit Graph

  • 7ed86677ab Add 256 bit comp operators Matt Borland 2023-06-30 15:03:01 +02:00
  • 1c9573344c Improve final calculation Matt Borland 2023-06-30 14:42:40 +02:00
  • 38752a1e10 Fix calculation of u and p Matt Borland 2023-06-30 13:40:58 +02:00
  • f3682f7b3a Merge pull request #61 from mborland/permissive Matt Borland 2023-06-30 11:55:20 +02:00
  • e0adbd0855 Add portable shifting for significant bit Matt Borland 2023-06-29 14:57:59 +02:00
  • b26cd77e9c Improve portability of masking operation Matt Borland 2023-06-29 14:25:27 +02:00
  • b1cbcab893 Fix calculation in step 5 Matt Borland 2023-06-29 13:50:30 +02:00
  • 3331f04f7b Change max and min powers Matt Borland 2023-06-29 13:49:33 +02:00
  • a4a3c64f5a Improve handling of out of range values Matt Borland 2023-06-29 13:37:12 +02:00
  • 487b70c554 Rework algorithm Matt Borland 2023-06-29 11:42:26 +02:00
  • a0bbacebb2 Fix _umul128 pointer type Matt Borland 2023-06-29 09:24:05 +02:00
  • fe0726d5c5 Add left shift for u256 Matt Borland 2023-06-28 18:59:58 +02:00
  • f1c9a7d866 Add diagnostic for use of BOOST_UNLIKELY fallback routine Matt Borland 2023-06-27 16:24:35 +02:00
  • 8220960f53 Fix requirements for testing Matt Borland 2023-06-26 17:05:20 +02:00
  • 7522d6306e Add random value test Matt Borland 2023-06-26 16:51:55 +02:00
  • 8e9d2fd59a Add __float128 overload Matt Borland 2023-06-26 15:44:10 +02:00
  • c68e1ab080 Use runtime calculation for fallback path Matt Borland 2023-06-26 14:51:09 +02:00
  • f12a5f81b9 Restore number of tests Matt Borland 2023-06-26 14:47:40 +02:00
  • d2d6bd59d4 Add runtime computation of power of 5 Matt Borland 2023-06-26 14:37:55 +02:00
  • 29873873ab Add 512 bit multiplication Matt Borland 2023-06-26 14:16:08 +02:00
  • 6bb0df05db Add 256bit operator+ Matt Borland 2023-06-26 14:15:32 +02:00
  • f8bf05af18 Move 128-bit long double testing Matt Borland 2023-06-26 10:47:05 +02:00
  • 1ece924e99 Remove GCC workaround for 128-bit systems Matt Borland 2023-06-26 09:57:23 +02:00
  • 79be2b5b1f Remove broken platform workaround Matt Borland 2023-06-26 09:42:11 +02:00
  • ad077ed9be Change macro for 128-bit int support Matt Borland 2023-06-23 15:59:08 +02:00
  • ccedcd6ef5 Remove unneeded fallback path Matt Borland 2023-06-23 14:25:22 +02:00
  • 8420f2aed0 Add unary operators Matt Borland 2023-06-23 13:36:24 +02:00
  • 95de15ee94 Add emulated128 from_chars detail overload Matt Borland 2023-06-23 13:29:31 +02:00
  • 6621db35ed Enable diagnostics Matt Borland 2023-06-23 13:01:09 +02:00
  • a8542b3ba4 Adjust max and minimum powers to compensate for w Matt Borland 2023-06-23 11:28:39 +02:00
  • 9f0f224b2f Add fallback routine Matt Borland 2023-06-23 10:53:11 +02:00
  • 9e3e945bd8 Use new algo in from_chars Matt Borland 2023-06-23 10:41:48 +02:00
  • baa8f2071b Rework parser for 128-bit significands Matt Borland 2023-06-23 10:36:05 +02:00
  • ba5312dcba Change success type to std::errc Matt Borland 2023-06-23 10:33:59 +02:00
  • 66b729a151 Rename table to avoid collision Matt Borland 2023-06-23 10:33:45 +02:00
  • a3f9329d81 Fix conversion rank errors Matt Borland 2023-06-23 09:47:03 +02:00
  • d4ee583a95 Fix ambiguous conversion to boost::uint128_type Matt Borland 2023-06-22 16:55:47 +02:00
  • a2f801ee6b Specialize umul256 Matt Borland 2023-06-22 15:53:06 +02:00
  • 3b57902418 Add testing of clinger's fast path Matt Borland 2023-06-22 15:47:44 +02:00
  • 459c87b27d First full cut Matt Borland 2023-06-22 14:53:38 +02:00
  • 614d2b6d85 Add XOR operator Matt Borland 2023-06-22 14:23:57 +02:00
  • a9c6f87500 Split table into high 128bits and low 128bits Matt Borland 2023-06-22 12:00:47 +02:00
  • a88770fe60 Change minimum exact range Matt Borland 2023-06-22 11:48:48 +02:00
  • 5374cec6fb Handle unrepresentative numbers for __float128 Matt Borland 2023-06-22 11:18:09 +02:00
  • b3d628cc42 Rework to allow 1 impl for both 80 and 128 bit types Matt Borland 2023-06-21 17:20:19 +02:00
  • 5d5760e5c7 Add u256 struct Matt Borland 2023-06-21 16:22:28 +02:00
  • 5cbd3411f5 Calculate powers of 10 with 256-bit significands Matt Borland 2023-06-21 16:22:08 +02:00
  • 6dd9511380 Add clz for unsigned 128-bit ints Matt Borland 2023-06-21 14:58:46 +02:00
  • 19b79fc326 Add 80-bit fast-path Matt Borland 2023-06-21 13:59:03 +02:00
  • 038b885581 Merge pull request #56 from mborland/ryu_long_double Matt Borland 2023-06-22 10:34:52 +02:00
  • c9afd46251 Fix printing of 1 character Matt Borland 2023-06-22 09:16:12 +02:00
  • 4b608310b6 Fix macro definitions Matt Borland 2023-06-22 09:16:01 +02:00
  • 554bc47ad0 Fix typo in macro name Matt Borland 2023-06-21 13:02:01 +02:00
  • 56e4bc799c Suppress warning MSVC C4127 Matt Borland 2023-06-21 11:44:21 +02:00
  • e2339ce864 Fix for 64-bit LDBL systems Matt Borland 2023-06-21 11:36:10 +02:00
  • b0a8e5299b Fix non-finite value testing, and add testing Matt Borland 2023-06-21 11:14:45 +02:00
  • 43a0386a88 Refactor to_chars_hex to remove duplication Matt Borland 2023-06-21 11:09:25 +02:00
  • e1599dd2e9 Refactor hex edge case handling Matt Borland 2023-06-21 10:15:57 +02:00
  • 800db63b33 Add cmake testing macro Matt Borland 2023-06-21 09:51:31 +02:00
  • 5cc61b80f2 Re-enable debug macros Matt Borland 2023-06-20 16:29:33 +02:00
  • dfb483dcf2 Add olegth of 0 code path Matt Borland 2023-06-20 16:29:20 +02:00
  • 424e9072f6 Fix bounds checking and error code Matt Borland 2023-06-20 15:53:41 +02:00
  • b534710233 Fix ASAN errors Matt Borland 2023-06-20 15:20:30 +02:00
  • 24a1df11a6 Change 128-bit long double bit pattern Matt Borland 2023-06-20 14:50:59 +02:00
  • 8f23cb8f02 Add debug info Matt Borland 2023-06-20 14:42:07 +02:00
  • b768f3da27 Fix offset when inserting into middle of existing number Matt Borland 2023-06-20 14:41:59 +02:00
  • 0689eca432 Add bounds checking Matt Borland 2023-06-20 13:31:03 +02:00
  • 54a12759c9 Add 128-bit long double ASAN Matt Borland 2023-06-20 13:04:46 +02:00
  • ee5d2f4785 Implement fixed precision for long doubles Matt Borland 2023-06-20 12:31:32 +02:00
  • a76c85252c Implement precision arguments for long doubles Matt Borland 2023-06-20 11:26:11 +02:00
  • 5114152ffb Add precision in scientific mode Matt Borland 2023-06-20 09:57:32 +02:00
  • 619120e547 Fix continued rounding Matt Borland 2023-06-20 09:37:39 +02:00
  • e11a26f6f1 Don't print trailing zeros Matt Borland 2023-06-20 09:23:33 +02:00
  • e0bd9d2fff Update docs Matt Borland 2023-06-19 18:21:19 +02:00
  • 5001ce744d Fix definition of precision Matt Borland 2023-06-19 18:08:20 +02:00
  • 78d65ae5a6 Add <charconv> precision tests Matt Borland 2023-06-19 17:08:02 +02:00
  • a7c06c30aa Add precision argument to general case Matt Borland 2023-06-19 16:51:00 +02:00
  • facd00f02c Add precision argument Matt Borland 2023-06-19 16:14:59 +02:00
  • 73e11b21bb Remove very large and very small fixed value tests Matt Borland 2023-06-19 10:11:08 +02:00
  • a51be9e467 Allow to_chars for integers to be used with emulated128 Matt Borland 2023-06-16 16:22:21 +02:00
  • 38f04ba2a2 Add debug macros Matt Borland 2023-06-16 15:19:01 +02:00
  • b2e69b6e4a Add fixed formatting handling Matt Borland 2023-06-16 14:47:06 +02:00
  • 153909cf86 Implement option 3 Matt Borland 2023-06-16 14:46:50 +02:00
  • b60677fb5b Add implementations for cases 1, 3, and 4 Matt Borland 2023-06-16 14:05:46 +02:00
  • 5d48340670 Refactor to_chars Matt Borland 2023-06-16 13:40:51 +02:00
  • 05505d42c0 Fix type switching macros Matt Borland 2023-06-16 10:15:27 +02:00
  • f4496ef9e4 Add 80-bit long double code path in to_chars_hex and add testing Matt Borland 2023-06-15 17:00:57 +02:00
  • 04fdb8d209 Enable testing Matt Borland 2023-06-15 16:33:21 +02:00
  • fad315a535 Add 128 bit hex specialization Matt Borland 2023-06-15 16:26:54 +02:00
  • 1638ad597a Refactor detail namespace Matt Borland 2023-06-15 16:00:35 +02:00
  • d772892d0a Add struct for ieee754_binary128 parameters Matt Borland 2023-06-15 15:59:53 +02:00
  • 735d0343c9 Suppress MSVC 14.1 warning C4307 Matt Borland 2023-06-15 14:41:05 +02:00
  • 61786ea8b3 Fix digit counting for emulated u128 Matt Borland 2023-06-15 14:28:23 +02:00
  • ca7748ba2f Improve fallback path Matt Borland 2023-06-15 11:28:18 +02:00
  • 4f8f4f16e1 Fix use of numeric_limits Matt Borland 2023-06-15 11:28:08 +02:00
  • 58f8195a76 Change BV testing and remove tiny range Matt Borland 2023-06-14 16:54:06 +02:00
  • 4d8f3df554 Fix test error Matt Borland 2023-06-14 16:08:58 +02:00
  • 364fb33bba Update benchmarks to include std::float128_t Matt Borland 2023-06-14 16:02:48 +02:00
  • f033ed6a4b Test against <charconv> Matt Borland 2023-06-14 15:12:02 +02:00
  • ca938f9f24 Fix std::float128_t domain value Matt Borland 2023-06-14 15:11:51 +02:00