Оберон-технология: особенности и перспективы |
Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение.
Всего в теме 6256 сообщений
Добавить свое сообщение
Отслеживать это обсуждение Обсуждение из раздела Школа ОБЕРОНА
№ 2386 28-01-2007 04:05 | |
Ответ на »сообщение 2385« (info21)
___________________________
Ответ на »сообщение 2383« (Антон Григорьев)
___________________________
>>Не знаю я, как можно описать правила этой арифметики без ссылок на аппаратную реализацию FPU.
А если вот так:
"Арифметические операции для чисел типа REAL выполняются приближенно."
:))
Еще лучше так:
Все вычисления над значениями типа REAL являются приближ енными. Но некоторые вычисления приближ еннее остальных. (c) :)
Причем иногда намно-ого приближ еннее. :)
№ 2385 28-01-2007 03:19 | |
Ответ на »сообщение 2383« (Антон Григорьев)
___________________________
.. не является ли вещественная арифметика серебряной пулей для этой идеи?
Может быть, лучше назвать такую пулю "глиняной"?
Не знаю я, как можно описать правила этой арифметики без ссылок на аппаратную реализацию FPU.
А если вот так:
"Арифметические операции для чисел типа REAL выполняются приближенно."
:))
№ 2384 28-01-2007 03:09 | |
Ответ на »сообщение 2383« (Антон Григорьев)
___________________________
Но теперь появились сомнения: не является ли вещественная арифметика серебряной пулей для этой идеи? Не знаю я, как можно описать правила этой арифметики без ссылок на аппаратную реализацию FPU.
Наверное дело здесь в том, что операции с вещественными числами являются принципиально приближенными. Но, по идее, если производится округление, приближение, то должна бы оговариваться погрешность округления и правила округления.
№ 2383 27-01-2007 23:18 | |
В своё время мне очень понравилась (и продолжает нравиться) идея Вирта о том, что описание языка высокого уровня должно быть отдельной математической абстракцией, не ссылающейся на аппаратную реализацию. Но теперь появились сомнения: не является ли вещественная арифметика серебряной пулей для этой идеи? Не знаю я, как можно описать правила этой арифметики без ссылок на аппаратную реализацию FPU.
№ 2382 27-01-2007 19:45 | |
Подскажите, что за проблема в GPCP с REAL константами?
Скачал на пробу компилятор GPCP, ввел программу, откомпилировал, запустил -- все хорошо.
Но по пути столкнулся со странной проблемой: не могу ввести константу с точкой.
Например, на выражение 1.0 компилятор ругается, что это выражение "не типа REAL". А какое же?!
В общем, пришлось мне унизиться до следующей формы записи:
CONST eps = 1 / 1000000000;
:)
Может быть, здесь что-то, связанное с локализацией (?!) ?
(Я подглядел, что REAL выводится через запятую. Но, увы, не вводится...)
№ 2381 27-01-2007 15:46 | |
Ответ на »сообщение 2380« (PGR)
___________________________
Ответ на »сообщение 2305« (RBV)
___________________________
В том и дело, что BlackBox сам неявно использует long double, а программисту этот тип недоступен.
Нехороший Блэкбокс... :)))
Ему на самом деле даже и подозревать не надо о том, что регистры FPU имеют два лишних байта.
№ 2380 27-01-2007 08:40 | |
Ответ на »сообщение 2305« (RBV)
___________________________
А вообще, пора привыкнуть, что машинная вещественная арифметика неточна по определению. :)
Особенно если размер переменных, с которыми работает FPU не совпадает с размерами переменных в памяти...
PROCEDURE Do*;
VAR x, dt: REAL;
BEGIN
dt := 0.1;
x := 10/dt;
ASSERT(dt=0.1);
ASSERT(x=10/dt)
END Do;
___________________________
Ответ на »сообщение 2298« (AVC)
___________________________
В принципе, можно догадаться, откуда у проблемы "ноги растут".
...
Похоже, проблема действительно в "излишней точности" (в отдельно взятом месте), как Вы раньше сформулировали.
В том и дело, что BlackBox сам неявно использует long double, а программисту этот тип недоступен.
№ 2379 27-01-2007 05:26 | |
Ответ на »сообщение 2374« (info21)
___________________________
Это и имелось в виду -- управлять вручную, раз охота :))
Возможно, народ просто не догадывается, что управление памятью можно "подгонять" под свои нужды, не обращаясь при этом к SYSTEM и не отказываясь от сборки мусора как таковой.
№ 2378 27-01-2007 05:12 | |
Ответ на »сообщение 2375« (Снегурочка)
___________________________
Спасибо за информацию!
№ 2377 27-01-2007 05:03 | |
Ответ на »сообщение 2376« (Антон Григорьев)
___________________________
Говоря теоретически, можно было бы и в этой ветке обсужать ФП, рассматривая его как определенную технологию.
Например, в 1993 году "Мир" издал интересную книгу Филда и Харрисона "Функциональное программирование", состоящую из трех частей: "Программирование с помощью функций", "Реализация" и "Оптимизация".
ИМХО, без обсуждения реализации ФП, сопоставлять ОТ пока не с чем.
Вообразим, что я должен следующее вычисление представлять себе буквально:
fib :: Int -> Int
fib n == if n < 2 then 1 else fib(n - 1) + fib(n - 2)
Тогда число вызовов fib будет больше, чем само число Фибоначчи! :)
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|