Я имею проблему в преобразовании CGAL QP решательCGAL: преобразовать фактор двойной
typedef CGAL::Gmpzf ET;
...define a quadratic program qp here...
Solution s = CGAL::solve_quadratic_program(qp, ET());
assert (s.solves_quadratic_program(qp));
cout<<"QP objective = "<<s.objective_value()<<endl;
// The above returns a value of type CGAL::Quotient<ET>
// and I need to convert it to double
double n = s.objective_value_numerator().to_double();
double d = s.objective_value_denominator().to_double();
cout<<"QP objective 2 = "<<n/d<<endl;
я получил:
QP objective = -2.57497e-22/2.01459e-22
QP objective 2 = -nan
Я проверил и заметил, что n = -inf
и d = inf
.
Как правильно преобразовать котировочный код в двойное?
Благодарим вас за любые предложения!
'CGAL :: to_double (х)' http://doc.cgal.org/latest/Number_types/classCGAL_1_1Quotient.html#a4eda6b19dcdfb5a9735531d338c8f721 –
@MarcGlisse: Это ответ на мой вопрос. Пожалуйста, разместите его как ответ, чтобы я мог его принять. Большое спасибо!!! – Khue