|
'---------------
'MACRO OPERATORS
'===============
'PARTIAL DEMO
type vector3f
float x,y,z
end type
macro vector3f_op
macro ."save"(a,acc)
a.x = acc.x
a.y = acc.y
a.z = acc.z
end macro
macro ."load"(acc,a)
acc.x = a.x
acc.y = a.y
acc.z = a.z
end macro
macro ."neg"(acc,a)
acc.x = -a.x
acc.y = -a.y
acc.z = -a.z
end macro
macro ."+"(acc,a)
acc.x += a.x
acc.y += a.y
acc.z += a.z
end macro
macro ."-"(acc,a)
acc.x -= a.x
acc.y -= a.y
acc.z -= a.z
end macro
macro ."*"(acc,a)
acc.x *= a.x
acc.y *= a.y
acc.z *= a.z
end macro
macro ."/"(acc,a)
acc.x /= a.x
acc.y /= a.y
acc.z /= a.z
end macro
'
macro ."str" string (out,a) 'CORE FUNCTIONS
out=str(a.x)+","+str(a.y)+","+str(a.z)
end macro
'
end macro
'TESTS
'=====
'#recordof "r.txt" vector3f_op
dim vector3f A = {1,2,3}
dim vector3f B = {10,20,30}
dim vector3f C = {10,100,1000}
print str(A)
print str(A+B)
print str(C*(A+B))
|