[
https://issues.apache.org/jira/browse/STDCXX-51?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12573025#action_12573025
]
Farid Zaripov commented on STDCXX-51:
-------------------------------------
I think we should use the native platform specific functions (i.e. _finite(),
_isnan(), _fpclass() for MSVC and so on) to detect the infinite and NaN values
instead of fixing the string result, produced by snprintf().
> 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
> Priority: Minor
>
> 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.