Module snarkvm_wasm::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 (called BaseField), the simulated prime field (called TargetField), and internal parameters searched by the Python script (see README.md).
  • NonNativeFieldVar implements the FieldVar for simulating TargetField arithmetic within BaseField.
  • NonNativeFieldMulResultVar is an intermediate representations of the result of multiplication, which is hidden from the FieldVar 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).