Color + Alpha is killing me.... (Language Help)

by Jim ⌂ @, Russell, KY, Monday, February 04, 2013, 18:23 (1510 days ago) @ UglyMike

I have been looking at this for several hours. The problem is that BASIC256 has two types of numeric operations for the operators =-/*\%^. If both are integer "Signed: From −2,147,483,648 to 2,147,483,647, from −(2^31) to 2^31 − 1" (http://en.wikipedia.org/wiki/Integer_%28computer_science%29) math is done with the result being a signed integer in the same range. This was done for speed but it is causing problems when working with large integer products (like ARGB).

All values stored in variables are converted to 8 byte floating point values with the range +/- 1.7e +/- 308 with ~15 digits of precision. The program runtime stack can handle both data types and converts from one type to another as needed.

This is why it does not make any sense. I need to experiment with re-writing the math to always work with floating point numbers (a bit slower but it will make life consistent).

May take a few days. Hopefully one of the last big changes to make as we move to 1.0 and I get seriously working on a second edition of my book. :)


Complete thread:

 RSS Feed of thread

powered by my little forum