Still for TeX and al., the computation is done with tetras (32 bits),
and one of the variable thing to set is the C name for this tetra 
(the identifier "integer" is used and is defined afterwards in the C 
code).

"long" is guaranteed to be at least 32 bits by C89. So this could do, 
but could be a little overkill:

1) If a compiler set on a 32 bits machine, "long" to be 64 bits? (I
haven't looked at the sources, but I guess it is not the case for ken-cc
suite).

2) On a 64 bits (since Charles Forsyth has done work for amd64 at least
on ken-cc, this exists), I imagine "long" is an octa (64 bits).

64 bits seems to me a bit wastefull since this won't increase TeX
precision, but will take more space. The only "plus", on 64 bits, is
that this is---I guess---the "word", the natural size, so it should be 
more efficient for access.

Furthermore, in the memory_word data structure, the integer ("at
least" tetra) comes along with a glueratio (that is not a crucial
value) that should be the same size for more efficient access. IEEE
single precision is C float, and is a tetra too so does the trick on 32
bits architectures.

If "integer" is an octa (64 bits), glueratio should be a "double".

So the questions:

1) Is there any rule, at least for ken-cc, identifying C "int" with the
machine "word"? (It seems natural, but nothing is mandatory.)

2) Are tetra only _data_ programs---I don't speak about the
instructions that can be 64 bits: I speak about the data structures---
as efficient as 64 bits ones on 64 bits architectures?

/* shame */ I have only ia32 machines---and single core... and I haven't
wandered in the sources either...
-- 
Thierry Laronde (Alceste) <tlaronde +AT+ polynum +dot+ com>
                 http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C

Reply via email to