impl

package
v0.0.0-...-7685c8a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MultiScalarMulLowLevel

func MultiScalarMulLowLevel[PP GroupElementPtrLowLevel[PP, P], P any](
	out *P,
	points []*P,
	scalars [][]byte,
)

MultiScalarMulLowLevel performs a Pippenger-style multi-scalar multiplication:

sum_i scalars[i] * points[i]

using a fixed window size w.

It assumes S.Bytes() is little-endian (LSB at index 0).

func ScalarMulLowLevel

func ScalarMulLowLevel[PP GroupElementPtrLowLevel[PP, P], P any](out, pp *P, s []byte)

Types

type FiniteFieldElementLowLevel

type FiniteFieldElementLowLevel[E finiteFieldElementLowLevel[E]] finiteFieldElementLowLevel[E]

type FiniteFieldElementPtrLowLevel

type FiniteFieldElementPtrLowLevel[E FiniteFieldElementLowLevel[E], T any] interface {
	*T
	FiniteFieldElementLowLevel[E]
}

type FiniteGroupElementLowLevel

type FiniteGroupElementLowLevel[E finiteGroupElementLowLevel[E]] finiteGroupElementLowLevel[E]

type FiniteGroupElementPtrLowLevel

type FiniteGroupElementPtrLowLevel[E FiniteGroupElementLowLevel[E], T any] interface {
	*T
	FiniteGroupElementLowLevel[E]
}

type GroupElementLowLevel

type GroupElementLowLevel[E groupElementLowLevel[E]] groupElementLowLevel[E]

type GroupElementPtrLowLevel

type GroupElementPtrLowLevel[E GroupElementLowLevel[E], T any] interface {
	*T
	GroupElementLowLevel[E]
}

type MonoidElementLowLevel

type MonoidElementLowLevel[E monoidElementLowLevel[E]] monoidElementLowLevel[E]

type MonoidElementPtrLowLevel

type MonoidElementPtrLowLevel[E MonoidElementLowLevel[E], T any] interface {
	*T
	MonoidElementLowLevel[E]
}

type PrimeFieldElementLowLevel

type PrimeFieldElementLowLevel[E primeFieldElementLowLevel[E]] primeFieldElementLowLevel[E]

type PrimeFieldElementPtrLowLevel

type PrimeFieldElementPtrLowLevel[E PrimeFieldElementLowLevel[E], T any] interface {
	*T
	PrimeFieldElementLowLevel[E]
}

type RingElementLowLevel

type RingElementLowLevel[E ringElementLowLevel[E]] ringElementLowLevel[E]

type RingElementPtrLowLevel

type RingElementPtrLowLevel[E RingElementLowLevel[E], T any] interface {
	*T
	RingElementLowLevel[E]
}

Directories

Path Synopsis
Package fields provides low-level field element traits used by generated finite field implementations.
Package fields provides low-level field element traits used by generated finite field implementations.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL