LINUX.ORG.RU

Numbat 1.16.0 — консольный научный калькулятор

 numbat, , , ,

Numbat 1.16.0 — консольный научный калькулятор

1

3

После месяца разработки состоялся выпуск 1.16.0 высокоточного консольного научного калькулятора Numbat, написанного на языке Rust и распространяемого по лицензии MIT и/или Apache 2.0.

Отличительные особенности Numbat:

  • полная поддержка физических размерностей и единиц измерения;
  • простой встроенный язык со статической типизацией;
  • автодополнение имён функций, единиц измерения и переменных;
  • поиск по истории ввода;
  • и многое другое.

Список изменений:

  • в README.md поставляемого расширения для VS Code добавлено руководство по установке;
  • добавлены недостающие единицы измерения объёмов кухонных ложек в метрических единицах измерения;
  • исправлено сообщение об ошибке во встроенной функции сохранения истории ввода save;
  • упрощена возможность написания пользовательских форматеров.

>>> Документация

>>> Описание синтаксиса

>>> Список команд и сочетаний клавиш

>>> Таблица сравнения с другими научными калькуляторами и языками программирования

>>> Список изменений версии 1.16.0 на GitHub

★★★★★

Проверено: CrX ()
Последнее исправление: dataman (всего исправлений: 3)

Удобная штука, о которой я не знал. Спасибо. Поставил, буду использовать.

CrX ★★★★★
()

Какая нужная в быту вещица!..

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

Тоже норм. Но мне нравится, как Numbat с единицами измерения работает. Очень удобно получается. https://0x0.st/88kF.png

CrX ★★★★★
()

Прикольно! Оказывается не только SpeedCrunch умеет с разными единицами работать. А есть что-нибудь похожее на Android (желательно свободное)?

Только вот sin(pi) = 1.22465e-16 по версии Numbat (web) разочаровал

Klymedy ★★★★★
()

Хм. Штука классная, но жаль, что с rust приходит и mit. Жипиель правильнее, безопаснее. Всё больше софта приходит на нём. А с тех пор как мелкомягкие начали продвигать mit вдвойне опасно. Ведь неспроста они это делают.

R_He_Po6oT ★★★★★
()

добавлены недостающие объёмы кухонных ложек в метрических единицах измерения;

А в футбольных полях оно измерять может?

gruy ★★★★★
()

Погодите, а как без матриц и векторов?

Почитал сравнение и... Не увидел сравнения с Октавой, например. Это они специально?

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

Нет, но может конвертировать в Эмпайр Стейт Билдинги.

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

Название какое-то отстойное.

Логичное, потому что автор написал numbat после своей же утилиты bat.

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

А так 0.0000000000000001224646799147353207173764029458396604625692124677580063796256126806838437914848327637

Хотя тот же SpeedCrunch выдает ровный 0, даже если поставить там явным образом точность 50 цифр.

Еще интересно, что они оба количество информации трактуют как отдельную размерность. С одной стороны удобно что можно например перевести из мегабитов в кибибайты не задумываясь, но фундаментально как будто бы не совсем правильно, потому что так их нельзя например использовать в качестве аргумента для экспоненты.

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

А в футбольных полях оно измерять может?

Да.

>>> 10 km² → footballfield

  10 × kilometre² ➞ footballfield

    = 1400.56 footballfield    [Area]
CrX ★★★★★
()
Ответ на: комментарий от thegoldone

А по-моему отличное название. Начинается как number, и есть такой зверёк. При этом хорошо и коротко звучит, легко запомнить.

CrX ★★★★★
()

Попробовал веб-версию на андроиде (и из firefox, и из chrome), но пользоваться невозможно: почему-то нажатие пробела оно воспринимает как enter, не дает дописать выражение даже

Klymedy ★★★★★
()

полная поддержка физических размерностей и единиц измерения

Великолепно!

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

Для однозначности. Можно, конечно, сказать, что с плюсом типа и так очевидно, но в в более сложных случаях может быть полезно и позволит избежать ошибки:

>>> 3 ÷ 3/2

  (3 / 3) / 2

    = 0.5

Или если там какое-то длинное выражение с кучей констант, тоже может нагляднее быть так.

CrX ★★★★★
()
Ответ на: комментарий от KOHb-TPOJIJIbJIEP

Продвинутее и в плане функций и констант, да и по синтаксису. Но основным отличием я бы всё же назвал то, как он работает с единицами измерения. Может приводить одни к другим, выдавать ошибку, если напутал с чем-то (складываешь метры с граммами и хочешь получить вечность, или ещё чего-то такое) и т.д. см. примеры выше.

Из просто приятных, но не необходимых штук — более либерален к тому, как писать. Например, это одно и то же: 10^3, 10**3, 10³. Ну и с m^2 и и всем таким подобным аналогично. pi == π

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 2)
Ответ на: комментарий от CrX

Для однозначности.

Для этого с древнегреческих времён в школе учат порядок операций ©.

В некоторых калькуляторах «математические еретики» допускают «сильное» и «слабое» группирование:
1 / 2 * 3 >>> (1 / 2) * 3 или 1 / (2 * 3), но только для операций одного уровня и это устанавливается в общих настройках вычислений.

Вот до чего ИИ доводит: калькуляторы, которые считают себя умнее человеков :)

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

Вот до чего ИИ доводит

До того, что люди уже не читают дальше двух первых слов в сообщении? Ну да, может и ИИ виноват.

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

но в в более сложных случаях может быть полезно и позволит избежать ошибки

3 числа – это сложный случай?
И где гарантия что в сложных случаях калькулятор правильно расставит скобки вместо меня?

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

А есть что-нибудь похожее на Android (желательно свободное)?

В Termux:

~ $ pkg install qalc

~ $ qalc sin pi

sin(pi radians) = 0

dataman ★★★★★
() автор топика
Ответ на: комментарий от KOHb-TPOJIJIbJIEP

чем лучше bc(1)?

Судя по скриншотам, возведение в степень и тригонометрия не через задницу.

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

3 числа – это сложный случай?

Сложный случай — это когда вместо двух слов теперь читается полтора предложения без попыток понять написанное.

На всякий случай: нет, 3 числа — это не сложный случай. Но это не значит, что сложных случаев не бывает.

И где гарантия что в сложных случаях калькулятор правильно расставит скобки вместо меня?

Он их не расставляет «вместо тебя», он просто их показывает эксплицитно там, где они имплицитно подразумеваются (путём задания приоритета операций). Этот показ, кстати, можно вообще отключить, если он мешает.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 2)
Ответ на: комментарий от CrX

Он их не расставляет «вместо тебя», он просто их показывает

Я в магазине тоже могу показать 1₽ вместо заплатить 1₽, но кассирша не поймёт :)

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

А зачем он добавляет «нинужные» скобки: 2+3/1.5 >>> 2 + (3 / 1.5) ?

Не будет добавлять, если выполнить

$ numbat --generate-config

и в ~/.config/numbat/config.toml изменить

pretty-print = "auto"

на

pretty-print = "never"
dataman ★★★★★
() автор топика
Ответ на: комментарий от dataman

Не будет добавлять, если выполнить

А по умолчанию лучше наоборот: будет добавлять, если выполнить.
И всё равно для гарантии сложных случаев придётся проверять сильно/слабую группировку скобками вручную.

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

Это-то тут к чему?..

К абсурдности показа лишних скобок, замусоривающих общепринятые математические правила.

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

Абсурдного в правиле «явное лучше неявного» ничего нет. Но если такие сильные эмоции вызывает — отключи.

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

Абсурдного в правиле «явное лучше неявного» ничего нет.

В реальной жизни человеки предпочитают экономные неявные правила, за исключением юристов и «бурбакистов».

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

Начинается как number, и есть такой зверёк. При этом хорошо и коротко звучит, легко запомнить.

Отечественный аналог будет называться π-сец. Начинается как число, и при этом зверёк.

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

В реальной жизни человеки предпочитают экономные неявные правила, за исключением юристов и «бурбакистов».

Это неправда. Точнее как минимум не всегда. Очень во многих случаях человеки как раз предпочитают избыточность признаков даже там, где одного было бы достаточно. Это проявляется везде, от грамматики естественных языков до наличия подсветки синтаксиса в редакторах кода. И даже число, например, 0.25 большинство людей пишет именно так, а не .25, хотя так тоже допустимо и иногда встречается.

Там, где важно избежать ошибок, избыточность, как минимум в случае с «неявным» скорее полезна, чем вредна.

Писать эти скобки тебя никто не заставляет. Этот вывод сделан для того, чтобы ты убедился, что всё было введено и «воспринято» верно, как и предполагалось. Если есть зашкаливающая уверенность в себе — ну так отключи этот вывод, есть же специальная опция.

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

Отечественный аналог будет называться π-сец. Начинается как число, и при этом зверёк.

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

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

Но так уж вышло, что другие ассоциации уже есть :)

... как будто это что-то плохое!

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

Там, где важно избежать ошибок, избыточность, как минимум в случае с «неявным» скорее полезна, чем вредна.

Избыточность может порождать новые ошибки, например, модное и почти повсеместное автоматическое «исправление» слов/букв. Отключить можно, но лишние перенастройки надоедают.

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

например, модное и почти повсеместное автоматическое «исправление» слов/букв. Отключить можно, но лишние перенастройки надоедают.

Это не избыточность, это именно изменение введённого пользователем. Это программа, считающая, что она умнее юзера. Тоже, конечно, можно любить или не любить, но в любом случае это про другое.

Избыточность, если уж говорить о словах и буквах, да о тексте — это, например, большая буква в начале предложения. И так же понятно, что новое предложение началось, потому что точка стоит. Но большая буква показывает это дополнительно, облегчая чтение. Согласование слов по родам, числам и падежам — тоже избыточность (некоторые языки от этого отказались полностью или частично, да, но там свои фишки, с порядком слов в том числе).

P.S. Не сталкивался с необходимостью повсеместно отключать какое-то исправление, кстати. Наверное, актуально в основном для мобил? Потому что на десктопе даже не припомню, где бы такое было по умолчанию.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от CrX

например, большая буква в начале предложения

Ну, и как написать, например, uTorrent в начале предложения без лишних телодвижений?

quickquest ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.