(Решено)Неправильное поведение Extended в fpc 3 windows

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
hovadur
постоялец
Сообщения: 116
Зарегистрирован: 31.01.2013 15:50:41

(Решено)Неправильное поведение Extended в fpc 3 windows

Сообщение hovadur »

Есть код, который выдает ошибку:

Код: Выделить всё

var
  E: Extended;
  A, C: Currency;
begin
  E := 0.41;
  C := 0.41;
  A := 0;
  A := A + C;
  CheckEquals(0.41, A, 'Currency');
  A := 0;
  A := A + E;
  CheckEquals(0.41, A, 'Extended');
end;

При прибавлении к Currency-значению Extended-значение увеличивает Currency-значение в 10000 раз и код выдает ошибку "TestExtended Failed: "Extended" expected: <0,41> but was: <4100>"?
Исправление A := A + Currency(E); вместо A := A + E; не помогает.
Это поведение появляется только в fpc 3 windows. В fpc 3 linux, в fpc 2 windows и fpc 2 linux ок.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось hovadur 20.12.2015 13:53:08, всего редактировалось 1 раз.
Аватара пользователя
Дож
энтузиаст
Сообщения: 900
Зарегистрирован: 12.10.2008 16:14:47

Сообщение Дож »

Похожий баг http://mantis.freepascal.org/view.php?id=28748
Нет возможности собрать и опробовать fpc из транка?
SSerge
энтузиаст
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Сообщение SSerge »

hovadur

Код: Выделить всё

projext.exe --format=plain -a
 Time:00.000 N:1 E:0 F:0 I:0
  TTestExt Time:00.000 N:1 E:0 F:0 I:0
    00.000  TestExtended

Number of run tests: 1
Number of errors:    0
Number of failures:  0



FPC 3.1.1 из комплекта CodeTyphon 5.60, Windows 7 x64
hovadur
постоялец
Сообщения: 116
Зарегистрирован: 31.01.2013 15:50:41

Сообщение hovadur »

SSerge писал(а):FPC 3.1.1

Точно. Спасибо!
Ответить