43 (obj.real(), obj.real(val))
44 (obj.imag(), obj.imag(val)))
52 namespace qi = ::boost::spirit::qi;
53 namespace ascii = ::boost::spirit::ascii;
61 template<
typename Iterator>
66 namespace phx = boost::phoenix;
76 using boost::spirit::lexeme;
77 using boost::spirit::as_string;
78 using boost::spirit::ascii::no_case;
80 number_string_.name(
"number_");
86 integer_string_.name(
"integer_string_");
87 integer_string_ = eps[_val = std::string()] >>
88 -(qi::lit(
'-'))[_val +=
"-"] >>
89 number_with_no_point_ [_val += _1]
90 >> -exponent_notation_ [_val += _1];
93 long_number_string_.name(
"long_number_string_");
94 long_number_string_ = eps[_val = std::string()] >>
95 -(qi::lit(
'-'))[_val +=
"-"] >>
98 (number_with_digits_after_point_ [_val += _1]
100 number_with_digits_before_point_ [_val += _1] )
102 -exponent_notation_ [_val+=_1]
107 number_with_digits_after_point_.name(
"number_with_digits_after_point_");
108 number_with_digits_after_point_ = eps[_val = std::string()]
110 *(qi::char_(L
'0',L
'9')[_val += _1])
112 qi::lit(
'.')[_val +=
"."]
114 +(qi::char_(L
'0',L
'9')[_val += _1])
121 number_with_digits_before_point_.name(
"number_with_digits_before_point_");
122 number_with_digits_before_point_ = eps[_val = std::string()]
124 +(qi::char_(L
'0',L
'9')[_val += _1])
126 qi::lit(
'.')[_val +=
"."]
128 *(qi::char_(L
'0',L
'9')[_val += _1])
132 number_with_no_point_.name(
"number_with_no_point_");
133 number_with_no_point_ = eps[_val = std::string()]
135 (-(qi::lit(
'-')[_val +=
"-"])
137 +(qi::char_(L
'0',L
'9'))[_val += _1])
143 exponent_notation_.name(
"exponent_notation_");
144 exponent_notation_ = eps[_val = std::string()]
147 qi::lit(
'e')[_val +=
"e"]
149 qi::lit(
'E')[_val +=
"e"]
152 -(qi::lit(
'-')[_val +=
"-"])
154 +(qi::char_(L
'0',L
'9')[_val += _1])
157 rational.name(
"long_rational");
161 (number_string_ >> char_(
'/') >> number_string_));
168 qi::rule<Iterator, std::string()> number_string_, integer_string_, long_number_string_, number_with_digits_before_point_,
169 number_with_digits_after_point_, number_with_no_point_, exponent_notation_, rational;
bmp::number< mpc_complex_backend< 0 >, bmp::et_on > complex_mp
The arbitrary-precision complex number type.
Definition mpfr_complex.hpp:58
BOOST_FUSION_ADAPT_ADT(bertini::complex_mp,(obj.real(), obj.real(val))(obj.imag(), obj.imag(val))) namespace bertini
Definition number_rules.hpp:41