ForthMinus

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(LibMath)
(LibMath)
Line 94: Line 94:
 
|}
 
|}
  
= LibMath =
+
==== LibMath ====
 
{| border=1 style="border-collapse:collapse;th background-color:#666;width:100%;text-align:center;"
 
{| border=1 style="border-collapse:collapse;th background-color:#666;width:100%;text-align:center;"
 
! style="background-color:#D2ECD2;" | Word
 
! style="background-color:#D2ECD2;" | Word

Revision as of 09:52, 22 January 2008

Description

LibCore

Word marked with "*" are primarily for testing purposes for sim owners and not end users.

Word Stack Description
dup ( n -- n n ) Duplicates the top item of the stack
. * ( n -- ) Prints the top item of the stack in console
dump * ( -- ) Dumps the VM's current status in console
swap ( n1 n2 -- n2 n1) Swaps the order of the top two items in the stack
savestate * ( n -- ) Saves the VM's state to file n.fmo
words * ( -- ) Lists the primitive words loaded to console
loadlib ( n -- ) Loads the words in n.dll
 : [;] Special Define a user word. The first word following the : in the estack is the name. All words following until ; is the definition of the word
savestack ( ... n -- ) Pops the entire stack into variable n
loadstack ( n -- ... ) Push's the stack saved in variable n
clearstack ( ... -- ) Clears the entire stack
if,[else],then ( n -- ) If n is true, execute words until else or then. If n is false, execute else to then
not ( n -- n ) If n is true, push false, if n is false, push true
> ( n1 n2 -- n ) If n1 > n2, push true else push false
< ( n1 n2 -- n) If n1 < n2, push true else push false
>= ( n1 n2 -- n ) If n1 >= n2, push true else push false
<= ( n1 n2 -- n) If n1 <= n2, push true else push false
= ( n1 n2 -- n ) If n1 == n2, push true else push false
 != ( n1 n2 -- n ) If n1 != n2, push true else push false (technically pushes "= not" to estack)
 ! ( n1 n2 -- ) Saves n1 to variable n2
@ ( n -- n ) Pushes variable n to stack

LibMath

Word Stack Description
+ ( n1 n2 -- n ) Adds n1 and n2 together. If n1 or n2 are strings, result will be a combined string
- ( n1 n2 -- n) Pushes n1 - n2
* ( n1 n2 -- n) Pushes n1 * n2
/ ( n1 n2 -- n ) Pushes n1 / n2
round ( n -- n ) Rounds n to nearest integer
sin ( n -- n ) Pushes the sin of n
cos ( n -- n ) Pushes the cos of n
tan ( n -- n ) Pushes the tan of n
pi ( -- n ) Pushes PI
abs ( n -- n ) Pushes the absolute value of n
sqrt ( n -- n) Pushes the square root of n
pow ( n1 n2 -- n) Pushes n1 to the n2'th power
floor ( n -- n ) Floors n and pushes it
vecmag ( x y z -- n) Pushes the vecmag of vector <x, y, z>
vecnorm ( x y z -- x y z ) Pushes the normalized vector for <x, y, z>
vecdist ( x1 y1 z1 x2 y2 z2 -- n ) Pushes the distance between <x1, y1, z1> and <x2, y2, z2>
Personal tools
General
About This Wiki