Модифицированный Calc (original by Cail Lomecb), версия 3.22

Здесь можно обсудить ваш любимый плагин.
User avatar
uncle-vunkis
Posts: 72
Joined: Thu 11 Jun, 2009 15:16
Been thanked: 1 time

Модифицированный Calc (original by Cail Lomecb), версия 3.22

Post by uncle-vunkis »

В этой ветке ведётся обсуждение модифицированного плагина Калькулятор (первоначальный автор Игорь Русских aka Cail Lomecb).

Последняя версия - v3.22 (05.11.2012) (Анонс)

Скачать.

Просьба писать в эту ветку свои замечания и предложения.
Некоторое время я буду следить за этой веткой для обратной связи и поддержки.
Last edited by uncle-vunkis on Tue 06 Nov, 2012 22:12, edited 6 times in total.

Zueuk
Posts: 1
Joined: Fri 12 Apr, 2013 17:00

Re: Модифицированный Calc (original by Cail Lomecb), версия

Post by Zueuk »

Latest post of the previous page:

Господа, а как я могу сделать чтобы при вызове калькулятора у меня открывался калькулятор, а не выбор всяких преобразований единиц?
digi wrote:А можно сделать разделитель HEX и BIN значений ? Например HEX и BIN поле делить пробелами через каждые 4 символа. А то очень не хватает.
Кстати +1

IgorZ
Posts: 691
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 63 times

Re: Модифицированный Calc (original by Cail Lomecb), версия

Post by IgorZ »

Zueuk wrote:Господа, а как я могу сделать чтобы при вызове калькулятора у меня открывался калькулятор, а не выбор всяких преобразований единиц?
Можно мягкий способ: в код макроса вызова вписать
  1. Plugin.Menu("894EAABB-C57F-4549-95FC-4AC6F3102A36")
  2. if Menu.Select("кальк",1) or Menu.Select("calc",1) then Keys("Enter") end
Можно радикально - удалить папку units со всем содержимым. Но тогда преобразования единиц станут совсем недоступны. А первый способ сохраняет такую возможность.

ccaid
Posts: 849
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 17 times
Been thanked: 5 times

Re: Модифицированный Calc (original by Cail Lomecb), версия

Post by ccaid »

математическая библиотека, использованная в калькуляторе, полагает, что у отрицательных чисел — отрицательная дробная часть. все бы ничего, но функция round(), реализованная в calcset.csr, уверена, что у отрицательных чисел — положительная дробная часть. поэтому round(-2.99) == -2
(почему бы не использовать реализацию round() попроще: floor(x+0.5) )

кроме того, я думаю, что Карфаген было бы хорошо, если бы плагин можно было вызывать из области Dialog
Фар делают добрые люди

User avatar
HaRT
Moderator
Posts: 9473
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 107 times
Been thanked: 225 times

Re: Модифицированный Calc (original by Cail Lomecb), версия

Post by HaRT »

ccaid wrote:поэтому round(-2.99) == -2
(почему бы не использовать реализацию round() попроще: floor(x+0.5) )
Обращаю внимание, что тут есть тонкости.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
uncle-vunkis
Posts: 72
Joined: Thu 11 Jun, 2009 15:16
Been thanked: 1 time

Re: Модифицированный Calc (original by Cail Lomecb), версия

Post by uncle-vunkis »

ccaid wrote:round(-2.99) == -2 (почему бы не использовать реализацию round() попроще: floor(x+0.5) )
Похоже, вы правы: текущая реализация округления не согласуется ни с одним из наиболее часто используемых вариантов (приведенных по ссылке HaRT'а: round down, round up, round towards zero, round away from zero, round to nearest). Не знаю, какова была задумка первоначального автора этого плагина, но функция round(), по идее, должна работать как "round to nearest" (т.е. как floor(x+0.5)), поскольку другие основные методы округления уже выполняют функции floor() и ceil().

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

Поэтому прошу высказаться всех пользователей, использующих текущую реализацию round(), особенно если имеются серьёзные аргументы за или против её изменения.
ccaid wrote:было бы хорошо, если бы плагин можно было вызывать из области Dialog
Постараемся.

ccaid
Posts: 849
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 17 times
Been thanked: 5 times

Re: Модифицированный Calc (original by Cail Lomecb), версия

Post by ccaid »

uncle-vunkis
тогда я тоже приведу ссылку, чтобы было понятнее мое первое сообщение: http://ru.wikipedia.org/wiki/Целая_часть
итак, есть неоднозначность определения целой части и, как следствие, дробной. библиотечная функция _frac использует одно определение, а функция round, основанная на _frac, предполагает, что _frac использует другое определение. налицо грубая ошибка, не имеющая срока давности.
если на каком-то этапе развития калькулятора происходила смена библиотеки мат. функций, то тогда и могла возникнуть ошибка. а может быть она была всегда, по невнимательности.
Фар делают добрые люди

User avatar
SlashNet
Posts: 600
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 6 times
Been thanked: 4 times

Re: Модифицированный Calc (original by Cail Lomecb), версия

Post by SlashNet »

Нашёл ещё в старой версии плагина (3.20; Far 2.1.1807 x86), но повторяется и на последнем (3.23; Far 3.0.3523 x86)

Code: Select all

expr:9823.66-9694.06-(586.59-456.99)
type:big number
 (•) dec: -2.145333500712820465303866059e-247
, а правильный результат - нолик (так как 129,6-129,6=0).
На этом выражении и ёксель 2003 спотыкается немного.
ədиw wo⊥є ʚ o⊥ʎнdəʚədəu əɔʚ

User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 4 times

Re: Модифицированный Calc (original by Cail Lomecb), версия

Post by Skirda »

SlashNet wrote:На этом выражении и ёксель 2003 спотыкается немного.
2010-й ёксель тоже тупит :-)
We are the Borg. You will be assimilated.
So Say We All!

Yegor
Posts: 1081
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 14 times
Been thanked: 25 times

Re: Модифицированный Calc (original by Cail Lomecb), версия

Post by Yegor »

А почему вы решили, что там должен быть нолик? :)
Как по мне 10 в минус 247 степени очень даже ноль :)
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин

User avatar
HaRT
Moderator
Posts: 9473
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 107 times
Been thanked: 225 times

Re: Модифицированный Calc (original by Cail Lomecb), версия

Post by HaRT »

Yegor wrote:по мне 10 в минус 247 степени очень даже ноль :)
:beer:
«What every computer scientist should know about floating-point arithmetic» by David Goldberg.
ACM Computing Surveys (CSUR) Volume 23 Issue 1, March 1991. Pages 5-48.
Reprint by Sun Microsystems
Фар есть инструмент, а не нянька. © 2009 DrKnS

ccaid
Posts: 849
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 17 times
Been thanked: 5 times

Re: Модифицированный Calc (original by Cail Lomecb), версия

Post by ccaid »

обнаружена прореха в матрице 8)
проблема воспроизводится в другом калькуляторе и в Луа, со своими вариантами ответа
Фар делают добрые люди

User avatar
LanKing
Posts: 180
Joined: Thu 31 Aug, 2006 20:39

Модифицированный Calc (original by Cail Lomecb), версия 3.22

Post by LanKing »

А почему собственно в редакторе недоступны конвертеры, а в шелле доступны?

User avatar
SlashNet
Posts: 600
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 6 times
Been thanked: 4 times

Модифицированный Calc (original by Cail Lomecb), версия 3.22

Post by SlashNet »

Да поможет вам F2.
ədиw wo⊥є ʚ o⊥ʎнdəʚədəu əɔʚ


dikeyfd
Posts: 3
Joined: Sun 20 May, 2012 16:08

Модифицированный Calc (original by Cail Lomecb), версия 3.22

Post by dikeyfd »

Есть идея для калькулятора (подсмотрено в PmaCalc)
Выпадающая история - это удобно.

Но было бы интересно сделать историю чуть выше окна выражений. Тогда бы цены не было.
Все что вычислял - перед носом. Иногда нужно видеть предыдущие вычисления...

User avatar
John Doe
Бюрократ
Posts: 12831
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 290 times

Модифицированный Calc (original by Cail Lomecb), версия 3.22

Post by John Doe »

dikeyfd wrote: историю чуть выше окна выражений
А вот мне интересна не просто история, а редактируемая цепочка вычислений (в случае если в последующем выражении используется результат предыдущего).

Post Reply

Return to “Обсуждение плагинов”