Crate ark_nonnative_field[][src]

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 (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.

The Python script mentioned above can be found in the subdirectory scripts.

Modules

params

example parameters of non-native field gadget

Structs

AllocatedNonNativeFieldMulResultVar

The allocated form of NonNativeFieldMulResultVar (introduced below)

AllocatedNonNativeFieldVar

The allocated version of NonNativeFieldVar (introduced below)

NonNativeFieldParams

Parameters for a specific NonNativeFieldVar instantiation

Enums

NonNativeFieldMulResultVar

An intermediate representation especially for the result of a multiplication, containing more limbs. It is intended for advanced usage to improve the efficiency.

NonNativeFieldVar

A gadget for representing non-native (TargetField) field elements over the constraint field (BaseField).