mathutil

package
v1.4.4 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2021 License: GPL-3.0 Imports: 4 Imported by: 65

Documentation

Overview

Package mathutil includes important helpers for Ethereum such as fast integer square roots.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Add64 added in v1.0.0

func Add64(a, b uint64) (uint64, error)

Add64 adds 2 64-bit unsigned integers and checks if they lead to an overflow. If they do not, it returns the result without an error.

func CeilDiv8

func CeilDiv8(n int) int

CeilDiv8 divides the input number by 8 and takes the ceiling of that number.

func IntegerSquareRoot

func IntegerSquareRoot(n uint64) uint64

IntegerSquareRoot defines a function that returns the largest possible integer root of a number using go's standard library.

func IsPowerOf2

func IsPowerOf2(n uint64) bool

IsPowerOf2 returns true if n is an exact power of two. False otherwise.

func Max

func Max(a, b uint64) uint64

Max returns the larger integer of the two given ones.This is used over the Max function in the standard math library because that max function has to check for some special floating point cases making it slower by a magnitude of 10.

func Min

func Min(a, b uint64) uint64

Min returns the smaller integer of the two given ones. This is used over the Min function in the standard math library because that min function has to check for some special floating point cases making it slower by a magnitude of 10.

func Mul64 added in v1.0.0

func Mul64(a, b uint64) (uint64, error)

Mul64 multiples 2 64-bit unsigned integers and checks if they lead to an overflow. If they do not, it returns the result without an error.

func PowerOf2

func PowerOf2(n uint64) uint64

PowerOf2 returns an integer that is the provided exponent of 2. Can only return powers of 2 till 63, after that it overflows

Types

This section is empty.

Jump to

Keyboard shortcuts

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