Subject: [mmox] data types: consensus?

From: Catherine Pfeffer <[email-masked]>
Date: Thu, 12 Feb 2009 00:12:24 +0100

Zha said:
>Ambiguity has
>no place at all in this sort of specification, the fact that questions
>about sign bits showed up today, is a hint to be careful on that.

The "obvious" solution seems to do what programming languages have now done
for decades:

integer                            32 bit
unsigned integer             32 bit
long integer                    64 bit
long unsigned integer     64 bit

float                                single
double float                    double

I know that's 6 types instead of two, but isn't there a big win in terms of
scalability, better definition of data types, and also of fine-tuning the
future standard, so that we won't use more bandwidth than necessary?

[ Names like int32, uint32, etc would be okay too. ]

[ I'm saying "float" and not "real" because, mathematically, "real" was
incorrect ]

-- 
Cathy

---

From: Jon Watte <[email-masked]>
Date: Wed, 11 Feb 2009 15:20:32 -0800

> long unsigned integer     64 bit

If we actually care about size and efficiency, wouldn't we want to 
specify number of bits, and signed-ness, on a per-field basis?
E g, if you're enumerating "cardinal directions" in 3D, then there are 
exactly 26 of those, and 5 unsigned bits ought to be enough.
If the argument is that specifying a number of bits up front would cause 
short-sighted lock-in, then wouldn't the answer to that argument would 
be to make every integer potentially 64 bits, and encoded using a 
variable-length encoding?

Sincerely,

jw

---

From: David W Levine <[email-masked]>
Date: Wed, 11 Feb 2009 21:01:36 -0500

Sigh... The obvious, of corse, is anything but, when you look at enough 
programming languages.  Python, Javascript, Ruby, and a number of other 
languages do things on the order of  "A Fixnum holds Integer values that 
can be represented in a native machine word (minus 1 bit). This 
effectively means that the maximum range of a Fixnum value depends on the 
architecture of the system on which the code is executing." The moment you 
drop a 64 bit int into a ruby integer on *many* platforms, it will end up 
in a"bignum" with the corresponding performance pain. Python does similar 
things.

I'm really not happy about saying things like "Sure we can define all six, 
but if you use the two 64 bit ones, about 1/4 of the platforms out there 
will howl in pain at the performance coast." I'd like to say,  "Well, its 
2009, 64 Bit integers are pretty common" But, are they common enough? 

- David
~ Zha

Catherine Pfeffer <[email-masked]> 
Sent by: [email-masked]
02/11/2009 06:12 PM

To
[email-masked]
cc

Subject
[mmox] data types: consensus?

>about sign bits showed up today, is a hint to be careful on that.

The "obvious" solution seems to do what programming languages have now 
done for decades:

integer                            32 bit
unsigned integer             32 bit
long integer                    64 bit

float                                single
double float                    double

I know that's 6 types instead of two, but isn't there a big win in terms 
of scalability, better definition of data types, and also of fine-tuning 
the future standard, so that we won't use more bandwidth than necessary?

-- 
Cathy_______________________________________________
mmox mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/mmox