In the 2010-07-08 draft, this begins: "The Rust type float is a machine-specific type equal to one of the supported Rust floating- point machine types (f32 or f64). It is the largest floating-point type that is directly supported by hardware on the target machine [...]"
On first reading, these two statements struck me as contradictory - assuming x86 is the primary target architecture, the largest floating-point type directly supported by hardware is 80-bit extended precision. I'm assuming that the second sentence restricts "floating point types" to mean f32 and f64 only, but this seems like a shame. Loss of numeric precision with no corresponding gain is going to hurt some potential users; see for example William Kahan's classic paper, http://www.eecs.berkeley.edu/~wkahan/JAVAhurt.pdf Obviously, extended-precision support in Rust isn't going to be a priority anytime soon, but I wondered if this section could be written in a way that didn't specifically rule it out. For example: "The Rust type float is a machine-specific type. It is the largest floating-point type (supported by the compiler) that is directly supported by hardware on the target machine [...]" That would leave the door open for extended-precision (or even quad-precision some day, if and when hardware appears) without forcing it now when you have better things to do. Would anything else in the spec break if float was not guaranteed to be one of f32 or f64? cheers Mike _______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
