DINAC/STDLIB
Jump to navigation
Jump to search
DINAC STDLIB is a library of functions you can use in your DINAC code. They are grouped together for ease of access, and from there the individual functions are arranged alphabetically. Overloads are listed in no specific order. Any functions required by other functions are listed.
Arithmetic
DEF/00 add a:00 b:00
WHILE b
a . a+
b . b-
GIVE a
# Requires add, and, less, mul
DEF/00 factorial a:00
IF less(a,2)
GIVE 01
ELSE
GIVE mul(n,factorial(n-))
# Requires less, sub
DEF/00 floordiv a:00 b:00
SET res:00
WHILE ~less(a,b)
a . sub(a,b)
res . res+
GIVE res
# Requires add
DEF/00 mul a:00 b:00
SET res:00
WHILE b
res . add(res,a)
b . b-
GIVE res
# Requires add, mul
DEF/00 pow a:00 b:00
SET res:01
WHILE b
res . mul(res,a)
b . b-
GIVE res
DEF/00 sub a:00 b:00
WHILE b
a . a-
b . b-
GIVE a
Boolean
DEF/00 and a:00 b:00
IF a
GIVE ~~b
ELSE
GIVE 00
DEF/00 or a:00 b:00
IF a
GIVE 01
ELSE
GIVE ~~b
# Requires and, or
DEF/00 xor a:00 b:00
GIVE and(~and(a,b),or(a,b))
Comparison
# Requires and
DEF/00 greater a:00 b:00
WHILE and(a,b)
a . a-
b . b-
GIVE ~~a
# Requires and
DEF/00 greq a:00 b:00
WHILE and(a,b)
a . a-
b . b-
GIVE ~b
# Requires and
DEF/00 less a:00 b:00
WHILE and(a,b)
a . a-
b . b-
GIVE ~~b
# Requires and
DEF/00 lseq a:00 b:00
WHILE and(a,b)
a . a-
b . b-
GIVE ~a
Conversion
DEF/00 ascharToWubyte a:\0
SET w:00
WHILE a
w . w+
a . a-
GIVE w
DEF/00 wubyteToAschar w:00
SET a:\0
WHILE w
a . a+
w . w-
GIVE a
Other
DEF/00 ternary cond:00 a:00 b:00
IF cond
GIVE a
ELSE
GIVE b
DEF/\0 ternary cond:00 a:\0 b:\0
IF cond
GIVE a
ELSE
GIVE b