rand

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2025 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package rand provides the functions in the rand GX standard library.

Index

Constants

This section is empty.

Variables

View Source
var Package = builtin.PackageBuilder{
	FullPath: "rand",
	Builders: []builtin.Builder{
		builtin.BuildConst(func(pkg *ir.Package) (string, ir.AssignableExpr, ir.Type, error) {
			value := &ir.AtomicValueT[float64]{
				Src: pkg.Name,
				Val: float64(1 << 64),
				Typ: ir.TypeFromKind(ir.Float64Kind),
			}
			return "rescaleRandFloat64", value, value.Type(), nil
		}),
		builtin.BuildConst(func(pkg *ir.Package) (string, ir.AssignableExpr, ir.Type, error) {
			value := &ir.AtomicValueT[float64]{
				Src: pkg.Name,
				Val: math.Nextafter(1, 0),
				Typ: ir.TypeFromKind(ir.Float64Kind),
			}
			return "maxFloat64BelowOne", value, value.Type(), nil
		}),
		builtin.ParseSource(&fs, "philox.gx"),
		builtin.ParseSource(&fs, "rand.gx"),
		builtin.ImplementBuiltin("newBootstrapGenerator", evalNewBootstrapGenerator),
		builtin.ImplementBuiltin("bootstrapGenerator.next", evalBootstrapGeneratorNext),
		builtin.ImplementStubFunc("Philox.Uint32", func(impl *impl.Stdlib) interp.FuncBuiltin { return impl.Rand.PhiloxUint32 }),
		builtin.ImplementStubFunc("Philox.Uint64", func(impl *impl.Stdlib) interp.FuncBuiltin { return impl.Rand.PhiloxUint64 }),
	},
}

Package description of the GX rand package.

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

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