
Joel de Guzman wrote:
Jan Boehme wrote:
Hi,
on my system (RHEL3, libc 2.3.2, gcc 3.2.3, Intel 10.1 which is used to compile and link) real_p fails to parse real numbers like 1.0E-001 and it is most likely the negative exponent as 1.0E001 works as expected. Our investigations brought us to numerics.hpp line 162 where the int parser which is used by real_p is declared as 'int_parser
' with T=double. I don't see the reason for this yet and the 'out of the box' int parser 'int_p' itself is declared using 'int_parser<int>'. Here my questions: Do I have to expect any problems using int instead double for the real_p exp_n parser? Is this a kind of a mistake as even int_p is declared using 'int'?
Please post a minimal test case. I'd venture a guess that the problem is elsewhere. We do have real_p tests with negative exponents. And all is fine, as expected. I did test your case and it works fine:
added this in numeric_tests.cpp:
BOOST_TEST(parse("1.0E-001", real_p).full); // Good.
Oh and BTW, there's a Spirit mailing list: https://lists.sourceforge.net/lists/listinfo/spirit-general Regards, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net