$ sudo apt-get install libgtest-dev
Compile:
g++ tests/tests.cpp src/* -lgtest -lgmp -lomp -o test -g -Wall -pthread -fopenmp -mavx2 -L/usr/lib/llvm-13/lib/
g++ benchs/bench.cpp src/* -lbenchmark -lomp -lpthread -lgmp -std=c++17 -Wall -pthread -fopenmp -mavx2 -L$(find /usr/lib/llvm-* -name "libomp.so" | sed 's/libomp.so//') -O3 -o bench
Example:
#include <iostream>
#include "src/goldilocks_base_field.hpp"
int main(int argc, char **argv)
{
Goldilocks::Element a = Goldilocks::fromU64(0xFFFFFFFF00000005ULL);
uint64_t b = Goldilocks::toU64(a);
Goldilocks::Element c = Goldilocks::fromString("6277101731002175852863927769280199145829365870197997568000");
std::cout << Goldilocks::toString(a) << " " << b << " " << Goldilocks::toString(c) << "\n";
return 0;
}
Polygon goldilocks
was developed by Polygon. While we plan to adopt an open source license, we haven’t selected one yet, so all rights are reserved for the time being. Please reach out to us if you have thoughts on licensing.
This code has not yet been audited, and should not be used in any production systems.ode has not yet been audited, and should not be used in any production systems.