RSS RSS
Добавлено: 2016-08-03 19:55:47   29.07.2016 ВЫШЛА ВЕРСИЯ 2.0a PUBLIC
Raul

Зарегистрирован(а): 17.03.2010

Сообщений: 101 (просмотреть)
- Совместимость с Microsoft Visual C++ 2015

- Ассемблерное умножение на Intel Haswell ускорено на 15% за счет
применения команды MULX

- Программы Arifexp64x, Matrix64x, Miller64x для 64-разрядной
Windows и процессоров с набором инструкций BMI2


30.03.2011 ВЫШЛА ВЕРСИЯ 2.0 PUBLIC с поддержкой 64-разрядного ассемблерного кода

- ИЗМЕНЕНИЕ: Вместо типа long применяется тип CBNL, определенный в
Cbnl.h для обработки 64-разрядных чисел под Visual C++
в 64-разрядом режиме.

- ИЗМЕНЕНИЕ: Методы code(), loword(), hiword(), bits(), exbits()
теперь выдают значение типа CBNL, которое в зависимости
от транслятора может быть long, __int64, __int128 и т.д.

- ИЗМЕНЕНИЕ: Число со значением 0 может состоять из 0 слов.

- Все конструкторы, операции присваивания и метод set() не выделяют
память для числа 0, если память не была распределена ранее
(память выделяется при присваивании ненулевого значения или при
выполнении модифицирующей операции, даже если ее результат 0).

- Методы gc() и pack() освобождают всю память, выделенную под число 0.

- 64-битный ассемблер для Visual C++ (в дополнительном пакете),
ускорение в 3-40 раз для процессоров AMD.

- Файлы для определения компилятора Cbnl.inl and Cbnl64.inl
(в дополнительном пакете).

- Программы Arifexp64, Matrix64, Miller64 для 64-разрядной
Windows.

- Файлы .bat вызывают 64-разрядные программы под 64-разрядной Windows.

- Новый метод преобразования toCBNL().

- Соглашение fastcall для вызова критических функций в 32-разрядном
режиме Visual C++ как опция компиляции в Cbnl.h.
По умолчанию отключено, т.к. неэффективно.

- Альтернативный 32-разрядный ассемблерный код для Visual C++ с
соглашением о связи fastcall как опция компиляции в Cbnl.h.
По умолчанию отключен, т.к. неэффективен.

- Документированы макро _CBIGNUM_DEF_ALLOC и _CBIGNUM_NCHECKPTR.

- Аппаратное умножение с применением ассемблерной команды MUL для
GNU g++ (в дополнительном пакете), выполняется в 8 раз быстрее.

- Исполняемые файлы для Linux с ускоренным 32/64-разрядным
аппаратным умножением.

Ответить | Цитировать