LINUX.ORG.RU
решено  

[ненависть] C++


0

1

Господа, посоветуйте, как отучить компилятор понимать выражение

cln::cl_F x;

3/8*x
как
cln::cl_F x;

(3/8)*x = 0*x = 0
?

Переписывать код как

cln::cl_F x;

x*(3/8)
дюже неохота -- его порядка 1000 строк

Вообще что это: выкрутасы компилятора или непродуманный синтаксис языка (shift/reduce conflict)? Класс, с которым такое происходит -- cln::cl_F -- взят из библиотеки cln (Class Library for Numbers)


[#] Ответ на: комментарий от annoynimous 05.11.2010 15:40:36  

Ах да, милости просим реализовать "правильную" систему чисел неограниченной точности. В пожеланиях также вычисление спецфункций и операции линейной алгебры, алгоритмы интегирование и многое другое. Чтобы было эффективно, правильно, векторизовалось и не проводило 99% времени в аллокации/деаллокации. Научное сообщество будет очень благодарно.

***** ()
[#] Ответ на: комментарий от annoynimous 05.11.2010 2:48:09  

>Блин, не хочу переписывать кучу кода.

man sed

*** ()