Sponsoring The Perl Toolchain Summit 2025: Help make this important event another success Learn more

Changes for version 0.014 - 2025-03-28

  • Removed use of Module::Build, and re-add Makefile.PL to the distribution.
  • Added a security policy.
  • Updated maintainer information.
  • version 0.013; 2017-07-29
    • no longer include a Makefile.PL in the distribution
    • in documentation, use four-column indentation for all verbatim material
    • in META.{yml,json}, point to public bug tracker
  • version 0.012; 2012-02-04
    • include META.json in distribution
    • convert .cvsignore to .gitignore
    • add MYMETA.json to .gitignore
  • version 0.011; 2010-10-21
    • port to Perl 5.13.6, where changed behaviour of signed zeroes in Perl arithmetic broke nextdown() and nextafter() and caused false test failures for several other functions
  • version 0.010; 2010-07-26
    • use simpler "parent" pragma in place of "base"
    • in documentation, use the term "truth value" instead of the less precise "boolean"
    • check for required Perl version at runtime
    • use full stricture in test suite
    • use full stricture in Build.PL
    • in Build.PL, explicitly declare configure-time requirements
    • remove bogus "exit 0" from Build.PL
    • add MYMETA.yml to .cvsignore
  • version 0.009; 2008-04-06
    • refer to optional constants more carefully in the code, to avoid syntax problems on systems that lack infinities and NaNs
    • fix a skip count that caused false test failures on systems lacking signed zeroes
  • version 0.008; 2008-04-02
    • bugfix: in initialisation, correctly override any ambient $SIG{__DIE__}
  • version 0.007; 2007-10-02
    • close DATA filehandle when finished reading from it
    • fix some tests that were producing false failures on perl 5.6
  • version 0.006; 2007-10-01
    • bugfix: change behaviour of nextafter() when both arguments are numerically zero to that specified by IEEE 754: the second argument is returned rather than the first
    • bugfix: in hex_float(), cleanly reject non-ASCII digits in exponent
    • bugfix: in float_hex(), cleanly reject non-ASCII digits in an "EXPONENT="-type "zero_strategy" setting
    • add IEEE 754r functions nextup() and nextdown()
    • add IEEE 754r function totalorder()
    • add constant max_number
    • hex_float(): accept IEEE 754r special input strings "infinity" and "snan", in addition to the existing "inf" and "nan"
    • hex_float(): make the "0x" prefix in hexadecimal input optional
    • float_hex(): new option "hex_prefix_string" to control the "0x" prefix
    • test classification functions, examination functions, string conversion functions, and manipulation functions (all the functions that were not being tested)
    • test all functions for lack of side effects on zero arguments and purity of zero results
    • in documentation, note new standard-conforming behaviour of copysign() with a NaN second argument
    • in documentation, note that hex_float() accepts the special "0.0" form of input without a sign, as well as with one
    • in documentation, where the IEEE standard nature of functions is noted, add discussion of non-conforming behaviour on NaNs
    • in documentation, change some variable names in the synopsis for clarity
    • test POD syntax and coverage, and rename some internal functions to satisfy the coverage test
    • tweak tests on constants to avoid infinite loops if importing constant functions fails
    • build with Module::Build instead of ExtUtils::MakeMaker
    • complete dependency list
    • include signature in distribution
    • in documentation, separate "license" section from "copyright" section
  • version 0.005; 2007-01-25
    • bugfix: change behaviour of copysign() with a NaN as the second argument to that specified by IEEE 754: it is not an error but (in the context of Perl's opaque NaNs) results in copying an unpredictable sign
    • add hex_float() function to input floating point values in hexadecimal
    • add IEEE 754 function signbit()
    • float_id_cmp(): tighten specification of return values to match Perl's <=> operator (actual behaviour always matched the tighter spec, it just wasn't documented and tested)
    • in documentation, note that the string values of float arguments are ignored
    • in documentation, clarify note about implicit conversion of integer to float
    • in documentation, note that both arguments to nextafter() must be floating point values
    • in documentation, note standard nature of signbit(), copysign(), and nextafter()
    • in documentation, note float_id_cmp()'s relation to the IEEE 754r function totalorder()
    • in documentation, note that Perl does not distinguish between different NaNs
    • in documentation, give a second definition of max_integer (equivalent to the first)
    • add test for consistency of constants
    • in documentation, reference Scalar::Number
    • remove now-useless test t/use.t
  • version 0.004; 2007-01-12
    • bugfix: correct value for max_integer to 2^(significand_bits+1), and correct its description in the documentation
    • make pos_zero and neg_zero constants into non-constant functions that return fresh floating point zeroes, if running on a Perl where floating point zeroes can transmogrify into integer zeroes
    • add float_id_cmp() function for total ordering of floats
    • in documentation, more details of behaviour of zeroes
    • in documentation, discussion of interaction with native integer values
    • in documentation, note truncating behaviour of the % operator
    • in documentation, note the slightly misleading nature of the names "significand_bits" and "max_integer"
    • reference Data::Integer and perlnumber(1) in documentation
  • version 0.003; 2006-08-08
    • float_hex(): add OPTIONS parameter to control details of output formatting
    • when looking for NaNs, see whether the string "nan" qualifies
    • slight clarification to documentation of significand_step
  • version 0.002; 2006-08-03
    • bugfix: in mult_pow2(), copysign(), and nextafter(), take care to return a pristine signed zero when returning zero: they were returning zeroes that got broken (due to the Perl bug noted in the documentation) by internal arithmetic
  • version 0.001; 2006-08-01
    • add IEEE 754 functions copysign() and nextafter()
    • test sign of zero using sprintf() to avoid being confused by dualvars
    • slight expansion of initial paragraph of documentation
  • version 0.000; 2006-07-30
    • initial released version

Modules

details of the floating point data type