Horner and window evaluation need those tables in the tree. Comparison geneval opens the same value words as a Doerner–Shelat key. A factor common to every polynomial term is multiplied first so that preprocessing stays smaller. Co-authored-by: Cursor <cursoragent@cursor.com> |
||
|---|---|---|
| .. | ||
| googletest | ||
| tests | ||
| .gitignore | ||
| CMakeLists.txt | ||
| README.md | ||
How to build tests
To build the existing tests, simply run the following:
mkdir build && cd build
cmake ..
cmake --build .
How to run tests
Specific test executables will be placed in the bin subdirectory of the build directory. These can be run individually.
Alternatively the all_test executable in the build directory can be run which automatically runs all test executables.
How to generate coverage
First, when building the tests, make sure COVERAGE=ON as follows:
cmake -D COVERAGE=ON ..
Then after running all tests, run the following for gcovr coverage report:
mkdir coverage
gcovr --root '../..' --filter '\.\./\.\./include/.*' --html-details 'coverage/index.html' .
Building specific binaries
To build a specific binary, for example eval_point_test, use the following:
cmake --build . --target eval_point_test
Running specific tests
First, to list available tests use the following (using eval_point_test as the example executable):
./bin/eval_point_test --gtest_list_tests
Next, using the --gtest_filter option, specific tests can be run using pattern matching. ? matches a single character, * matches any substring, : seperates two patterns, and - at the beginning of a pattern makes it a negative pattern. Following is an example to only run Basic tests and ensure BasicPathMemoizer tests are not run:
./bin/eval_point_test --gtest_filter='*Basic*:-*BasicPathMemoizer*'