[Floating Point Utilities] where is the "nonfinite_num_facets.hpp"

Hi As far as I understood, the Floating Point Utilities vault contribution by Johan R°ade has been integrated in the Boost official release. I've been using the "nonfinite_num_facets.hpp" header file for a few years within old Boost versions, directly extracted from the vault ZIP file released by Johan. Now, I can use the "fpclassify.hpp" file directly from the "boost/spirit/home/support/detail/math/" directory. Unfortunately I cannot find the "nonfinite_num_facets.hpp" file. Where can I find the "nonfinite_num_put/get" template class in say Boost 1.44 ? Maybe it has not been renamed in some other file or even not accepted at all... It is very useful for making my text and xml archives protable with NaNs and infinity support. Thanks for any hint or help. frc -- François Mauger Groupe "Interactions Fondamentales et Nature du Neutrino" NEMO-3/SuperNEMO Collaboration LPC Caen-CNRS/IN2P3-UCBN-ENSICAEN Département de Physique -- Université de Caen Basse-Normandie Adresse/address: Laboratoire de Physique Corpusculaire de Caen (UMR 6534) ENSICAEN 6, Boulevard du Marechal Juin 14050 CAEN Cedex FRANCE Courriel/e-mail: mauger@lpccaen.in2p3.fr Tél./phone: 02 31 45 25 12 / (+33) 2 31 45 25 12 Fax: 02 31 45 25 49 / (+33) 2 31 45 25 49

-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of François Mauger Sent: Friday, March 25, 2011 4:37 PM To: boost-users@lists.boost.org Subject: [Boost-users] [Floating Point Utilities] where is the "nonfinite_num_facets.hpp"
Hi
As far as I understood, the Floating Point Utilities vault contribution by Johan R°ade has been integrated in the Boost official release. I've been using the "nonfinite_num_facets.hpp" header file for a few years within old Boost versions, directly extracted from the vault ZIP file released by Johan.
Now, I can use the "fpclassify.hpp" file directly from the "boost/spirit/home/support/detail/math/" directory. Unfortunately I cannot find the "nonfinite_num_facets.hpp" file.
Where can I find the "nonfinite_num_put/get" template class in say Boost 1.44 ? Maybe it has not been renamed in some other file or even not accepted at all... It is very useful for making my text and xml archives portable with NaNs and infinity support.
In the absence of a reply from someone more knowledgeable ;-) Johan's floating point utilities were reviewed and accepted http://boost.2283326.n4.nabble.com/Floating-Point-Utilities-Review-Result-td 2643080.html and the floating_point_utilities_v3.zip is still in the vault at http://www.boostpro.com/vault/index.php?&direction=0&order=&directory=Math%2 0-%20Numerics The nonfinite_num_facets.hpp file remains at https://svn.boost.org/svn/boost/sandbox/SCons/boost/spirit/home/support/deta il/math/nonfinite_num_facets.hpp but the fpclassify.hpp 'official' release is now at \boost\math\special_functions\fpclassify.hpp Perhaps it was just lack of time that meant it was not integrated into Boost.Math from Johan's release? Or should it go elsewhere (hidden in a Spirit detail doesn't sound ideal) Or is there some more sinister difficulty? That you have used it successfully, suggests not. And it sounds very useful, and others are using it too. There are some plausible tests in the vault zip, and of course there are other tests at \boost-trunk\libs\math\test\test_classify.cpp (but none for nonfinite_num_facets) and some vault docs at nonfinite_num_facets.htm (though not in Quickbook format, as used for the rest of Boost.Math) and a few rather skeletal examples (but no actual runnable example files)? Since you obviously know a lot about it, perhaps you'd like to contribute some simpler, more and fuller examples? If you can draft something out, I'm sure someone can assist getting it into final shape. Would it be sensible to move the vault facet files to sandbox, perhaps to a folder fp_facets, so collaborative working is possible? Perhaps with a view to moving into Boost.Math? Paul --- Paul A. Bristow, Prizet Farmhouse, Kendal LA8 8AB UK +44 1539 561830 07714330204 pbristow@hetp.u-net.com

Hi Paul, Thanks a lot for your comments. I have tried to write some sample program to illustrate a possible use of the 'nonfinite_num_facets.hpp' header by Johan Rade. It is attached. Hope it could help other people. As I am not aware of practise concerning such kind of contribution/sample bits, maybe you could help to copy it in some Boost contribution repository or give me the procedure to do it by myself. regards frc --
Paul A. Bristow a écrit :
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of François Mauger Sent: Friday, March 25, 2011 4:37 PM To: boost-users@lists.boost.org Subject: [Boost-users] [Floating Point Utilities] where is the "nonfinite_num_facets.hpp"
Hi
As far as I understood, the Floating Point Utilities vault contribution by
Johan
R°ade has been integrated in the Boost official release. I've been using the "nonfinite_num_facets.hpp" header file for a few years within old Boost versions, directly extracted from the vault ZIP file
released by
Johan.
Now, I can use the "fpclassify.hpp" file directly from the "boost/spirit/home/support/detail/math/" directory. Unfortunately I cannot find the "nonfinite_num_facets.hpp" file.
Where can I find the "nonfinite_num_put/get" template class in say Boost 1.44 ? Maybe it has not been renamed in some other file or even not accepted at
all...
It is very useful for making my text and xml archives portable with NaNs
and
infinity support.
In the absence of a reply from someone more knowledgeable ;-)
Johan's floating point utilities were reviewed and accepted
http://boost.2283326.n4.nabble.com/Floating-Point-Utilities-Review-Result-td 2643080.html
and the floating_point_utilities_v3.zip is still in the vault at
http://www.boostpro.com/vault/index.php?&direction=0&order=&directory=Math%2 0-%20Numerics
The nonfinite_num_facets.hpp file remains at
https://svn.boost.org/svn/boost/sandbox/SCons/boost/spirit/home/support/deta il/math/nonfinite_num_facets.hpp
but the fpclassify.hpp 'official' release is now at
\boost\math\special_functions\fpclassify.hpp
Perhaps it was just lack of time that meant it was not integrated into Boost.Math from Johan's release? Or should it go elsewhere (hidden in a Spirit detail doesn't sound ideal) Or is there some more sinister difficulty? That you have used it successfully, suggests not. And it sounds very useful, and others are using it too.
There are some plausible tests in the vault zip, and of course there are other tests at
\boost-trunk\libs\math\test\test_classify.cpp
(but none for nonfinite_num_facets)
and some vault docs at nonfinite_num_facets.htm (though not in Quickbook format, as used for the rest of Boost.Math) and a few rather skeletal examples (but no actual runnable example files)?
Since you obviously know a lot about it, perhaps you'd like to contribute some simpler, more and fuller examples?
If you can draft something out, I'm sure someone can assist getting it into final shape.
Would it be sensible to move the vault facet files to sandbox, perhaps to a folder fp_facets, so collaborative working is possible? Perhaps with a view to moving into Boost.Math?
Paul
--- Paul A. Bristow, Prizet Farmhouse, Kendal LA8 8AB UK +44 1539 561830 07714330204 pbristow@hetp.u-net.com
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- François Mauger Groupe "Interactions Fondamentales et Nature du Neutrino" NEMO-3/SuperNEMO Collaboration LPC Caen-CNRS/IN2P3-UCBN-ENSICAEN Département de Physique -- Université de Caen Basse-Normandie Adresse/address: Laboratoire de Physique Corpusculaire de Caen (UMR 6534) ENSICAEN 6, Boulevard du Marechal Juin 14050 CAEN Cedex FRANCE Courriel/e-mail: mauger@lpccaen.in2p3.fr Tél./phone: 02 31 45 25 12 / (+33) 2 31 45 25 12 Fax: 02 31 45 25 49 / (+33) 2 31 45 25 49

-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of François Mauger Sent: Saturday, April 02, 2011 6:10 PM To: boost-users@lists.boost.org Subject: Re: [Boost-users] [Floating Point Utilities] where is the "nonfinite_num_facets.hpp"
Hi François
I have tried to write some sample program to illustrate a possible use of
the
'nonfinite_num_facets.hpp' header by Johan Rade. It is attached. Hope it could help other people.
At a very quick glance it looks useful, but I will copy to the Boost sandbox and perhaps work up a bit, and do some more docs too. I'll ping you when I've done something. Paul --- Paul A. Bristow, Prizet Farmhouse, Kendal LA8 8AB UK +44 1539 561830 07714330204 pbristow@hetp.u-net.com

Paul A. Bristow a écrit :
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of François Mauger Sent: Saturday, April 02, 2011 6:10 PM To: boost-users@lists.boost.org Subject: Re: [Boost-users] [Floating Point Utilities] where is the "nonfinite_num_facets.hpp"
Hi François
I have tried to write some sample program to illustrate a possible use of
the
'nonfinite_num_facets.hpp' header by Johan Rade. It is attached. Hope it could help other people.
At a very quick glance it looks useful, but I will copy to the Boost sandbox and perhaps work up a bit, and do some more docs too. I'll ping you when I've done something.
Great Paul ! Do your best ! ;-) frc -- François Mauger Groupe "Interactions Fondamentales et Nature du Neutrino" NEMO-3/SuperNEMO Collaboration LPC Caen-CNRS/IN2P3-UCBN-ENSICAEN Département de Physique -- Université de Caen Basse-Normandie Adresse/address: Laboratoire de Physique Corpusculaire de Caen (UMR 6534) ENSICAEN 6, Boulevard du Marechal Juin 14050 CAEN Cedex FRANCE Courriel/e-mail: mauger@lpccaen.in2p3.fr Tél./phone: 02 31 45 25 12 / (+33) 2 31 45 25 12 Fax: 02 31 45 25 49 / (+33) 2 31 45 25 49

-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of François Mauger Sent: Saturday, April 02, 2011 6:10 PM To: boost-users@lists.boost.org Subject: Re: [Boost-users] [Floating Point Utilities] where is the "nonfinite_num_facets.hpp"
Hi
I've used your example to work up some simpler and more commented examples
OK.
But I've hit a linking snag with your example
------ Build started: Project: nonfinite_serialization, Configuration: Debug
Win32 ------
Creating library
J:\Cpp\fp_facet\fp_facet\Debug\nonfinite_serialization.lib and object
J:\Cpp\fp_facet\fp_facet\Debug\nonfinite_serialization.exp
nonfinite_num_facet_serialization.obj : error LNK2019: unresolved external
symbol "public: __thiscall
boost::archive::archive_exception::archive_exception(enum
boost::archive::archive_exception::exception_code,char const *,char const
*)" (??0archive_exception@archive@boost@@QAE@W4exception_code@012@PBD1@Z)
referenced in function "protected: void __thiscall
boost::archive::basic_text_oprimitive

Hi Paul,
Paul A. Bristow a écrit :
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of François Mauger Sent: Saturday, April 02, 2011 6:10 PM To: boost-users@lists.boost.org Subject: Re: [Boost-users] [Floating Point Utilities] where is the "nonfinite_num_facets.hpp"
Hi
I've used your example to work up some simpler and more commented examples OK.
But I've hit a linking snag with your example
------ Build started: Project: nonfinite_serialization, Configuration: Debug Win32 ------ Creating library J:\Cpp\fp_facet\fp_facet\Debug\nonfinite_serialization.lib and object J:\Cpp\fp_facet\fp_facet\Debug\nonfinite_serialization.exp nonfinite_num_facet_serialization.obj : error LNK2019: unresolved external symbol "public: __thiscall boost::archive::archive_exception::archive_exception(enum boost::archive::archive_exception::exception_code,char const *,char const *)" (??0archive_exception@archive@boost@@QAE@W4exception_code@012@PBD1@Z) referenced in function "protected: void __thiscall boost::archive::basic_text_oprimitive
>::save<class boost::archive::object_id_type>(class boost::archive::object_id_type const &)" (??$save@Vobject_id_type@archive@boost@@@?$basic_text_oprimitive@V?$basic_os tream@DU?$char_traits@D@std@@@std@@@archive@boost@@IAEXABVobject_id_type@12@ @Z) J:\Cpp\fp_facet\fp_facet\Debug\nonfinite_serialization.exe : fatal error LNK1120: 1 unresolved externals ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== I've never used serialization before, so I'm a bit baffled what I've done wrong here :-(
LINK : fatal error LNK1104: cannot open file 'libboost_serialization-vc100-mt-gd-1_46_1.lib'
so I built using bjam to provide this
.libboost_serialization-vc100-mt-gd-1_46_1.lib
Multi-threaded Debug DLL (/MDd) (same for static lib)
Any suggestions?
ok, it makes sense that you need the libboost_serialization DLL. Unfortunately, I'm afraid I cannot help a lot. I'm not familiar at all with your system and the error message displayed. Do you use a recent Boost release, a recent compiler ? Does a sample programs that use only the nonfinite facets stuff and no archive work ? frc -- François Mauger Groupe "Interactions Fondamentales et Nature du Neutrino" NEMO-3/SuperNEMO Collaboration LPC Caen-CNRS/IN2P3-UCBN-ENSICAEN Département de Physique -- Université de Caen Basse-Normandie Adresse/address: Laboratoire de Physique Corpusculaire de Caen (UMR 6534) ENSICAEN 6, Boulevard du Marechal Juin 14050 CAEN Cedex FRANCE Courriel/e-mail: mauger@lpccaen.in2p3.fr Tél./phone: 02 31 45 25 12 / (+33) 2 31 45 25 12 Fax: 02 31 45 25 49 / (+33) 2 31 45 25 49

-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of François Mauger Sent: Tuesday, April 05, 2011 11:23 PM To: boost-users@lists.boost.org Subject: Re: [Boost-users] [Floating Point Utilities] where is the "nonfinite_num_facets.hpp"
Hi Paul,
Paul A. Bristow a écrit :
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of François Mauger Sent: Saturday, April 02, 2011 6:10 PM To: boost-users@lists.boost.org Subject: Re: [Boost-users] [Floating Point Utilities] where is the "nonfinite_num_facets.hpp"
Hi
I've used your example to work up some simpler and more commented examples OK.
But I've hit a linking snag with your example
------ Build started: Project: nonfinite_serialization, Configuration: Debug Win32 ------ Creating library J:\Cpp\fp_facet\fp_facet\Debug\nonfinite_serialization.lib and object J:\Cpp\fp_facet\fp_facet\Debug\nonfinite_serialization.exp nonfinite_num_facet_serialization.obj : error LNK2019: unresolved external symbol "public: __thiscall boost::archive::archive_exception::archive_exception(enum boost::archive::archive_exception::exception_code,char const *,char const *)"
(??0archive_exception@archive@boost@@QAE@W4exception_code@012@P BD1@Z)
referenced in function "protected: void __thiscall boost::archive::basic_text_oprimitive
>::save<class boost::archive::object_id_type>(class boost::archive::object_id_type const &)" (??$save@Vobject_id_type@archive@boost@@@?$basic_text_oprimitive@V? $ba
sic_os
tream@DU?$char_traits@D@std@@@std@@@archive@boost@@IAEXABVob ject_id_ty
pe@12@ @Z) J:\Cpp\fp_facet\fp_facet\Debug\nonfinite_serialization.exe : fatal error LNK1120: 1 unresolved externals ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I've never used serialization before, so I'm a bit baffled what I've done wrong here :-(
LINK : fatal error LNK1104: cannot open file 'libboost_serialization-vc100-mt-gd-1_46_1.lib'
so I built using bjam to provide this
.libboost_serialization-vc100-mt-gd-1_46_1.lib
Multi-threaded Debug DLL (/MDd) (same for static lib)
ok, it makes sense that you need the libboost_serialization DLL.
Unfortunately, I'm afraid I cannot help a lot. I'm not familiar at all with your system and the error message displayed. Do you use a recent Boost release, a recent compiler ? Does a sample programs that use only the nonfinite facets stuff and no archive work ?
Yes they are all fine. It is only when I try your nice example using Boost.Archive that this problem pops up. Looks like I am missing some library which provides this boost::archive::archive_exception::archive_exception I will investigate more. Paul --- Paul A. Bristow, Prizet Farmhouse, Kendal LA8 8AB UK +44 1539 561830 07714330204 pbristow@hetp.u-net.com

-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of François Mauger Sent: Tuesday, April 05, 2011 11:23 PM To: boost-users@lists.boost.org Subject: Re: [Boost-users] [Floating Point Utilities] where is the "nonfinite_num_facets.hpp"
Unfortunately, I'm afraid I cannot help a lot. I'm not familiar at all with your system and the error message displayed. Do you use a recent Boost release, a recent compiler ? Does a sample programs that use only the nonfinite facets stuff and no archive work ?
OK, I've found the cause - MSVC produces wrong code using serialization with the option for strict compliance with C++. (I've found this on other projects - MS admit it is wrong, but it is in the 'won't fix' category!) So your example now works nicely. I've fiddled with it a bit (and correct bug in Johan's input of MSVC bizarre NAN and INF format. https://svn.boost.org/trac/boost/ticket/5467 So I'm just working up the documentation section to include examples and I hope to add to boost-trunk soon. This will also add the various tests which will then be tested on all the myriad platforms and configurations. (Cross fingers please ;-) When I've done this, I'd be grateful if you could re-test the example on Linux using boost-trunk. Paul --- Paul A. Bristow, Prizet Farmhouse, Kendal LA8 8AB UK +44 1539 561830 07714330204 pbristow@hetp.u-net.com
participants (2)
-
François Mauger
-
Paul A. Bristow