module

package
v1.2.23 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Copyright Consensys Software Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

SPDX-License-Identifier: Apache-2.0

Copyright Consensys Software Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

SPDX-License-Identifier: Apache-2.0

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Id

type Id = uint

Id abstracts the notion of a "module identifier"

type LimbsMap

type LimbsMap = Map[register.LimbsMap]

LimbsMap provides a high-level mapping of all registers across all modules before and after subdivision occurs.

func NewLimbsMap

func NewLimbsMap[F any, M register.Map](field field.Config, modules ...M) LimbsMap

NewLimbsMap constructs a new schema mapping for a given schema and parameter combination. This determines, amongst other things, the composition of limbs for all registers in the schema.

type Map

type Map[T register.Map] interface {
	fmt.Stringer
	// Field returns the underlying field configuration used for this mapping.
	// This includes the field bandwidth (i.e. number of bits available in
	// underlying field) and the maximum register width (i.e. width at which
	// registers are capped).
	Field() field.Config
	// Module returns register mapping information for the given module.
	Module(Id) T
	// ModuleOf returns register mapping information for the given module.
	ModuleOf(Name) T
	// Returns number of modules in this map
	Width() uint
}

Map provides a mapping from module identifiers (or names) to register maps.

func Apply

func Apply[S, T register.Map](mapping Map[S], fn func(S) T) Map[T]

Apply converts a module map of one kind into a module map of another kind.

func NewMap

func NewMap[T register.Map](field field.Config, modules []T) Map[T]

NewMap constructs a new module map

type Name

type Name = trace.ModuleName

Name abstracts the notion of a module name, since this is made up of two distinct components.

func NewName

func NewName(name string, multiplier uint) Name

NewName constructs a new module name

Jump to

Keyboard shortcuts

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