526
Thanks, elfprince13. I'll try to add square root capabilities soon.
I've added full support for integers and floating-point numbers. Both of their ranges are huge and accessing them and storing values to them is really fast. The range for floating-point numbers is 1e-999 to 9.999999999999999e999 the value for integers is -2147483648 to 2147483647. These ranges should be more than enough.
The next variable types I'm going to add with the new VAT system are probably going to be "pictures" and strings.
EDIT: I've come up with an idea, which I think is pretty awesome. I'm going to allow MLC programs to manipulate the VATs in all sorts of awesome ways, to allow the VAT to act as an array, and to allow pseudo-pointers and all sorts of crazy stuff (there will be normal arrays and regular pointers to be backwards-compatible with MLC 86). Here's some pseudo-code to demonstrate what I mean (kind of a combination of C and MLC and a made-up language ):
%int=534 // First VAT item
%int2=745 // Second VAT item
IntVatItem(1).name="int2" // Change first VAT item's name to int2
IntVatItem(2).name="int" // Change first VAT item's name to int
%int3=55555; // Make third VAT item
// Time to use the VAT as an array
for(%a=0;%a<3;%a++){
IntVatItem(%a).value=%a
if(IntVatItem(%a).name="int2"){
display("Name is int2")
}
}
I've added full support for integers and floating-point numbers. Both of their ranges are huge and accessing them and storing values to them is really fast. The range for floating-point numbers is 1e-999 to 9.999999999999999e999 the value for integers is -2147483648 to 2147483647. These ranges should be more than enough.
The next variable types I'm going to add with the new VAT system are probably going to be "pictures" and strings.
EDIT: I've come up with an idea, which I think is pretty awesome. I'm going to allow MLC programs to manipulate the VATs in all sorts of awesome ways, to allow the VAT to act as an array, and to allow pseudo-pointers and all sorts of crazy stuff (there will be normal arrays and regular pointers to be backwards-compatible with MLC 86). Here's some pseudo-code to demonstrate what I mean (kind of a combination of C and MLC and a made-up language ):
%int=534 // First VAT item
%int2=745 // Second VAT item
IntVatItem(1).name="int2" // Change first VAT item's name to int2
IntVatItem(2).name="int" // Change first VAT item's name to int
%int3=55555; // Make third VAT item
// Time to use the VAT as an array
for(%a=0;%a<3;%a++){
IntVatItem(%a).value=%a
if(IntVatItem(%a).name="int2"){
display("Name is int2")
}
}