James Knott wrote:
norseman wrote:
James Knott wrote:
...(snip)
That doesn't explain why it works in 64 bit, but not 32 bit systems.
===============
The last line about working in 64bit but not 32 brings to mind
something I ran into awhile back.
...(snip)
It effectively puts both flavors into the same units of measure.
I ran into that sort of problem, when I was taking a C programming
course. We used Borland's Turbo C++ for DOS in class, but I was using
Borland C++ for OS/2 at home. Since OS/2 was 32 bits and DOS was 16, I
ran into problems with variable sizes, in that my code would work fine
at home, but fail in class due to variable overflow. Regardless, I
can't change the PDF extension
==============
I wasn't expecting any of the users to re-write the PDF extension. It
was aimed at the authors. And now they have two of us that have had to
deal with compiler/hardware issues basically saying the same thing.
Which is: Different architectures probably require different code and
most certainly do require independent testing.
It will be interesting if SUN takes the hint.
As time and development proceed it might be time to start changing some
definitions.
To wit:
Integers (defaulting to unsigned. forget small)
I1, I2, I4, I8, I16, etc
Floats (All manor of)
F4, F8, F10, F16, etc (F10 is the tenbyte used in many chips)
Characters (Char2 being UniCode)
Char1, Char2, (leave room for ET's needs :)
Byte Order
Prefix with i for Intel and n for Normal order.
If it helps, think of the "Little Man Syndrome". Small with big ego.
Address wise, Intel (small machine), ends with the biggest byte. Thus:
ego is end goes oversize. (Ends big, BigEnding) Normal is normal to
Western numerical systems. Address wise, starts with biggest number and
ends with the smallest. (Ends small, LittleEnding)
Compilers understanding this syntax automatically produce size and/or
byte-order adjusting code.
(ex. iI4 = nI4 will convert Web order to intel
and iF8 * nF16 will produce appropriate machine instructions
to process a 16 byte float output, with the
Size and Byte order to be per receiving label.
Intermediate values defaulting to larger type.
for non-programmers:
iF4 small_counter = 900000.0
sets variable small_counter to type iF4 and assigns value shown.
F4 is a float of size 4 bytes on disk having 6 significant digits.
so: small_counter = 900000.1
print small_counter
outputs A) 900000.0 or
B) OVERFLOW
The rest I leave to the books.
)
Steve
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]