This provides useful general math tools.
Functions:
fcmp Compare two floating point numbers, up to a specified precision.
intd Represent a floating point number as an integer.
safe_log log, but returns an arbitrarily small number for log(0).
safe_exp exp, but returns a large or small number instead of overflows.
Imported modules
|
|
import math
|
Functions
|
|
fcmp
intd
safe_exp
safe_log
safe_log2
|
|
fcmp
|
fcmp (
x,
y,
precision,
)
fcmp(x, y, precision) -> -1, 0, or 1
|
|
intd
|
intd ( x, digits_after_decimal=0 )
intd(x[, digits_after_decimal]) -> int x, rounded
Represent a floating point number with some digits after the
decimal point as an integer. This is useful when floating point
comparisons are failing due to precision problems. e.g.
intd(5.35, 1) -> 54.
|
|
safe_exp
|
safe_exp (
n,
under=None,
over=None,
)
safe_exp(n, under=None, over=None) -> e**n
Guaranteed not to overflow. Instead of overflowing, it returns
the values of under for underflows or over for overflows.
|
|
safe_log
|
safe_log (
n,
zero=None,
neg=None,
)
safe_log(n, zero=None, neg=None) -> log(n)
Calculate the log of n. If n is 0, returns the value of zero. If n is
negative, returns the value of neg.
|
|
safe_log2
|
safe_log2 (
n,
zero=None,
neg=None,
)
safe_log2(n, zero=None, neg=None) -> log(n)
Calculate the log base 2 of n. If n is 0, returns the value of
zero. If n is negative, returns the value of neg.
|
|