Skip to content
  • 卜部昌平's avatar
    ffd9a7ea
    pack.c: cast from double to float can be undefined · ffd9a7ea
    卜部昌平 authored
    Generally speaking, a value of double is not always representable
    when demoted to a float. ISO C defines what to do when such
    conversion loses precision, but leaves it undefined when the
    value is completely out of range. (cf: ISO/IEC 9899:1990 section
    6.2.1.4).
    
    Because ruby do not have half-precision floating-point types this
    is not a frequent headache but for pack / unpack, there are
    specifiers that has something to do with C float types.  We have
    to explicitly care these situations.
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    ffd9a7ea
    pack.c: cast from double to float can be undefined
    卜部昌平 authored
    Generally speaking, a value of double is not always representable
    when demoted to a float. ISO C defines what to do when such
    conversion loses precision, but leaves it undefined when the
    value is completely out of range. (cf: ISO/IEC 9899:1990 section
    6.2.1.4).
    
    Because ruby do not have half-precision floating-point types this
    is not a frequent headache but for pack / unpack, there are
    specifiers that has something to do with C float types.  We have
    to explicitly care these situations.
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Loading