Expand description
This library provides the non-native field gadget for the arkworks
constraint-writing platform.
The non-native field gadget can be used as a standard FieldVar
, given
reasonable non-native gadget parameters.
This file contains the implementation of three structs:
NonNativeFieldParams
specifies the constraint prime field (calledBaseField
), the simulated prime field (calledTargetField
), and internal parameters searched by the Python script (seeREADME.md
).NonNativeFieldVar
implements theFieldVar
for simulatingTargetField
arithmetic withinBaseField
.NonNativeFieldMulResultVar
is an intermediate representations of the result of multiplication, which is hidden from theFieldVar
interface and is left for advanced users who want better performance.
The Python script mentioned above can be found in the subdirectory scripts
.
Modules§
- params
- example parameters of non-native field gadget
Structs§
- Allocated
NonNative Field MulResult Var - The allocated form of
NonNativeFieldMulResultVar
(introduced below) - Allocated
NonNative Field Var - The allocated version of
NonNativeFieldVar
(introduced below) - NonNative
Field Params - Parameters for a specific
NonNativeFieldVar
instantiation
Enums§
- NonNative
Field MulResult Var - An intermediate representation especially for the result of a multiplication, containing more limbs. It is intended for advanced usage to improve the efficiency.
- NonNative
Field Var - A gadget for representing non-native (
TargetField
) field elements over the constraint field (BaseField
).