LINUX.ORG.RU

Посоветуйте консольный калькулятор


0

0

Здравствуйте.
Посоветуйте консольный калькулятор. Надо немного -- всего лишь чтоб он правильно округлял вывод.
А то:
$ bc
scale=2; 0.9999/1;
.99

$ dc
2 k 0.9999 1 / p
.99

Куда это годиться??? Должно быть 1!
Ну, не maxima же использовать для простых арифметических расчётов!

Желательно ещё чтобы точность счёта была выше точности вывода. Т.е. скажем при точности вывод 2 знака:
0.998/1 должно быть равно 1.00, но 0.998/1 - 0.004 уже 0.99.

★★★★★
Ответ на: комментарий от unDEFER

Кстати, мне определённо нравится эта вещь:
Попробуйте с момощью maxima или octave сосчитать 10^(10^6): первый говорит INF, второй -- ошибка.
А calc не берёт! Он хоть и затратил на это около минуты времени, но вывел мне единицу с миллионом нулей!
Он умеет работать действительно с большими числами!

Ну, а насчёт конкретно этой возможности:
$ calc
; config("display", 2)
20
; 0.998/1
~1.00
; 0.998/1 - 0.004
~0.99

unDEFER ★★★★★
() автор топика
Ответ на: комментарий от ero-sennin

> а maxima выдаёт единицу с миллионом нулей
Хм.. А у меня говорит:

Maxima encountered a Lisp error:

overflow during multiplication of large numbers

Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.

Другой Lisp?
А 10^(10^7) у тебя выводит?

unDEFER ★★★★★
() автор топика
Ответ на: комментарий от unDEFER

У меня maxima-5.10.0, gcl-2.6.7. Но 10^(10^7) maxima вывести таки обламывается. :) А сalc пыхтел около получаса, но осилил. 10^(10^8) я ему скормить не рискнул. :D

ero-sennin ★★
()

> ...Надо немного -- всего лишь чтоб он правильно округлял вывод.

Вдруг интересно стало, а _зачем_ такое надо? Вроде, округлить окончательный ответ в уме никаких проблем не составляет, даже для дауна...

Die-Hard ★★★★★
()
Ответ на: комментарий от ero-sennin

Ну, вот я же говорю -- calc бОльшие числа умеет :-D

unDEFER ★★★★★
() автор топика
Ответ на: комментарий от Die-Hard

Тема тесно связана с:
http://www.linux.org.ru/jump-message.jsp?msgid=1581819

Надо это для автоматизации.. Я для некоторого набора исходных данных пишу скрипты, которые проделывают с ними нужные расчёты, и не хотелось бы терять в точности на выводе, а тем более подправлять эту точность вручную.

В общем я дико извращаюсь: оформляю работу по математической статистике. И совсем не хочу пользовать MathCad/Mathematica :-)

unDEFER ★★★★★
() автор топика
Ответ на: комментарий от beastie

Кажется она ближе к octave..
Но, если у octave есть консольные frontend, то у pari/gp... не знаю.

unDEFER ★★★★★
() автор топика
Ответ на: комментарий от unDEFER

> Попробуйте с момощью maxima или octave сосчитать 10^(10^6): первый говорит INF, второй -- ошибка.

> А calc не берёт! Он хоть и затратил на это около минуты времени, но вывел мне единицу с миллионом нулей!

bc тоже берёт, и выводит моментально, вообще сам вывод долгий :-(

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.