go/src/crypto/internal/edwards25519/field/fe_generic.go

type uint128

// mul64 returns a * b.
func mul64(a, b uint64) uint128 {}

// addMul64 returns v + a * b.
func addMul64(v uint128, a, b uint64) uint128 {}

// shiftRightBy51 returns a >> 51. a is assumed to be at most 115 bits.
func shiftRightBy51(a uint128) uint64 {}

func feMulGeneric(v, a, b *Element) {}

func feSquareGeneric(v, a *Element) {}

// carryPropagateGeneric brings the limbs below 52 bits by applying the reduction
// identity (a * 2²⁵⁵ + b = a * 19 + b) to the l4 carry.
func (v *Element) carryPropagateGeneric() *Element {}