Raul
Зарегистрирован(а): 17.03.2010
Сообщений: 101 (просмотреть)
|
- Исправлен дистрибутив.
- Бета-тестирование завершено.
20.11.2010 ВЫШЛО ОБНОВЛЕНИЕ ВЕРСИИ 1.2c BETA PUBLIC с поддержкой многопоточности
- Документирован метод clear(), обеспечена его корректная работа.
- Поправлены разделы 1.1, 1.2 и 4.3 документации.
28.09.2010 ВЫШЛА ОБНОВЛЕННАЯ ВЕРСИЯ 1.2c BETA PUBLIC с поддержкой многопоточности
- Тест производительности для Intel Core i7.
- Программа Arifexp и тестовый файл Arifrand выполняют операции
~, @(abs), U(unsign), M(bits), U(exbits).
- Усовершенствован метод оценки времени в программе Arifexp.
- ИСПРАВЛЕНО: Некорректная реализация cBigAbs() и setabs().
- ИСПРАВЛЕНО: Некорректная реализация cBigExBits() и setexbits(),
неправильный пример в описании cBigExBits().
- ИСПРАВЛЕНО: Ошибка распределения памяти в методах преоразования
числа в строку и строки в число.
- ИСПРАВЛЕНО: Неверный результат cBigCompl() и setcompl()
для числа из 0 слов.
- ИСПРАВЛЕНО: Неверный результат +, -, ^, &, | для числа из 0 слов
и машинного числа.
- ИСПРАВЛЕНО: Метод loword() может выдать неверный результат для
числа из 0 слов.
- ИСПРАВЛЕНО: Порча памяти методами tab() и smp() для числа из 0 слов.
- ИСПРАВЛЕНО: Ошибка assert в отладочном режиме при возведении
в степень по модулю базы из 0 слов.
- ИСПРАВЛЕНО: Оценка времени сложения и вычитания в программе Arifexp.
- Обновлена оценка времени деления.
28.07.2010 ВЫШЛА ВЕРСИЯ 1.2c BETA PUBLIC с поддержкой многопоточности
- Реализована поддержка локальной памяти потока в классе cBigTemp,
что сделало версию 1.2c в многопоточном режиме такой же быстрой,
как предыдущую версию 1.2b в однопоточном режиме. См. описание
макро EXTHREAD_LOCAL в разделе 3.
- Заголовочный файл Exthread.h автоматически определяет макро
EXTHREAD_LOCAL для трансляторов Borland/Microsoft и GNU g++.
- Заголовочный файл Cthr.h для поддержки многопоточности в приложениях.
- ИЗМЕНЕНИЕ: Макро _CBIGNUM_MT включено по умолчанию.
- ИЗМЕНЕНИЕ: Исключены нереентерабельные статические методы
lastdivmod(), lastrootrm(), кроме случая отключения
макро _CBIGNUM_MT. Замените их на реентерабельные
операции cBigDivMod(), cBigSqrtRm() или методы
setdivmod(), setsqrtrm().
- ИЗМЕНЕНИЕ: Исключен нереентерабельный метод toatmp(), если
только не отключено макро _CBIGNUM_MT или установлено
макро _CBIGNUM_TOATMP. Замените его на метод toa().
- Преобразование строка-число и вычисление квадратного корня
оптимизированы для макро _CBIGNUM_MT.
- Умножение, деление, модуль, степень и возведение в степень по модулю
оптимизированы для чисел, кратных большой степени двойки (~100 и выше)
под макро _CBIGNUM_MT.
- Возведение в степень по модулю оптимизировано для модуля, кратного
большой степени двойки (~100 и выше).
- Специальный код для ~10-кратного ускорения деления и модуля чисел
с одним значащим словом.
- В несколько раз ускорено выполнение методов bits() и exbits().
- Добавлена опция -par n в программу Arifexp для организации вывода
данных в параллельном потоке под Windows.
- Программа Arifexp теперь не выводит результат проверки, если он
совпадает с исходными данными.
- Работа командного файла Arifrand ускорена в 2-3 раза за счет вывода
данных в параллельном потоке и отказа от вывода проверочных данных.
|