PBXB64 Science & Mathematik

80+ Funktionen PBXB64-Erweiterung

Ein vollständiges wissenschaftliches Rechentoolkit, direkt in den Compiler integriert. Keine externen Bibliotheken nötig. Deckt Trigonometrie, lineare Algebra, Statistik, Zufallszahlen, hyperbolische Funktionen, DEC128/RATIONAL-Konvertierung und mehr ab.

Funktionsreferenz

SIN / COS / TANTrigonometrie (Bogenmaß)
ATN / ATN2Arcus-Tangens (1-Arg, 2-Arg)
SINH / COSH / TANHHyperbolische Funktionen
ASINH / ACOSH / ATANHInverse hyperbolische
EXP / LOG / LOG10Exponentiell, nat. Log, Basis-10
SQR / CBRTQuadratwurzel, Kubikwurzel
HYPOTHypotenuse: sqrt(x² + y²)
ABS / FIX / INTAbsolut, Abschneiden, Abrunden
CEIL / FLOOR / ROUNDRundungsfunktionen
SIGN / SGNVorzeichen einer Zahl
MIN / MAXMinimum / Maximum
RND / RNDGAUSSUniform & Gauß-Zufall
RANDOMIZE / RNGSEEDZufallsgenerator seeden
RNGDEFAULTStandard-Seed zurücksetzen
DET / DET2Matrix-Determinante
DOT / NORMVektor-Skalarprodukt, Euklidische Norm
PIKonstante 3,14159...
DEG / RADGrad ↔ Bogenmaß
DEC128 / RATIONALKonvertierungsfunktionen
ISCLOSENahe-Gleichheitstest

Lineare Algebra: DET, DOT, NORM

Matrix- und Vektor-Operationen
FUNCTION PBMAIN() AS LONG LOCAL m11 AS DOUBLE, m12 AS DOUBLE LOCAL m21 AS DOUBLE, m22 AS DOUBLE LOCAL det AS DOUBLE m11 = 4.0 : m12 = 7.0 m21 = 2.0 : m22 = 6.0 det = DET2(m11, m12, m21, m22) ' 4*6 - 7*2 = 10 PRINT "Determinante: "; det ' 10.0 LOCAL a1 AS DOUBLE, a2 AS DOUBLE LOCAL b1 AS DOUBLE, b2 AS DOUBLE LOCAL dot AS DOUBLE a1 = 1.0 : a2 = 2.0 b1 = 3.0 : b2 = 4.0 dot = DOT(a1, a2, b1, b2) ' 1*3 + 2*4 = 11 PRINT "Skalarprodukt: "; dot ' 11.0 FUNCTION = 0 END FUNCTION

DET2 berechnet eine 2×2-Determinante. DOT berechnet das Skalarprodukt zweier Vektoren. NORM gibt die euklidische Länge zurück.

Zufallszahlen: RND, RNDGAUSS, RNGSEED

Seeded Zufallsgenerierung
FUNCTION PBMAIN() AS LONG LOCAL r AS DOUBLE LOCAL g AS DOUBLE RNGSEED 12345 ' Reproduzierbarer Seed r = RND() ' Gleichverteilt [0, 1) PRINT "Gleichverteilt: "; r g = RNDGAUSS() ' Gauß (Mittelwert=0, Std=1) PRINT "Gauß: "; g RNGDEFAULT ' Auf Standard-Seed zurücksetzen FUNCTION = 0 END FUNCTION

RNGSEED setzt einen deterministischen Seed für reproduzierbare Ergebnisse. RNDGAUSS verwendet die Box-Muller-Transformation für gaußverteilte Zufallszahlen.

Hyperbolische Funktionen

SINH, COSH, TANH, ASINH, ACOSH, ATANH
FUNCTION PBMAIN() AS LONG LOCAL x AS DOUBLE LOCAL s AS DOUBLE LOCAL c AS DOUBLE x = 1.0 s = SINH(x) ' 1,1752... c = COSH(x) ' 1,5430... PRINT "sinh(1) = "; s PRINT "cosh(1) = "; c PRINT "tanh(1) = "; TANH(x) ' Inverse hyperbolisch PRINT "asinh(1,1752) = "; ASINH(s) FUNCTION = 0 END FUNCTION

Vollständige hyperbolische Suite inklusive inverser Varianten. Alle nativ in der Runtime implementiert.

ATN2 - Zwei-Argument-Arcus-Tangens

ATN2 - korrekter Quadrant
FUNCTION PBMAIN() AS LONG LOCAL angle AS DOUBLE angle = ATN2(1.0, 1.0) ' 45 Grad (PI/4) PRINT "ATN2(1, 1) = "; angle angle = ATN2(-1.0, -1.0) ' -135 Grad (-3PI/4) PRINT "ATN2(-1, -1) = "; angle angle = ATN2(0.0, -1.0) ' 180 Grad (PI) PRINT "ATN2(0, -1) = "; angle FUNCTION = 0 END FUNCTION

ATN2(y, x) gibt den Winkel im korrekten Quadranten zurück, im Gegensatz zu ATN(y/x), das Quadranteninformation verliert.

Zurück zur Feature-Liste