-
-
Notifications
You must be signed in to change notification settings - Fork 59
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
V3.80: fleshing out double-double and quad-double (#443)
* Setting SEMVER to v3.80 * refining numeric_limits for quad-double * update headers with license SPDX * adding quad-double command line utility * adding a double-double command line utility * refining numeric_limits for double-double * WIP: implementing nextafter for double-double * bug fix on the incorrectly modified ulp() function on native ieee754 floating-point numbers * WIP: isolate double free bug in dd::to_string * WIP: found a bug in fixed format to_string for double-double * memory management bug fix in dd::to_string * bug fix memory corruption in round_string * unifying the std::ostream precision articulation * first principle construction of double-double and quad-double values * adding an double-double ulp test case * bug fix fixpnt conversion of real values smaller than half of minpos * updating fixpnt cli command with universal type name and new types * WIP: still trying to deduce the ulp algorithm for double-double * double-double ulp function * code hygiene and creating a string_utils.hpp to collect string utilities * header updates * implementation of increment and decrement * WIP: printing a double-double in fixed form destroys a leading zero * dd code hygiene, qd api test progression * WIP: first implementation of increment and decrement for quad-double * WIP: implementing extreme value API for quad-double * code hygiene: isolating internal::uint128 so bitblock is not part of double-double or quad-double dependencies * code hygiene qd: removing signed/unsigned index warnings in decimal string generation * adding a verification suite to pow() function for double-double * moving error_free_ops.hpp from native to numerics to keep ieee754.hpp lightweight * compilation fix for GCC * MSVC fix: std::isfinite() is not yet constexpr * Restructuring build process to isolate projects that depend on complex<> * bringing together all the complex<> regression suites into a consistent build flow * resolving all the missing inline keywords on the dd and qd math functions * Adding new ArXiv publication on iterative refinement with low-precision posits * unifying the to_components formatting between dd and qd types * implementing ulp() and to_binary() for quad-double * adding a math function extension mechanism so we can start experimenting with non-elemental functions * streamlining Horner's rule functionality across Universal * compilation fix for gcc/clang * code hygiene and AppleClang build restructuring * creating the first design structure to manage a generic math function library * organizing constants and complex in math library * compilation fix for gcc/clang * simpler build configuration for complex<> * adding native quad-double trigonometry function approximations * unifying the constexpr table vars with regular dd and qd constants * removal of files no longer required for dd * settling on a naming convention for the mathematical constants that is consistent across types * preparing double-double math infrastructure to mimic universal/math structure * completing generation of quad-double constants and math library structure * tracking precision difference between Debug and Release builds in quad-double * forgot to save the test src * adding Apple M2 silicon results * WIP: trying out cbrt as a test math function for specialization with generics fallback * adding compile-time messages for non-MSVC compilers * removing warnings on qd_inverse_factorial_table_size int/unsigned mismatch * code hygiene
- Loading branch information
1 parent
9aeed89
commit 77d1230
Showing
292 changed files
with
5,953 additions
and
1,969 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
{ | ||
"image": "stillwater/builders:clang18builder" | ||
"image": "stillwater/builders:clang16builder" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,9 @@ | ||
file (GLOB SOURCES "./*.cpp") | ||
|
||
# Compiler specific environments | ||
# message(STATUS "CMAKE_CXX_COMPILER ID is -${CMAKE_CXX_COMPILER_ID}-") | ||
|
||
# exclude AppleClang as XCode14 and Xcode15 have std::complex libs that do not support user defined types5 | ||
if(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang") | ||
message(STATUS "Ignoring complex tests for AppleClang") | ||
|
||
else() | ||
message(STATUS "Adding complex test for all other non-AppleClang environments") | ||
compile_all("true" "complex" "Applications/Performance/Complex" "${SOURCES}") | ||
|
||
endif() | ||
if(BUILD_COMPLEX) | ||
message(STATUS "Adding complex test for Application environment") | ||
compile_all("true" "complex" "Complex/Applications/Performance" "${SOURCES}") | ||
else(BUILD_COMPLEX) | ||
message(STATUS "Ignoring complex tests for application/performance") | ||
endif(BUILD_COMPLEX) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.