Module snarkvm_gadgets::nonnative [−][src]
Expand description
This module provides the non-native field gadget for the snarkVM
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.
Modules
example parameters of non-native field gadget
Structs
The allocated form of NonNativeFieldMulResultVar
(introduced below)
The allocated version of NonNativeFieldVar
(introduced below)
Conversion of field elements by allocating them as nonnative field elements Used by Marlin
Parameters for a specific NonNativeFieldVar
instantiation
Enums
An intermediate representation especially for the result of a multiplication, containing more limbs. It is intended for advanced usage to improve the efficiency.
A gadget for representing non-native (TargetField
) field elements over the constraint field (BaseField
).