A small math function collection based on the Taylor expansion series.
- Download the source files from the
master
-tree - To build the project, you need to have
g++
andmake
installed - And you need to run
export CC=g++
- If everything is ready, run
make
and ... - ... your
libtmath.a
library file is ready in thelib
folder
Just build it as described above, include the header files and link the library. The library uses the types TMath::DOUBLE
(long double
) and TMath::LONG
(long long
) for parameters and return values.
Function | Description |
---|---|
sin(DOUBLE x) |
sine of x |
asin(DOUBLE x) |
arcsine of x |
sinh(DOUBLE x) |
hyperbolic sine of x |
cos(DOUBLE x) |
cosine of x |
acos(DOUBLE x) |
arccosine of x |
cosh(DOUBLE x) |
hyperbolic cosine of x |
tan(DOUBLE x) |
tangent of x |
atan(DOUBLE x) |
arctangent of x |
cot(DOUBLE x) |
cotangent of x |
acot(DOUBLE x) |
arccotangent of x |
coth(DOUBLE x) |
hyperbolic cotangent of x |
sec(DOUBLE x) |
secant of x |
asec(DOUBLE x) |
arcsecant of x |
sech(DOUBLE x) |
hyperbolic secant of x |
cosec(DOUBLE x) |
cosecant of x |
acsc(DOUBLE x) |
arccosecant of x |
csch(DOUBLE x) |
hyperbolic cosecant of x |
floor(DOUBLE x) |
next lower integer of x |
ceil(DOUBLE x) |
next higher integer of x |
mod(LONG x, LONG y) |
the remainder of the division x / y |
exp(DOUBLE x) |
natural exponential function |
sqrt(DOUBLE x) |
squareroot of x |
root(DOUBLE x, DOUBLE n) |
n-th root of x |
ln(DOUBLE x) |
natural logarithm of x |
lg(DOUBLE x) |
common logarithm of x |
lb(DOUBLE x) |
binary logarithm of x |
log(DOUBLE x, DOUBLE n) |
logarithm with base n of x |
pow(DOUBLE x, DOUBLE n) |
x to the power of n |
pow(LONG x, LONG n) |
x to the power of n |
pow(DOUBLE x, LONG n) |
x to the power of n |
fac(LONG n) |
factorial of n |
facd(LONG n) |
factorial of n using floating point |
oddfac(LONG n) |
odd-factorial of n |
oddfacd(LONG n) |
odd-factorial of n using floating point |
rad(DOUBLE x) |
degrees to radiant |
deg(DOUBLE x) |
radiant to degrees |
abs(DOUBLE x) |
absolute value of x |
equal(DOUBLE x, DOUBLE y) |
floating-point number equality |
equal(DOUBLE x, DOUBLE y, DOUBLE eps) |
floating-point number equality with a variance of epsilon |
To initialize a new vector just use initializer lists (like Vector {1, 2, 3}
) or create a null-vector using Vector(n)
(where n is the number of dimensions).
Operation | Description |
---|---|
a[n] |
Access the n-th element of the vector a |
a + b |
Adds vector a and b |
a - b |
Subtracts vector a from b |
a * s |
Scales the vector by the factor s |
a / s |
Scales the vector by the factor 1 / s |
a == b |
Tests if vector a is equal to b |
a != b |
Tests if vector a is not equal to b |
a.equal(b, e) |
Tests if the vector a is equal to b with the accuracy e |
a.dot(b) |
Dot product of a and b . |
a.cross(b) |
Cross product of a and b |
a.norm() |
Normalized copy of the vector a |
a.length() |
Length of vector a |
a.dim() |
Dimensions of vector a |
a.to_string() |
Generates a string representation of the vector a |
- Statistics (planned for v0.3)
- Matrices (planned for v0.3)
- Matrix operations (planned for v0.3)