[ 
https://issues.apache.org/jira/browse/STDCXX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Farid Zaripov updated STDCXX-51:
--------------------------------

    Attachment: num_put.diff

The proposed patch attached.

ChangeLog:
  * src/num_put.cpp (__rw_isinfnan): New function to detect inf and nan values.
  (__rw_isinf): New function to detect inf values.
  (__rw_isneginf): New function to detect negative inf values.
  (__rw_isnan): New function to detect nan values.
  (__rw_isnegnan): New function to detect negative nan values.
  (__rw_isqnan): New function to detect quiet nan values.
  (__rw_issnan): New function to detect signaling nan values.
  (__rw_fmat_infnan): New function to format inf and nan values.
  (__rw_put_num): Use __rw_isinfnan() and __rw_fmat_infnan() to format inf and 
nan values.

> infinity, NaN formatted differently on different platforms
> ----------------------------------------------------------
>
>                 Key: STDCXX-51
>                 URL: https://issues.apache.org/jira/browse/STDCXX-51
>             Project: C++ Standard Library
>          Issue Type: Improvement
>          Components: 22. Localization
>    Affects Versions: 4.1.2
>         Environment: all
>            Reporter: Martin Sebor
>            Assignee: Farid Zaripov
>            Priority: Minor
>         Attachments: num_put.diff
>
>
> The output of the program below is different depending on the operating 
> system it runs on. It should be the same (preferably like that on AIX).
> $ cat u.cpp && uname -sr && make u -r && ./u
> #include <iostream>
> #include <limits>
> int main ()
> {
>     std::cout << std::numeric_limits<double>::infinity () << '\n'
>               << std::numeric_limits<double>::quiet_NaN () << '\n'
>               << std::numeric_limits<double>::signaling_NaN () << '\n'; 
> }
> SunOS 5.9
> gcc -c -I/build/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG   -pthreads 
> -D_RWSTD_USE_CONFIG -I/build/sebor/gcc-3.4.3-15s/include 
> -I/build/sebor/dev/stdlib/include -I/build/sebor/dev/stdlib/examples/include  
> -pedantic -nostdinc++ -g  -Wall -W -Wcast-qual -Winline -Wshadow 
> -Wwrite-strings -Wno-long-long  u.cpp
> gcc u.o -o u -pthreads -L/build/sebor/gcc-3.4.3-15s/lib -lstd15s  -lsupc++ -lm
> rm u.o
> inf
> nan
> nan
> $ uname -vs && gmake u -r && ./u
> AIX 5
> xlCcore_r -c -I/build/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG    
> -D_RWSTD_USE_CONFIG -I/build/sebor/vacpp-7.0.0.3-15D/include 
> -I/build/sebor/dev/stdlib/include -I/build/sebor/dev/stdlib/examples/include  
> -g  -q64  -qtemplateregistry=u.ti   u.cpp
> xlCcore_r u.o -o u -I/build/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG    
> -D_RWSTD_USE_CONFIG -liconv -brtl   -q64 
> -I/build/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG 
> -I/build/sebor/vacpp-7.0.0.3-15D/include -I/build/sebor/dev/stdlib/include 
> -I/build/sebor/dev/stdlib/examples/include  -qtemplateregistry=u.ti 
> -L/build/sebor/vacpp-7.0.0.3-15D/lib -lstd15D   -lm
> rm u.o
> inf
> nanq
> nans

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to