Macro define_field

Source
macro_rules! define_field {
    ($field:ident, $int:ty, $long:ty, $longlong:ty, $q:literal) => { ... };
}
Expand description

The define_field macro creates a zero-sized struct and an implementation of the Field trait for that struct. The caller must specify:

  • $field: The name of the zero-sized struct to be created
  • $q: The prime number that defines the field.
  • $int: The primitive integer type to be used to represent members of the field
  • $long: The primitive integer type to be used to represent products of two field members. This type should have roughly twice the bits of $int.
  • $longlong: The primitive integer type to be used to represent products of three field members. This type should have roughly four times the bits of $int.