Standardbibliothek
Antra::Math
import Antra::MathÜberblick#
Für mathematische Hilfsfunktionen, wenn die Sprachoperatoren nicht mehr reichen.
import Antra::Math
println(Math.round(Math.cos(Math.deg2rad(60)) * 100)) # 50
println(Math.clamp(12, 0, 10)) # 10
println(Math.lerp(10, 20, 0.25)) # 12.5
println(Math.TAU / Math.PI) # 2Referenz#
M.sin(x)
M.cos(x)
M.tan(x)
M.sqrt(x)
M.pow(base, exp)
M.log(x)
M.floor(x)
M.ceil(x)
M.round(x)
M.idiv(a, b) # 7 / 2 -> 3, -7 / 2 -> -4
M.abs(x)
M.sign(x)
M.min(a, b)
M.max(a, b)
M.clamp(x, lo, hi) # 12 zwischen 0 und 10 -> 10
M.lerp(a, b, t) # M.lerp(10, 20, 0.25) -> 12.5
M.deg2rad(deg)
M.rad2deg(rad)
M.PI # Konstanten: PI, TAU, E
M.pi() # dasselbe als Funktion; ein nacktes M.pi ist die Funktion, nicht die ZahlFunktionen#
absacosasinatanatan2cbrtceilclampcoscubedeg2raddoubleeexpfloorhypotidivlerploglog10log2maxminpipowrad2degroundsignsinsqrtsquaretantautrunc
fn abs(x :- Number) :- Numberfn acos(x :- Number) :- Floatfn asin(x :- Number) :- Floatfn atan(x :- Number) :- Floatfn atan2(y :- Number, x :- Number) :- Floatfn cbrt(x :- Number) :- Floatfn ceil(x :- Number) :- Intfn clamp(x, lo, hi)x held between lo and hi (both included).
Example:
Math.clamp(12, 0, 10) # 10fn cos(x :- Number) :- Floatfn cube(n :- Number) :- Numberfn deg2rad(deg :- Number) :- NumberDegrees to radians: Math.cos(Math.deg2rad(60)) is about 0.5.
fn double(n :- Number) :- Numberfn e() :- Floatfn exp(x :- Number) :- Floatfn floor(x :- Number) :- Intfn hypot(a :- Number, b :- Number) :- Floatfn idiv(a :- Number, b :- Number) :- Intfn lerp(a, b, t)The value a fraction t of the way from a to b (t = 0 gives a,
1 gives b; outside 0..1 it extrapolates).
Example:
Math.lerp(10, 20, 0.25) # 12.5fn log(x :- Number) :- Floatfn log10(x :- Number) :- Floatfn log2(x :- Number) :- Floatfn max(a :- Number, b :- Number) :- Numberfn min(a :- Number, b :- Number) :- Numberfn pi() :- Floatfn pow(base :- Number, exp :- Number) :- Numberfn rad2deg(rad :- Number) :- NumberRadians to degrees: Math.rad2deg(Math.PI) is 180.
fn round(x :- Number) :- Intfn sign(x :- Number) :- Intfn sin(x :- Number) :- Floatfn sqrt(x :- Number) :- Floatfn square(n :- Number) :- Numberfn tan(x :- Number) :- Floatfn tau() :- Floatfn trunc(x :- Number) :- Int