-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
85 additions
and
1 deletion.
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
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 |
---|---|---|
@@ -0,0 +1,3 @@ | ||
This is an implementation from about 2004, with an update in 2023 to use `cmake`. The code is highly duplicative. | ||
|
||
As of 2024-11 I am considering an update to use C++ 20, with significant positive impacts on code deduplication. |
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 |
---|---|---|
@@ -0,0 +1,18 @@ | ||
cmake_minimum_required (VERSION 3.24) | ||
|
||
project(spffl20_src) | ||
|
||
#add_subdirectory(base) | ||
#add_subdirectory(intmath) | ||
#add_subdirectory(bitrand) | ||
#add_subdirectory(bits) | ||
#add_subdirectory(containers) | ||
#add_subdirectory(polynomials) | ||
#add_subdirectory(rationals) | ||
#add_subdirectory(q_cyclotomic) | ||
#add_subdirectory(random) | ||
#add_subdirectory(factorization) | ||
#add_subdirectory(units) | ||
#add_subdirectory(list) | ||
#add_subdirectory(linalg) | ||
#add_subdirectory(cli_parser) |
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 |
---|---|---|
@@ -0,0 +1,11 @@ | ||
This is a putative --- perhaps never-to-be-completed --- port of `../spffl` to use C++ 20, with significant positive impacts on code deduplication. | ||
|
||
To do: | ||
|
||
* Use concepts (ring element) for polynomial coefficients | ||
* Polynomial-of class | ||
* Euclidean domain to take `std::is_integral` or is-polynomial | ||
* How to work in the ad-hoc `f2poly` class which uses bit-packing (can't be polynomial-of-byte) | ||
* Templates for residue rings and quotient rings (both requiring Euclidean GCD) | ||
* Templates for matrix and vector; probably use STL | ||
* Still want a specialized class for matrix-of-bit with bit-packing (not matrix-of-byte) |
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 |
---|---|---|
@@ -0,0 +1,45 @@ | ||
# ---------------------------------------------------------------- | ||
# catch2 has a set-but-unused-variable warning as of MacOS 13.3. | ||
# So we need to not use -Werror, as that's third-party code out of our control. | ||
# | ||
# See also: | ||
# https://discourse.cmake.org/t/how-to-turn-off-warning-flags-for-project-added-by-fetchcontent-declare/2461 | ||
|
||
Include(FetchContent) | ||
|
||
FetchContent_Declare( | ||
Catch2 | ||
GIT_REPOSITORY https://github.com/catchorg/Catch2.git | ||
GIT_TAG v3.0.1 | ||
) | ||
|
||
cmake_host_system_information(RESULT OS_RELEASE QUERY OS_RELEASE) | ||
|
||
if(APPLE AND OS_RELEASE VERSION_GREATER_EQUAL "13.0.0") | ||
get_property( | ||
compile_options | ||
DIRECTORY | ||
PROPERTY COMPILE_OPTIONS | ||
) | ||
set_property( | ||
DIRECTORY | ||
APPEND | ||
PROPERTY COMPILE_OPTIONS -Wno-error=unused-but-set-variable | ||
) | ||
endif() | ||
|
||
FetchContent_MakeAvailable(Catch2) | ||
|
||
if(APPLE AND OS_RELEASE VERSION_GREATER_EQUAL "13.0.0") | ||
set_property( | ||
DIRECTORY | ||
PROPERTY COMPILE_OPTIONS ${compile_options} | ||
) | ||
unset(compile_options) | ||
endif() | ||
|
||
# ---------------------------------------------------------------- | ||
#add_subdirectory(base) | ||
#add_subdirectory(intmath) | ||
#add_subdirectory(bits) | ||
#add_subdirectory(polynomials) |
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 |
---|---|---|
@@ -0,0 +1 @@ | ||
This is Catch2 for `../spffl20`. |