Христианская проза
Христианская поэзия
Путевые заметки, очерки
Публицистика, разное
Поиск
Христианская поэзия
Христианская проза
Веб - строительство
Графика и дизайн
Музыка
Иконопись
Живопись
Переводы
Фотография
Мой путь к Богу
Обзоры авторов
Поиск автора
Поэзия (классика)
Конкурсы
Литература
Живопись
Киноискусство
Статьи пользователей
Православие
Компьютеры и техника
Загадочное и тайны
Юмор
Интересное и полезное
Искусство и религия
Поиск
Галерея живописи
Иконопись
Живопись
Фотография
Православный телеканал 'Союз'
Максим Трошин. Песни.
Светлана Копылова. Песни.
Евгения Смольянинова. Песни.
Иеромонах РОМАН. Песни.
Жанна Бичевская. Песни.
Ирина Скорик. Песни.
Православные мужские хоры
Татьяна Петрова. Песни.
Олег Погудин. Песни.
Ансамбль "Сыновья России". Песни.
Игорь Тальков. Песни.
Андрей Байкалец. Песни.
О докторе Лизе
Интернет
Нужды
Предложения
Работа
О Причале
Вопросы психологу
Христианcкое творчество
Все о системе NetCat
Обсуждение статей и программ
Последние сообщения
Полезные программы
Забавные программки
Поиск файла
О проекте
Рассылки и баннеры
Вопросы и ответы
 
 Домой  Форумы / Обсуждение статей и программ / 27.09.2010 ВЫШЛА ОБНОВЛЕННАЯ ВЕРСИЯ 1.2b PUBLIC Войти на сайт / Регистрация  Карта сайта     Language По-русски По-английски
Обсуждение статей
Консультации по программе NetMap
Консультации по программе CreateSFX
Консультации по классу cBigNumber
Консультации по шаблонам динамических массивов

Дом сохранения истории Инрог


Интересно:
Рекомендуем посетить:

 
27.09.2010 ВЫШЛА ОБНОВЛЕННАЯ ВЕРСИЯ 1.2b PUBLIC
Добавлено: 2009-12-05 15:18:17   27.09.2010 ВЫШЛА ОБНОВЛЕННАЯ ВЕРСИЯ 1.2b PUBLIC
Raul

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

Сообщений: 101 (просмотреть)
- ИСПРАВЛЕНО: Некорректная реализация cBigAbs() и setabs().

- ИСПРАВЛЕНО: Некорректная реализация cBigExBits() и setexbits(),
неправильный пример в описании cBigExBits().


10.01.2010 ВЫШЛА ОБНОВЛЕННАЯ ВЕРСИЯ 1.2b PUBLIC

- Замечания о многопоточной производительности и ограничениях
в разделе 4.2.4.

- Поправка к описанию метода toatmp().

- ИСПРАВЛЕНО: Гонки в классе cBigTemp при многопоточном режиме.

- ИСПРАВЛЕНО: Неправильная реализация метода set(a,n) для типа long.


19.11.2009 ВЫШЛА ДОПОЛНЕННАЯ ВЕРСИЯ 1.2b PUBLIC

- Тест голосования при умножении с помощью addmultab()/submultab() в
программе Arifexp.exe.

- Быстрая факторизация 64-разрядных чисел с применением 64-разрядного
машинного деления в Prime.cpp, актуальная для 64-разрядного g++.

- Программа Miller64 для быстрой факторизации 64-разрядных чисел
под 64-разрядным Linux.


27.08.2009 Обновление документации к версии 1.2b public

- Тесты производительности для ARM, Intel Atom и AMD Phenom.


28.07.2009 ВЫШЛА ВЕРСИЯ 1.2b PUBLIC

- Реентерабельный метод toa() вместо подлежащего исключению toatmp().

- Операции cBigBits() и cBigExBits().

- Новые файлы Cbignumf.h and Cbnl.h обеспечивают зависимую от
компилятора информацию для более аккуратной оценки времени
выполнения в Arifexp.exe.

- Arifexp.exe проверяет корректность преобразования числа в строку
если задана опция -check.

- Оператор сравнения ? в Arifexp.exe и тест сравнения в Arifrand.bat.

- ИСПРАВЛЕНО: Arifexp.exe не выдает код ошибки на неверных выражениях.

- ИСПРАВЛЕНО: Оценка времени умножения в Arifexp.exe.

- ИСПРАВЛЕНО: Оценка времени деления в Arifexp.exe и документации.

- ИСПРАВЛЕНО: Оценки времени выполнения в Arifexp.exe под Linux.

- Оптимизация блочного умножения в дополнительном ассемблерном пакете,
когда неприменим метод Карцубы (до 5% увеличения производительности,
если один операнд меньше 50 long слов, а второй операнд в 10
и более раз больше).

- Новые методы addmulsmp() и submulsmp() используют аппаратное умножение,
если оно задействовано, вместо таблицы сдвигов. Методы addmultab()
и submultab() всегда используют таблицу сдвигов.

- Новый метод smp() строит таблицу сдвигов, если аппаратное умножение
не задействовано.

- Новая версия шаблона Exarray.h для работы в 64-разрядном режиме.

- Генератор Random3 приспособлен для работы в 64-разрядном режиме.

- Обеспечена совместимость с GNU g++ 4.1.2 в 64-разрядном режиме.

- Обеспечена совместимость с GNU g++ 4.2.3.

- Gettimer.c поддерживает DPMI в Borland C++ 4.5.

- Gettimer.c использует операции long вместо double, где это возможно.

- ИСПРАВЛЕНО: Arifexp.exe неверно выполняет ++ и -- под ключом -v.

- ИСПРАВЛЕНО: Программы не возвращают код 255.

- Командный файл Millrand.bat для тестирования на простоту.

- 32-разрядные исполняемые файлы для Pocket PC в дополнительном пакете.

- 64-разрядные исполняемые файлы для Linux и тестовые файлы .sh.

- Производительность в 64-разрядном режиме под Linux в разделе 4.2.

- Производительность под ARM Pocket PC в разделе 4.2.

- ИСПРАВЛЕНО: Производительность в ассемблерном режиме для процессоров
Pentium III/933 и Pentium 4C/2400 по тестам Arif1-3
в разделе 4.2.

- Проведено сокращенное тестирование в 64-разрядном режиме.

- Бета-тестирование завершено.


22.09.2007 ВЫШЛА ВЕРСИЯ 1.2a BETA PUBLIC

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

ПРИМЕЧАНИЕ: Ассемблерный дополнительный пакет не включен
в свободно распространяемую версию класса.

- Две реализации метода Карацубы, оптимизированные соответственно
для свободно распространяемого С кода и дополнительного
ассемблерного пакета.

ПРИМЕЧАНИЕ: Метод Карацубы относительно сложен в реализации
и тестировании. Он введен в версию 1.2а класса
как часть программы бета-тестирования. Если Вам
нужны надежные вычислению, то его лучше отключить,
для чего надо удалить из файла Cbignumf.inl макро
_CBIGNUM_KARATSUBA_MUL.

- Быстрое копирование в отладочном режиме, если применяется
дополнительный пакет.

- Дополнительное алгоритмические ускорение ввода чисел.

- Сравнение производительности с библиотекой NTL.

- ИСПРАВЛЕНО: Умножение отрицательного и положительного числа может
дать некорректный результат в версии 1.2a beta internal.

- ИСПРАВЛЕНО: Макро _CBIGNUM_BLOCK_MUL может привести к переполнению
буфера в версии 1.2a beta internal.

- ИСПРАВЛЕНО: Оператор вывода << может игнорировать флаги
ios::uppercase и ios::showbase (Nicolas).

- ИСПРАВЛЕНО: Игнорируется модификатор width() потока вывода.

- ИСПРАВЛЕНО: Внутренняя функция cBigNumberCopyShr() не работает
для ненормализованного 0.

- ИСПРАВЛЕНО: Увеличен размер буфера для внутренних функций
cBigNumberPow(), cBigNumberPowMod().

- ИСПРАВЛЕНО: Размер буфера в спецификации к внутренним функциям
cBigNumberMAddMulShl(), cBigNumberMSubMulShl(),
cBigNumberMAddMulShlKar(), cBigNumberMSubMulShlKar()
(ошибка не затрагивает код).

- ИСПРАВЛЕНО: Опция -size программы Arifexp.exe и метод dump()
работают неправильно под Visual C++ .NET.

- ИСПРАВЛЕНО: Arifexp.exe не проверяет остаток во время обратного
теста умножения.

- Дополнения в Arifexp.exe:
- Выводится среднее время под опцией -rep.
- Более эффективный тест умножения под опцией -check.
- Опция -time.

- Проверена совместимость с Microsoft Visual C++ Express 2008.


30.04.2007 ВЫШЛА ТЕСТОВАЯ ВЕРСИЯ 1.2a BETA INTERNAL

- Быстрое умножение больших чисел по методу Карацубы, увеличивающее
производительность при размере обоих операндов от 6,000 битов.

- В связи с реализаций метода Карацубы, рекомендованный верхний предел
для применения методов addmultab() and submultab() составляет теперь
6,000 бит.

- Ограниченная экспериментальная поддержка многопоточных приложений
с макро _CBIGNUM_MT, см. раздел 4.2.4.

- Новые операции cBigDivMod() и cBigSqrtRm().

- Новые машинно-зависимые методы set() и setr().

- ИСПРАВЛЕНО: Переполнение стека при сдвиге с отрицательным показателем
LONG_MIN.

- ИСПРАВЛЕНО: Операции возведения в степень и степень по модулю
переписывают cBigNumber::lastdivmod(), если показатель
степень меньше 0.

- Для ввода-вывода по умолчанию используется стандартная библиотека
iostream, если задействованы трансляторы Microsoft Visual C++ .NET,
GNU g++ 3.x, 4.x и выше

- Обеспечена компиляция в GNU g++ 4.1, кроме ассемблерных инструкций.

- 32-битный ассемблер для Visual C++ и Borland C++ Builder
(дополнительный пакет).


29.11.2006 ВЫШЛА ВЕРСИЯ 1.2 BETA PUBLIC (совместимая с Visual C++ 2005)

- Функции для проверки на простоту теперь имеют дополнительный
выходной параметр для последнего протестированного делителя или
основания SPRP. Если число доказано, как составное там будет делитель
или не прошедшая проверку основание SPRP.

- ИЗМЕНЕНИЕ: Переименована пара функций из internal версии:
FastExactSPRP() в FastSPRP(), PostExactSPRP() в PostSPRP().

- Опции для выбора алгоритма в Miller.exe.

- Расширенное тестирование Miller.exe на 1,000,000,000+ примерах.

- ИСПРАВЛЕНО: Программа сваливается после компиляции в режиме Release
под трансляторами Microsoft Visual C++ .NET, 2003 и 2005
с опцией /Ob2 (auto inline).


05.09.2006 ВЫШЛА ВЕРСИЯ 1.2 BETA INTERNAL

- Обеспечена совместимость с Visual C++ Express 2005 и другими
трансляторами, не поддерживающими старую библиотеку iostream.h.

- Подключение библиотеки iostream теперь необходимо только для
операторов ввода-вывода в соответствующие потоки. В частности,
функции преобразования числа в строку и строки в число теперь
могут применяться без подключения библиотеки iostream.

- Увеличена скорость умножения (50%) для чисел из 3 и более слов.

- Оптимизированы операции накопления += и -=. В дополнение к более
эффективному коду C, на них также распространяется ассемблерная
оптимизация.

- Более гибкие методы проверки на простоту с оптимизированным
алгоритмом. SPRP() и факторизация работают примерно в 2 раза
быстрее для модулей > 7919.

- ИЗМЕНЕНИЕ: Функция HasFactor() переименована в TestFactor().
Чтобы вернуть имя, определите макро _CBIGNUM_HASFACTOR.

- ИЗМЕНЕНИЕ: Ненулевые коды возврата функций SPRP() и IsPrime().

- ИЗМЕНЕНИЕ: Для использования операторов потокового ввода-вывода
надо подключить новый файл Cbignums.h. Файл Cbignums.h
теперь не подключает библиотеку iostream.

- ИЗМЕНЕНИЕ: Вывод отрицательных чисел с модификаторами hex и oct
теперь выполняется со знаком. Если требуется вывод без
знака, то используйте функцию cBigUnsign() или проводите
трансляцию с макро _CBIGNUM_UNSIGN_OCT_HEX.

- ИЗМЕНЕНИЕ: Методы и функции класса осуществляют вывод на консоль
через специальные потоки cTTY, см. раздел 3.2.
По умолчанию вывод отключен.

- ИЗМЕНЕНИЕ: Статические методы lastdivmod() и lastrootrm() подлежат
исключению в версии класса 2.0. Используйте вместо
них методы setdivmod() и setsqrtrm().

- ИЗМЕНЕНИЕ: Метод erange() выводит короткий дамп числа вместо полного.

- ИЗМЕНЕНИЕ: Метод bits() теперь возвращает значение long вместо int,
при переполнении вызывает erange().

- Новые методы setbits(), exbits(), setexbits(), words(), exwords().

- Новые конструкторы и методы cBigAbs(), abs(), setabs(),
cBigUnsign(), unsign(), setunsign().

- Генератор случайных чисел: конструктор cBigRandom(), метод setrandom(),
long-функции в Random3.h и Random3.cpp.

- Новые методы submul(), submultab().

- Методы setdivtab(), setmodtab(), setdivmodtab() теперь не требуют,
чтобы делимое было нормализованным.

- Оптимизировано умножение длинных чисел (более 480 слов) на
короткие числа (1 или 2 слова).

- Небольшая оптимизация деления для очень длинных чисел.

- Разрешено возведение в степень чисел размером более INT_MAX бит.

- ИСПРАВЛЕНО: Реализация метода dump() зависит от разрядности процессора.

- ИСПРАВЛЕНО: Ошибки при работе с ненормализованными нулями.

- ИСПРАВЛЕНО: Маловероятные ошибки при диагностике нехватки ресурсов
для выполнения левых сдвигов и возведения в степень.

- Новая версия Arifexp.exe:
Ключи -div0, -size, -v, -rep n, -rand 0, -rand all.
Добавлены операции ++a, --a, a-b*c, удалены операции a+b\c, a*b%c.
Суффикс R для подстановки случайного числа с заданным числом бит.
Ключ -check теперь проверяет результат всех операций,
кроме степени с показателем, отличным от 2,4,8.

- Дополнительные тесты в Arifrand.bat.

- Тест генератора случайных чисел Arifr.bat.


26.11.2005 ВЫШЛО ОБНОВЛЕНИЕ ВЕРСИИ 1.1a BETA PUBLIC

- Файлы Random.h and Random.c переименованы в Random3.h и Random3.c.

- ИСПРАВЛЕНО: Неправильная таблица факторизации в Prime.cpp (Nicolas).

- ИСПРАВЛЕНО: Метод b_SPRP() возвращает "возможно, простое" на четных числах (Nicolas).


12.11.2005 ВЫШЛО ОБНОВЛЕНИЕ ВЕРСИИ 1.1a BETA PUBLIC

- Ассемблерный код теперь распространяется в дополнительном пакете.

- Тестовые программы собраны под компилятором Visual C++ 6.0 с ассемблерной оптимизацией.

- Тесты производительности для различных процессоров в разделе 4.2.

- Новые оценки производительности в разделе 4.2.2.

- ИСПРАВЛЕНО: Метод setneg() не обращает знак числа LONG_MIN.

- ИСПРАВЛЕНО: Ошибка распределения памяти в шаблоне Exarray.h.


31.10.2005 ВЫШЛО ОБНОВЛЕНИЕ ДОКУМЕНТАЦИИ ДЛЯ ВЕРСИИ 1.1a BETA PUBLIC

- Подробнее описаны особенности выполнения операций над беззнаковыми числами и числами с плавающей точкой.

- Документирован метод expand() для распределения памяти.

- Более подробное описание метода code().


28.09.2005 ВЫШЛО ОБНОВЛЕНИЕ ВЕРСИИ 1.1a BETA PUBLIC

- ИСПРАВЛЕНО: Возведение в степень по модулю выдает 1, если старшее слово модуля равно 0 (Александр).

- Примеры команд для компиляции под Linux в разделе 3.


12.09.2005 ВЫШЛА ВЕРСИЯ 1.1a BETA PUBLIC

- ИСПРАВЛЕНО: Знак результата возведения в степень по модулю теперь не зависит от знака модуля.
ВНИМАНИЕ: Проверьте, что ваши программы на зависят от этой ошибки в спецификации!

- ИСПРАВЛЕНО: Операция возведения в степень по модулю теперь корректно работает для отрицательной базы.

- ИСПРАВЛЕНО: Ошибка распределения памяти при возведении в степень по отрицательному модулю со старшим словом 0x80000000.

- ИСПРАВЛЕНО: Ошибка распределения памяти при возведении в степень по модулю 0, если разрешено деление на 0.

- ИСПРАВЛЕНО: Ошибка распределения памяти в отладочном режиме при умножении двух длинных (больше 480 слов) отрицательных чисел со старшими словами 0x80000000.

- ИСПРАВЛЕНО: Ошибка assert в отладочном режиме setdivtab(), setmodtab(), setdivmodtab() при делении отрицательного числа на 0.

- ИСПРАВЛЕНО: Операции сдвига переписывают cBigNumber::lastdivmod если количество бит задано неограниченным числом.

- ИСПРАВЛЕНО: Ошибка переполнения разрядной сетки при извлечении квадратного корня из чисел размером более INT_MAX бит.

- ИСПРАВЛЕНО: Описание аргумента n в методе addmultab (a,b,n).

- Исправления в разделе 1.2 и дополнения в разделе 4.2.3 документации.

- Пополнен список ошибок в Приложении 2, включая проблему с реентерабельностью.

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




Домой написать нам
Дизайн и программирование
N-Studio
Причал: Христианское творчество, психологи Любая перепечатка возможна только при выполнении условий. Несанкционированное использование материалов запрещено. Все права защищены
© 2024 Причал
Наши спонсоры: