|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
Show that relation arithmetic has a simple form. More...
#include "barretenberg/ecc/curves/bn254/fr.hpp"#include "barretenberg/ecc/curves/grumpkin/grumpkin.hpp"#include "barretenberg/relations/delta_range_constraint_relation.hpp"#include "barretenberg/relations/elliptic_relation.hpp"#include "barretenberg/relations/memory_relation.hpp"#include "barretenberg/relations/non_native_field_relation.hpp"#include "barretenberg/relations/permutation_relation.hpp"#include "barretenberg/relations/poseidon2_external_relation.hpp"#include "barretenberg/relations/poseidon2_internal_relation.hpp"#include "barretenberg/relations/relation_parameters.hpp"#include "barretenberg/relations/ultra_arithmetic_relation.hpp"#include <gtest/gtest.h>Go to the source code of this file.
Classes | |
| struct | InputElements |
| class | UltraRelationConsistency |
Typedefs | |
| using | FF = fr |
Show that relation arithmetic has a simple form.
The purpose of this test suite is to show that the identity arithmetic implemented in the Relations is equivalent to a simpler unoptimized version implemented in the tests themselves. This is useful 1) as documentation since the simple implementations here should make the underlying arithmetic easier to see, and 2) as a check that optimizations introduced into the Relations have not changed the result.
For this purpose, we simply feed (the same) random inputs into each of the two implementations and confirm that the outputs match. This does not confirm the correctness of the identity arithmetic (the identities will not be satisfied in general by random inputs) only that the two implementations are equivalent.
Definition in file ultra_relation_consistency.test.cpp.
Definition at line 29 of file ultra_relation_consistency.test.cpp.
| TEST_F | ( | UltraRelationConsistency | , |
| ArithmeticRelation | |||
| ) |
Definition at line 111 of file ultra_relation_consistency.test.cpp.
| TEST_F | ( | UltraRelationConsistency | , |
| DeltaRangeConstraintRelation | |||
| ) |
Definition at line 238 of file ultra_relation_consistency.test.cpp.
| TEST_F | ( | UltraRelationConsistency | , |
| EllipticRelation | |||
| ) |
Definition at line 277 of file ultra_relation_consistency.test.cpp.
| TEST_F | ( | UltraRelationConsistency | , |
| MemoryRelation | |||
| ) |
Memory Record Check
ROM Consistency Check
RAM Consistency Check
RAM/ROM access check gate
RAM Timestamp Consistency Check
The complete RAM/ROM memory identity
Definition at line 427 of file ultra_relation_consistency.test.cpp.
| TEST_F | ( | UltraRelationConsistency | , |
| NonNativeFieldRelation | |||
| ) |
Definition at line 354 of file ultra_relation_consistency.test.cpp.
| TEST_F | ( | UltraRelationConsistency | , |
| Poseidon2ExternalRelation | |||
| ) |
Definition at line 545 of file ultra_relation_consistency.test.cpp.
| TEST_F | ( | UltraRelationConsistency | , |
| Poseidon2InternalRelation | |||
| ) |
Definition at line 619 of file ultra_relation_consistency.test.cpp.
| TEST_F | ( | UltraRelationConsistency | , |
| UltraPermutationRelation | |||
| ) |
Definition at line 185 of file ultra_relation_consistency.test.cpp.