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-разрядным
аппаратным умножением.
|