m3bool

package
v0.0.0-...-81728f7 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CONST = uint16(0) + iota
	VAR
	NOT
	AND
	OR
	XOR
	NAND
	NOR
	XNOR
)

Program IDs

View Source
const (
	BOOL = uint16(0) + iota
)

Program types

View Source
const (
	MYLIBID = mel3program.LIB_M3BOOL
)

Variables

View Source
var Implementation = mel3program.Mel3Implementation{
	ProgramNames: map[uint16]string{
		CONST: "m3boolconst",
		VAR:   "m3boolvar",
		NOT:   "not",
		AND:   "and",
		OR:    "or",
		XOR:   "xor",
		NAND:  "nand",
		NOR:   "nor",
		XNOR:  "xnor",
	},
	TypeNames: map[uint16]string{
		BOOL: "bool",
	},
	ProgramTypes: map[uint16]mel3program.ArgumentsTypes{
		CONST: mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
		VAR:   mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
		NOT:   mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
		AND:   mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
		OR:    mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
		XOR:   mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
		NAND:  mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
		NOR:   mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
		XNOR:  mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
	},
	NonVariadicArgs: map[uint16]mel3program.ArgumentsTypes{
		CONST: mel3program.ArgumentsTypes{},
		VAR:   mel3program.ArgumentsTypes{},
		NOT:   mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
		AND:   mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}, mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
		OR:    mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}, mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
		XOR:   mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}, mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
		NAND:  mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}, mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
		NOR:   mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}, mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
		XNOR:  mel3program.ArgumentsTypes{mel3program.ArgType{MYLIBID, BOOL, []uint64{}}, mel3program.ArgType{MYLIBID, BOOL, []uint64{}}},
	},
	IsVariadic: map[uint16]bool{
		CONST: false,
		VAR:   false,
		NOT:   false,
		AND:   false,
		OR:    false,
		XOR:   false,
		NAND:  false,
		NOR:   false,
		XNOR:  false,
	},
	VariadicType: map[uint16]mel3program.ArgType{
		CONST: mel3program.ArgType{},
		VAR:   mel3program.ArgType{},
		NOT:   mel3program.ArgType{},
		AND:   mel3program.ArgType{},
		OR:    mel3program.ArgType{},
		XOR:   mel3program.ArgType{},
		NAND:  mel3program.ArgType{},
		NOR:   mel3program.ArgType{},
		XNOR:  mel3program.ArgType{},
	},
	ImplName: "m3bool",
}

The Mel3 implementation

Functions

func EvaluatorCreator

func EvaluatorCreator() mel3program.Mel3Visitor

func M3BoolConstGenerator

func M3BoolConstGenerator(ev *mel.EvolutionParameters) (*mel3program.Mel3Program, error)

func M3BoolVarGenerator

func M3BoolVarGenerator(ev *mel.EvolutionParameters) (*mel3program.Mel3Program, error)

Types

type Evaluator

type Evaluator struct {
	*mel3program.Mel3Object

	Result *mel3program.Mel3Program
	// contains filtered or unexported fields
}

func (*Evaluator) GetError

func (ev *Evaluator) GetError() error

func (*Evaluator) GetMel3Object

func (ev *Evaluator) GetMel3Object() *mel3program.Mel3Object

func (*Evaluator) GetName

func (ev *Evaluator) GetName() string

func (*Evaluator) GetResult

func (ev *Evaluator) GetResult() *mel3program.Mel3Program

func (*Evaluator) Inspect

func (ev *Evaluator) Inspect() string

func (*Evaluator) SetMel3Object

func (ev *Evaluator) SetMel3Object(mel3o *mel3program.Mel3Object)

func (*Evaluator) Visit

type M3boolMe3li

type M3boolMe3li struct {
	mel3program.Mel3Object
}

The effective Me3li

func (*M3boolMe3li) MelCopy

func (prog *M3boolMe3li) MelCopy() mel.Me3li

func (*M3boolMe3li) MelInit

func (prog *M3boolMe3li) MelInit(c *mel.MelConfig, ep *mel.EvolutionParameters)

The Mel entry point for M3boolMe3li

Jump to

Keyboard shortcuts

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