fmath

package
v0.0.0-...-b891a10 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2024 License: MIT, BSD-3-Clause Imports: 1 Imported by: 0

README

32-bit floating point math library for GO.

This library provides float32 counterparts for Go's float64 math functions.
E.g.: Sqrtf(x float32) float32.

The implementation partially uses assembly code (see, e.g., sqrtf_amd64.s) for fast computation. However, when no assembly implementation exists yet a generic implementation is used which uses Go's float64 math functions underneath.

Note: the assembly code is not goinstallable on all platforms. Therefore, goinstall will compile the portable implementation. If you manually execute "make install", you will get the faster implementation.

Documentation

Overview

float32 math package.

This library provides float32 counterparts for Go's float64 math functions. E.g.:

Sqrtf(x float32) float32.

The implementation partially uses assembly code (see, e.g., sqrtf_amd64.s) for fast computation. However, when no assembly implementation exists yet a generic implementation is used which uses Go's float64 math functions underneath.

Note: the assembly code is not goinstallable on all platforms. Therefore, goinstall will compile the portable implementation. If you manually execute "make install", you will get the faster implementation.

Index

Constants

View Source
const (
	E   = 2.71828182845904523536028747135266249775724709369995957496696763 // A001113
	Pi  = 3.14159265358979323846264338327950288419716939937510582097494459 // A000796
	Phi = 1.61803398874989484820458683436563811772030917980576286213544862 // A001622

	Sqrt2   = 1.41421356237309504880168872420969807856967187537694807317667974 // A002193
	SqrtE   = 1.64872127070012814684865078781416357165377610071014801157507931 // A019774
	SqrtPi  = 1.77245385090551602729816748334114518279754945612238712821380779 // A002161
	SqrtPhi = 1.27201964951406896425242246173749149171560804184009624861664038 // A139339

	Ln2    = 0.693147180559945309417232121458176568075500134360255254120680009 // A002162
	Log2E  = 1 / Ln2
	Ln10   = 2.30258509299404568401799145468436420760110148862877297603332790 // A002392
	Log10E = 1 / Ln10
)

Mathematical constants. Reference: http://oeis.org/Axxxxxx

View Source
const (
	MaxFloat32             = 3.40282346638528859811704183484516925440e+38  // 2**127 * (2**24 - 1) / 2**23
	SmallestNonzeroFloat32 = 1.401298464324817070923729583289916131280e-45 // 1 / 2**(127 - 1 + 23)

	MaxFloat64             = 1.797693134862315708145274237317043567981e+308 // 2**1023 * (2**53 - 1) / 2**52
	SmallestNonzeroFloat64 = 4.940656458412465441765687928682213723651e-324 // 1 / 2**(1023 - 1 + 52)
)

Floating-point limit values. Max is the largest finite value representable by the type. SmallestNonzero is the smallest positive, non-zero value representable by the type.

View Source
const (
	MaxInt8   = 1<<7 - 1
	MinInt8   = -1 << 7
	MaxInt16  = 1<<15 - 1
	MinInt16  = -1 << 15
	MaxInt32  = 1<<31 - 1
	MinInt32  = -1 << 31
	MaxInt64  = 1<<63 - 1
	MinInt64  = -1 << 63
	MaxUint8  = 1<<8 - 1
	MaxUint16 = 1<<16 - 1
	MaxUint32 = 1<<32 - 1
	MaxUint64 = 1<<64 - 1
)

Integer limit values.

Variables

This section is empty.

Functions

func Abs

func Abs(x float32) float32

float32 version of math.Fabsf

func Acos

func Acos(x float32) float32

float32 version of math.Acos

func Acosh

func Acosh(x float32) float32

float32 version of math.Acosh

func Asin

func Asin(x float32) float32

float32 version of math.Asin

func Asinh

func Asinh(x float32) float32

float32 version of math.Asinh

func Atan

func Atan(x float32) float32

float32 version of math.Atan

func Atan2

func Atan2(x, y float32) float32

float32 version of math.Atan2

func Atanh

func Atanh(x float32) float32

float32 version of math.Atanh

func Cbrt

func Cbrt(x float32) float32

float32 version of math.Cbrt

func Ceil

func Ceil(x float32) float32

float32 version of math.Ceil

func Copysign

func Copysign(x, y float32) float32

float32 version of math.Copysign

func Cos

func Cos(x float32) float32

float32 version of math.Cos

func Cosh

func Cosh(x float32) float32

float32 version of math.Cosh

func Dim

func Dim(x, y float32) float32

float32 version of math.Fdimf

func Erf

func Erf(x float32) float32

float32 version of math.Erf

func Erfc

func Erfc(x float32) float32

float32 version of math.Erfc

func Exp

func Exp(x float32) float32

float32 version of math.Exp

func Exp2

func Exp2(x float32) float32

float32 version of math.Exp2

func Expm1

func Expm1(x float32) float32

float32 version of math.Expm1

func Floor

func Floor(x float32) float32

float32 version of math.Floor

func Gamma

func Gamma(x float32) float32

float32 version of math.Gamma

func Hypot

func Hypot(x, y float32) float32

float32 version of math.Hypot

func J0

func J0(x float32) float32

float32 version of math.J0

func J1

func J1(x float32) float32

float32 version of math.J1

func Log

func Log(x float32) float32

float32 version of math.Log

func Log10

func Log10(x float32) float32

float32 version of math.Log10

func Log1p

func Log1p(x float32) float32

float32 version of math.Log1p

func Log2

func Log2(x float32) float32

float32 version of math.Log2

func Logb

func Logb(x float32) float32

float32 version of math.Logb

func Max

func Max(x, y float32) float32

float32 version of math.Max

func Min

func Min(x, y float32) float32

float32 version of math.Min

func Mod

func Mod(x, y float32) float32

float32 version of math.Fmodf

func Pow

func Pow(x, y float32) float32

float32 version of math.Pow

func Remainder

func Remainder(x, y float32) float32

float32 version of math.Remainder

func Sin

func Sin(x float32) float32

float32 version of math.Sin

func Sincos

func Sincos(x float32) (sin, cos float32)

float32 version of math.Sincos

func Sinh

func Sinh(x float32) float32

float32 version of math.Sinh

func Sqrt

func Sqrt(x float32) float32

float32 version of math.Sqrt

func Sqrtf

func Sqrtf(x float32) float32

func Tan

func Tan(x float32) float32

float32 version of math.Tan

func Tanh

func Tanh(x float32) float32

float32 version of math.Tanh

func Trunc

func Trunc(x float32) float32

float32 version of math.Trunc

func Y0

func Y0(x float32) float32

float32 version of math.Y0

func Y1

func Y1(x float32) float32

float32 version of math.Y1

Types

This section is empty.

Jump to

Keyboard shortcuts

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