Арифметика комплексных чисел в Tcl?

Есть ли эквивалент команды expr , которая работает для комплексных чисел (представленных списков из двух чисел двойной точности)?

Эта библиотека предоставляет функции для арифметики комплексных чисел, и this кажется полезной утилитой для определения необходимой функции cexpr , но она работает плохо.

Например. он не обрабатывает скобки должным образом.

ParseExpressions::ParseExpr { (1) + ((2) + (3)) } { }

возвращает

+ [+ 1 ((2)] (3))

, тогда как он должен возвращать

+ [+ 1 2] 3

Также ParseExpressions :: ParseExpr {{1 2} + {3 4}} {}

возвращает

+ 1 2 3 4

, тогда как он должен возвращать

+ {1 2} {3 4}

Так что в основном я прошу надежную версию этой утилиты.

33
задан Vahagn 1 February 2012 в 14:38
поделиться