[PD] Some more float weirdness/fun
lemonzi42 at gmail.com
Fri Mar 9 19:18:01 CET 2012
It's well-known that floats can't be treated the same way as integers...
but since PD is aimed at non-engineers and non-scientists I think it would
be a good idea to implement the "good" comparison algorithms (i.e. checking
against a threshold, etc) inside [==] and so, just to make patching easier.
Maybe it's already supposed to behave this way...
As for the loss of integer precision issue, an object that detects
"integer overflow" (that is, when all integer digits of the number cannot
be represented) could be created, taking into account the floating point
precision (32-bit, 64-bit...) and so.
2012/3/9 Mathieu Bouchard <matju at artengine.ca>
> Le 2012-03-09 à 09:39:00, Charles Henry a écrit :
>> Martin a écrit :
>> For any floatX unless X is infinity the number of floats that are not
>>> exactly represented is always infinite.
> For a floatX format where X is the number of bits, every float is exact
> and there are at most pow(2,X) floats.
> You mean that there are an infinity of numbers that round to a finite
> number of floats.
> There is a countably infinite number of rational numbers and a
>> uncountably infinite number of irrational numbers that cannot be
> From a constructivist point of view, there's a countably infinite number
> of irrationals that can be represented at all no matter how. For a certain
> ontology useful to constructivism, it can be said that the uncountably many
> irrationals that are inexpressible also don't exist.
> This leaves you with countably many rational numbers and countably many
> irrationals, that can't be represented in a finite format.
> We could also debate over whether infinity is exactly represented.
>> When some math operation overflows (exceeds the range of floats), the
>> result assigned is inf.
> Every float represents a range of numbers. The difference with infinities
> is that they represent half-intervals, that is, a line bounded only on one
> That's not the definition of infinity either: Take the set of real
>> numbers R and the ordering operation <, then add an additional point
>> "infinity" such that for any x belonging to R, x < infinity.
> You should know that there are several competing definitions of infinity
> for real numbers (not considering other number systems in which this
> definition doesn't work).
> There are three definitions of Real numbers (R) in common use : one
> without any infinite number, one with two infinite numbers as endpoints,
> and one with a single infinite number without a sign. There are different
> motivations for the use of each of those three sets. There's no definition
> that fits all purposes, though the one without infinite numbers at all is
> considered generally «cleaner» in the field of pure math.
> So, the inf in the float definition only represents "infinity" defined
>> relative to the finitely countable set of numbers that can be represented
>> as floats
> Yes, except NaN.
> You'll also find out that certain definitions of infinity that applies to
> the whole set of Reals also are relative to just that set, and don't work
> as-is for all possible extensions of Reals ; for example, Complex numbers
> don't have a single coherent definition of less-than and greater-than
> anymore, because all you can do is extract features of Complex numbers and
> compare those features as Reals... thus you need more specific definitions
> (and there are more possibilities of them).
> not the actual infinity as represented in your head :)
> How do you know what's in people's heads ?
> | Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management ->
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Pd-list