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
.