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

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


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

 
Форум

2020-12-19 21:25:23 Консультации по классу cBigNumber >> 19.12.2020 ВЫШЛА ВЕРСИЯ 2.1c PUBLIC
- Ассемблерное умножение на процессорах AMD Zen и Zen+ ускорено
на 40% за счет применения инструкции MULX.

- Тест производительности для Athlon 200GE и Ryzen 2 2600K.

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


30.11.2017 ВЫШЛА ВЕРСИЯ 2.1c BETA PUBLIC

При использовании в вычислительных целях рекомендуется отключить
макро _CBIGNUM_HARDWARE_MUL для всех трансляторов, кроме
64-разрядного Microsoft Visual C++. См. также важное замечание к
макро _CBIGNUM_SMALL_DIV и _CBIGNUM_SMALL_POWMOD к версии 2.1b.

- Готовится в качестве будущей высокопроизводительной стабильной
версии на замену 2.0 public.

- Операции над машинными числами перенесены в файл Cbnl.h.

- Использование типа long long для CBNL, если компилятор совместим
co стандартом С++11.

- Быстрое аппаратное умножение под 32-разрядным Microsoft Visual C++
без применения дополнительного ассемблерного пакета, ускорение
примерно в 10 раз.

- Использование аппаратного умножения вместо двоичного метода
под любым транслятором С++ (двоичный метод доступен при отмене
макро _CBIGNUM_HARDWARE_MUL).

- Поддержка 64/32 и 128/64-разрядного аппаратного деления в
дополнительном ассемблерном пакете под Visual C++ и GNU C++.

- Все тестовые 64-битные программы под Windows и Linux компилируются
с установленным макро _CBIGNUM_HARDWARE_DIV, которое разрешает
использование аппаратного деления.

- Программы Arifexp и Miller выдают информацию о разрядности и
методах, применяемых для ускорения вычислений.

- Обновлена оценка времени умножения в программе Arifexp.

- Документирована опция -mhz в программе Arifexp.

- Результаты тестирования производительности для 32-разрядного
С++ кода с аппаратным умножением.

- Тест производительности для Core i7-6800K и Phenom II X6.


10.11.2017 ВЫШЛА ВЕРСИЯ 2.1b BETA PUBLIC

ВАЖНОЕ ЗАМЕЧАНИЕ:
При отключенных макро _CBIGNUM_SMALL_DIV и _CBIGNUM_SMALL_POWMOD
данная версия класса использует алгоритмы, протестированные в
версии 2.0 public. Новые алгоритмы деления задействуются только
при включенных макро (по умолчанию). Эти алгоритмы в настоящее
время проходят публичное бета-тестирование и пока не рекомендуются
для проведения достоверных вычислений.

- Оптимизация алгоритмов деления на 32/64/128-разрядный (однословный
или двухсловный) делитель для сокращения число условных переходов.
Достигается примерно 2-кратный рост производительности по сравнению
с исходными реализациями в версиях 2.1a и 2.1b internal.

- Оптимизация 32/64/128-разрядного (однословного или двухсловного)
модуля неограниченного числа для сокращения число условных переходов.
Достигается примерно 2-кратный рост производительности по сравнению
с исходными реализациями в версиях 2.1a и 2.1b, а также на 60-80%
ускоряется возведение в степень по двухсловному модулю.

- Оптимизация алгоритма степени по однословному модулю для
сокращения числа условных переходов при трансляции под Microsoft
Visual C++ 2010 (дает 2-3 кратный рост производительности, ранее
этот эффект достигался только под Visual C++ 2015).

- Небольшая оптимизация аппаратного деления с модулем, старый
метод доступен при установленном макро _CBIGNUM_REVERSE_MOD.

- Оптимизация вывода неограниченного числа (около 10% или более
процентов производительности для относительно небольших чисел).

- Оптимизация методов деления и модуля с таблицей сдвигов для
снижения накладных расходов.

- ИЗМЕНЕНИЕ: Методы fit(), tab(), smp(), gc() и pack() теперь
недоступны для константных чисел из-за возможных проблем
с многопоточностью. Установите макро _CBIGNUM_CONSTCAST
в файле Cbignum.h, если надо использовать эти методы
как прежде.

- Новые методы divtab() и modtab(), дополнительная документация
по методам setdivtab(), setmodtab() и setdivmodtab().

- Из файлов Cbignum.cpp и Cbignumf.inl удален квалификатор
register с целью соответствия стандарту C++11.

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

- Все программы для Windows теперь компилируются под Microsoft
Visual C++ 2015 Community ради поддержки встроенных функций
с переносом/займом. Программы, скомпилированные под Visual C++
2012 и ниже работают заметно медленнее при операциях с
двухсловным делителем/модулем.

- Тестовые программы Miller64 и Miller64x для Windows скомпилированы
с установленным макро _CBIGNUM_HARDWARE_DIV.

- Построены новые исполняемые файлы для Linux с улучшенным кодом
32/64-разрядного аппаратного умножения и ускоренными операциями
с малым делителем/модулем.

- ИСПРАВЛЕНО: Prime.cpp не включает аппаратное деление для
факторизации однословных чисел при компиляции
в 64-разрядном режиме под Microsoft Visual C++.

- ИСПРАВЛЕНО: Предупреждение компилятора в Prime.cpp, связанное
с файлом Ctty.h.

- ИСПРАВЛЕНО: Тестовые программы Arifexp64x, Matrix64x и
Miller64x для процессоров с BMI2 не запускаются
под 64-разрядной Windows XP.

- ИСПРАВЛЕНО: Завышенная оценка времени деления в программе
Arifexp для больших делителей размером до
~16,000,000 бит.

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


27.07.2017 ВЫШЛА ВЕРСИЯ 2.1b BETA INTERNAL

ВЕРСИЯ ПРЕДНАЗНАЧЕНА ДЛЯ ОЗНАКОМЛЕНИЯ И ТЕСТИРОВАНИЯ

При использовании версии данной для вычислительных целей следует отключить
макро _CBIGNUM_SMALL_DIV и (возможно) _CBIGNUM_SMALL_POWMOD.

- Оптимизированный алгоритм деления неограниченного числа на
64/128-разрядный двухсловный делитель, ускорение в 2-3 раза.

- Ускоренное в 10 раз возведение в степень по 64/128-разрядному модулю.

- Использования инструкции LZCNT вместо BSR при трансляции для AVX2
в программах Arifexp64x, Matrix64x, Miller64x.

- Проверка деления/модуля на малый делитель альтернативным алгоритмом
с таблицей сдвигов в программе Arifexp.exe.

- ИСПРАВЛЕНО: Методы toCBNL(), tolong(), toint() and toshort() не работают
для ненормализованных чисел.

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

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

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

- ИСПРАВЛЕНО: Возможно некорректная работа очитка чисел в методах
clear(), gc() и pack() (ошибка в версии 2.1а бета).


27.06.2017 ОБНОВЛЕНИЕ ВЕРСИИ 2.1a BETA INTERNAL

ВЕРСИЯ ПРЕДНАЗНАЧЕНА ДЛЯ ОЗНАКОМЛЕНИЯ И ТЕСТИРОВАНИЯ

- Использование встроенных функций компилятора в 32-разрядном Visual C++.

- Макро _CBIGNUM_SMALL_DIV и _CBIGNUM_SMALL_POWMOD для включения тестовых
алгоритмов для короткого делителя/модуля, реализованных в 2.1 и
последующих версиях класса.

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

При выключенных _CBIGNUM_SMALL_DIV и _CBIGNUM_SMALL_POWMOD
данная версия использует только алгоритмы версии 2.0 public.

- ИСПРАВЛЕНО: Неправильный результат деления CBNL_MIN/CNBL_MIN.


09.06.2017 ВЫШЛА ВЕРСИЯ 2.1 BETA INTERNAL

ВЕРСИЯ ПРЕДНАЗНАЧЕНА ТОЛЬКО ДЛЯ ОЗНАКОМЛЕНИЯ И ТЕСТИРОВАНИЯ

- Упрощенный и оптимизированный алгоритм деления неограниченного числа
на 32/64-разрядный делитель с возможностью использования аппаратного
деления, если установлено макро _CBIGNUM_HARDWARE_DIV. Этот алгоритм
заменяет алгоритмы, ранее разработанные для версий 1.2c и 2.1.

- Новый алгоритм деления ускоряет тест "строго вероятной простоты"
Миллера в 2 раза для однословных чисел и на 20% для двухсловных чисел.

- Обновленный тестовый файл Millrand для больших чисел.


28.12.2016 ВЫШЛА ВЕРСИЯ 2.1 BETA INTERNAL (теперь BETA PUBLIC)

- Использование встроенных (intrinsic) функций Microsoft Visual C++
в качестве опции для 64-разрядного кода на стандартном С.

- Быстрое аппаратное умножение под 64-разрядным Microsoft Visual C++
без применения дополнительного ассемблерного пакета, ускорение
примерно в 10 раз.

- Оптимизированное деление 2-3 словного числа на 32/64-разрядный
делитель.

- Оптимизированный 32/64-разрядный модуль неограниченного числа
с возможностью использования аппаратного деления, если установлено
макро _CBIGNUM_HARDWARE_DIV.

- Ускоренное в 10 раз возведение в степень по 32/64-разрядному модулю.

- Опция _CBIGNUM_REDUCE_JUMPS игнорируется, поскольку оптимизация
компилятора работает эффективнее.

- Возобновлено бета-тестирование для нового кода.

- ИСПРАВЛЕНО: Опечатка в тесте деления файла Arifrand.

2020-03-06 17:36:18 Консультации по программе NetMap >> Новая версия
Мираслав, с Windows 10 у NetMap действительно имеются определенные проблемы - поэтому программа будет обновляться этим летом до версии 1.1. Я выложу сообщение в этом форуме, когда программа будет готова.

По поводу размытия - не понял в чем оно заключается?

2019-07-04 10:38:45 Консультации по программе NetMap >> Новая версия
Установка под Win7 поддерживается и описана в документации. На Win10 я с ней тоже работаю. Что конкретно у Вас не получается?

Новая версия 1.1 тестируется, но выпуск ее пока отложен из-за необходимости решить вопросы с совместимостью.

2019-05-09 22:37:39 Консультации по программе NetMap >> Запуск внешней программы
Цитата:
Прежде всего хочу поблагодарить автора за прекрасный инструмент!

Есть вопрос или предложение ко внедрению.

Программа запускает плагин только если хост "покраснел". Возможно как-то привязывать запуск плагина к изменению состояния?
Например как с зеленого на красный, так и с красного на зеленый?

Почему это полезно - например нужно делать какие-то действия когда хост вернулся в строй.


Для этого надо творчески модифицировать файл NetMapEx.bat, в котором реализована логика вызова плагинов (см. например закомментированные строчки "Create standard plugins" и "Create custom plugins, а также логику Create log line).

Удачи!

2019-02-15 13:32:03 Консультации по программе NetMap >> как-то можно добавить массово сайты?
Пропустил вопрос, извините. В нынешней версии - нет. Но есть документированный формат двоичного файла истории и если Вы его построите какой-либо программой, то импорт станет возможным. А также можно импортировать список хостов в реестр из текcтового файла программой RedEdit:
HKEY_CURRENT_USER\Software\IMach\NetMap\Watch List

2016-08-03 19:55:47 Консультации по классу cBigNumber >> 29.07.2016 ВЫШЛА ВЕРСИЯ 2.0a PUBLIC
- Совместимость с 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-разрядным
аппаратным умножением.

2015-05-22 14:29:16 Консультации по классу cBigNumber >> Не могу отлинковать класс cBigNumber
По инструкции надо добавить в проект файлы:
Cbignum.cpp
Cbignumf.cpp
Exarray.cpp

А также могут потребоваться файлы
Cbignums.cpp
Ctty.cpp
Prime.cpp

2011-07-11 12:32:23 Консультации по программе NetMap >> Накапливаются открытые raw сокеты под Linux
А для нормальной работы NetMap 1.0.12 и предыдущих версий потребуется Wine с исправленной ошибкой (начиная с запланированной версии 1.3.22).

2011-05-30 20:22:40 Консультации по программе NetMap >> Накапливаются открытые raw сокеты под Linux
В NetMap 1.1 будет изменен способ работы c raw сокетами, чтобы обойти данную ошибку.

2011-05-28 11:48:45 Консультации по программе NetMap >> Накапливаются открытые raw сокеты под Linux
При запуске NetMap под Wine накапливаются открытые raw сокеты, в результате чего программа зависает или слетает с ошибкой "Too many open files". Накопление видно по команде netstat -pna. Проблема решается, см. http://bugs.winehq.org/show_bug.cgi?id=27337

2011-03-31 21:46:34 Консультации по классу cBigNumber >> 30.03.2011 ВЫШЛА ВЕРСИЯ 1.2c PUBLIC с поддержкой многопоточности
- Исправлен дистрибутив.

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


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 раза за счет вывода
данных в параллельном потоке и отказа от вывода проверочных данных.

2011-03-31 21:39:52 Консультации по классу cBigNumber >> Тестирование cBigNumber 2.0
Третья тестовая сборка получила статус beta public.

2011-03-28 08:35:30 Все о системе NetCat >> Форма обратной связи в Netcat 3.5
В настройках компоненты в разделе поставить действие по умолчанию "добавить".

2010-11-23 19:49:26 Консультации по классу cBigNumber >> Тестирование cBigNumber 2.0
Дополнение к третьей тестовой сборке:

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

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

2010-11-20 20:58:54 Консультации по классу cBigNumber >> Тестирование cBigNumber 2.0
Готова третья и последняя тестовая сборка.

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

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

- Удалены лишние операции из 64-разрядного ассемблерного кода.

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

- Поправлены разделы 1.1, 1.2 и 4.3 документации.

2010-10-01 14:18:54 Консультации по классу cBigNumber >> Тестирование cBigNumber 2.0
Дистрибутив обновлен (вчера он был собран с ошибками) + добавлены 64-разрядные тесты для Intel Core i7 и AMD Phenom.

2010-09-30 19:37:37 Консультации по классу cBigNumber >> Тестирование cBigNumber 2.0
Готова вторая тестовая сборка.

- Реализовано оптимизированное x64 умножение в дополнительном пакете,
дающее 9-кратное ускорение в 64-разрядном режиме.

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

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

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

- Документирован метод clear(), обеспечена его корректная работа.

- Программа 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.

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

2010-08-08 12:12:45 Консультации по классу cBigNumber >> Тестирование cBigNumber 2.0
Тестовая сборка доступна на странице загрузки
http://imach.uran.ru/cbignum/indexr.html

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

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

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

- Программы Arifexp64.exe, Matrix64.exe, Miller64.exe для 64-разрядной
Windows (могут работать медленнее, потому что ассемблерная оптимизация
еще не готова).

- Файл Millrand.bat вызывает Miller64.exe под 64-разрядной Windows
для ускорения тестирования.

2010-07-28 22:43:10 Консультации по шаблонам динамических массивов >> 28.07.2010 ВЫШЛА ВЕРСИЯ 1.2c PUBLIC (документация обновлена 20.11.2010)
- Правки в документации и комментариях к Exarray.h.

- Исправлено описание макро EXARR.


28.07.2010 ВЫШЛА ВЕРСИЯ 1.2c PUBLIC

- Файл Exthread.h определяет префикс локальной памяти потока
EXTHREAD_LOCAL.

- Документирована структура exblock_t для размещения массива в
локальной памяти потока.

- Структура exblockstack_t для размещения стека массивов в
локальной памяти потока.

- Разделы 6.4 и 6.5 документации.


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

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

- Разрешено применение индексов типов long и unsigned long.

- Новые опции DISALLOW_EXARRAY_LONGTYPE, DISALLOW_EXARRAY_INTTYPE
и DISALLOW_EXARRAY_SHORTTYPE для запрещения индексов типов
(unsigned) long, int и short.

- Новая опция ALLOW_EXARRAY_PTRDIFFTYPE для применения индексов
ptrdiff_t, если они отличны от числовых типов long/int/short.

- ИСПРАВЛЕНО: Опция ALLOW_EXARRAY_SIZETYPE не устанавливается для
64-разрядных компиляторов Microsoft Visual C++.

- ИСПРАВЛЕНО: Нельзя использовать индексы типа unsigned int для
64-разрядных компиляторов GNU gcc.

- ИСПРАВЛЕНО: Не определяется совместимость компилятора C++
со стандартами ISO/IEC 14882:1998 и 14882:2003.

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

- Поправлен раздел 5.2.

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


30.04.2007 ВЫШЛА ВЕРСИЯ 1.2a BETA PUBLIC (улучшена совместимость с GNU g++) Документация обновлена 12.06.2007

- Улучшена совместимость с GNU g++ 3.4 и выше (не надо явно указывать
ALLOW_EXARRAY_USING)

- ИСПРАВЛЕНО: Заголовочный файл теперь не переопределяет NULL для
трансляторов GNU g++.

- Расширенный список известных ошибок.


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

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


05.09.2006 ВЫШЛА ВЕРСИЯ 1.2 BETA INTERNAL (для предварительного ознакомления и тестирования)

- Новое макро EXPTRINDEX.

- Новая опция ALLOW_EXARRAY_SIZETYPE для совместимости с некоторыми
64-битными компиляторами.

- ИСПРАВЛЕНО: Новая опция ALLOW_EXARRAY_USING для совместимости
шаблонов со стандартом ISO/IEC 14882:1998(E).

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

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


12.11.2005 ВЫШЛА ВЕРСИЯ 1.1a BETA PUBLIC С ИСПРАВЛЕНИЕМ ОШИБКИ

- Обновлена документация и комментарии в коде.

- ИСПРАВЛЕНО: Макро ALLOW_EXARRAY_SCHEDULING теперь по умолчанию отключено.

Если макро ALLOW_EXARRAY_SCHEDULING установлено под компилятором Microsoft Visual C++ 6.0, то выражения вида m = m [j] могут привести к ошибке GPF, если i > j, m относится к шаблону exarray и автоматически перемещается для размещения m . В некоторых специальных случаях компилятор Visual C++ 6.0 запоминает в регистре ссылку на m [j], которая перестает быть действительной после перемещения m для размещения m и после этого применяет ссылку для обращения к m [j].
РЕКОМЕНДАЦИЯ: Не включайте макро ALLOW_EXARRAY_SCHEDULING.


05.07.2003 - ВЫШЛА ВЕРСИЯ 1.1 BETA PUBLIC

- Метод stub() перемещен в шаблон exblock для восстановления
совместимости с Borland C++ 3.1.

- Шаблон exvec переименован в exvector.

- Комментарии к исходным кодам переведены на английский.

2010-06-01 21:19:58 Вопросы психологу >> Как избавиться от плохих мыслей?
Что до плохих мыслей - то они, наверное, всех посещают. И если бы эти мысли были правдой - то нам бы давно конец пришел. Ну а коли конец не приходит - то это просто... ужастик такой.

2010-06-01 21:04:51 Вопросы психологу >> Как избавиться от плохих мыслей?
Сейчас все посты видны - была маленькая техническая ошибка, ее устранили. Тема очень разрослась улыбка.

2009-12-05 16:29:01 Консультации по классу cBigNumber >> Возникает ошибка "Integer division by zero." при вызове функции toa().
Извините, не заметил пост. А как Вы используете метод toa()?

cBigNumber a = 10;
cBigString buf;
a.toa (buf);

Это работает.

2009-12-05 16:02:23 Консультации по программе NetMap >> Запуск внешней программы
Поправил инструкцию.

Если не появляется файл 10.50.19.6.log и не запускается 10.50.19.6.bat, то причина заключается в отсутствии файла NetMapLog.bat. Создайте его копированием NetMapLog.smp в NetMapLog.bat в рабочей папке программы.

2009-12-05 15:18:17 Консультации по классу cBigNumber >> 27.09.2010 ВЫШЛА ОБНОВЛЕННАЯ ВЕРСИЯ 1.2b PUBLIC
- ИСПРАВЛЕНО: Некорректная реализация 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, включая проблему с реентерабельностью.

2009-09-16 21:54:07 Консультации по программе NetMap >> Тестирование NetMap 1.0.12 (завершено)
Так запускает ведь, если хост недоступен - для этого надо создать файл хост.bat. Это все описано в Readme.

А если покопаться в NetMapEx.bat - то можно найти недокументированный способ запустить батник и для доступного хоста.

2009-03-24 11:49:27 Консультации по программе NetMap >> Как при переустановке системы сохранить все хосты дабы не заводить их во второй раз?
В день переустановки надо сохранить файл YYYYMMDD.nmp из папки программы, потом, после установки NetMap на переустановленную систему - поместить его обратно. Важно, чтоб дата в названии файла была текущая. Еще можно сохранить ветку реестра HKCU/Software/IMach/NetMap

2009-02-02 18:21:21 Консультации по программе NetMap >> Запустил программу как сервис и порядок хостов хаотично изменился
Порядок запуска в режиме сервиса описан в разделе 3.3 файла Readme. Это сложнее, чем создание ярлыка (причем не все необходимые программы входят в стандартную поставку Windows). Ключ /service блокирует встроенный автозапуск, чтобы он не конфликтовал с сервисным.

2009-01-17 21:08:28 Консультации по программе NetMap >> 27.12.2008 ВЫШЛА ВЕРСИЯ 1.0.12 PUBLIC
17.01.2009 - Обновление почтовой программы Blat

- ИСПРАВЛЕНО: Blat 2.5.0 может войти в бесконечный цикл с ошибкой
10093, поэтому она заменена на 2.4.0.

2009-01-17 21:07:15 Консультации по программе NetMap >> СИСТЕМНАЯ ОШИБКА при отправке почты
Дистрибутив с правильной версией blat 2.4.0 готов, его можно загрузить со страницы программы.

2009-01-16 14:03:04 Консультации по программе NetMap >> Ширина колонки Список Хостов
Программа писалась для экранов 640x480 и 800x600, поэтому колонка хостов узкая. В нее можно вписать имя любого размера, но расширить видимую область нельзя. В следующей версии программы эта возможность будет добавлена. А в этой версии для расширения поля надо заново компилить RC файл.

2009-01-14 21:43:55 Консультации по программе NetMap >> СИСТЕМНАЯ ОШИБКА при отправке почты
Почтовая программа blat 2.5.0, которая применяется в NetMap 1.0.12 может самопроизвольно войти в бесконечный цикл, порождая огромный файл отчета blat1.tmp или blat2.tmp. Этот файл быстро заполняет пространоство на системном диске и может сделать ОС неработоспособной.

Если у Вас возникла такая ситуция - не перезагружайте систему немедленно. Завершите зависший blat.exe, тогда NetMap сама удалит файл отчета.

ЭТО СЕРЬЕЗНАЯ ОШИБКА - я рекомендую отключить рассылку почтовых уведомлений от NetMap до выхода обновления.

2008-12-29 22:33:46 Консультации по программе NetMap >> 27.12.2008 ВЫШЛА ВЕРСИЯ 1.0.12 PUBLIC
- Кнопки для быстрого пролистывания дней.

- Отсылка E-Mail сообщений.

- Поддержка плагинов под Windows Vista с включенным UAC.

- Автозапуск под Windows Vista с включенным UAC.

- ИЗМЕНЕНО: Программа регистрирует автозапуск для активного
пользователя, а не для всех пользователей.

- ИЗМЕНЕНО: Поддержка старого способа обработки ошибок
по умолчанию отключена.

- ИСПРАВЛЕНО: Параметры не сохраняются в реестре по нажатию OK.

- ИСПРАВЛЕНО: Немедленное автосохранение без положенной
задержки при создании нового .nmp файла.

- ИСПРАВЛЕНО: NetMapLog.bat не работает под Wine (вручную замените
его новым NetMapLog.smp).

- Программа проверена на совместимость с Windows beta 7.7000.

2008-12-29 22:27:32 Консультации по программе NetMap >> Тестирование NetMap 1.0.12 (завершено)
Тестирование завершено. Напоследок программа проверена под только что вышедшей Windows beta 7.7000. Всем спасибо, хорошего Нового 2009 года!

2008-12-27 19:48:52 Консультации по программе NetMap >> Тестирование NetMap 1.0.12 (завершено)
Выложена сборка NetMap 1.0.12 в статусе RC. Единоверенно запускается только один процесс отправки почты, чтобы исключить проблему с зацикливанием blat.exe.

chiff - ссылка отправлена

2008-12-14 11:15:32 Консультации по программе NetMap >> Тестирование NetMap 1.0.12 (завершено)
Будет еще одна тестовая сборка NetMap - в текущей обнаружена ошибка, которая приводит к зацикливанию при отправке почты.

2008-12-08 21:50:51 Консультации по программе NetMap >> Тестирование NetMap 1.0.12 (завершено)
Выложена тестовая сборка от 8.12.2008 с индикаторами отправки почты.

2008-12-05 18:40:11 Консультации по программе NetMap >> Тестирование NetMap 1.0.12 (завершено)
Cсылка отправлена. На данный момент лежит сборка от 20 ноября. В декабре появится еще одно обновление, c индикатором отправки почты.

Про GIF/PNG - дело скорее не в общей хотелке, а в моей понималке улыбка. Чтобы сделать график, можно снять копию окна программы по Alt-PrintScreen, запустить Paint, сделать вставку и сохранить в PNG. Вроде не очень сложный процесс? Или речь идет о какой-то другой потребности?

2008-12-01 15:00:18 Консультации по программе NetMap >> Тестирование NetMap 1.0.12 (завершено)
Отправил ссылочку по почте

2008-11-12 21:25:25 Консультации по программе NetMap >> Тестирование NetMap 1.0.12 (завершено)
Проводится тестирование новой версии NetMap, с отправкой почты и улучшенной совместимостью. Изменения следующие:

- Кнопки для быстрого пролистывания дней.

- Отсылка E-Mail сообщений.

- Поддержка плагинов под Windows Vista с включенным UAC.

- Автозапуск под Windows Vista с включенным UAC.

- ИЗМЕНЕНО: Программа регистрирует автозапуск для активного
пользователя, а не для всех пользователей.

- ИЗМЕНЕНО: Поддержка старого способа обработки ошибок
по умолчанию отключена.

- ИСПРАВЛЕНО: Параметры не сохраняются в реестре по нажатию OK.

- ИСПРАВЛЕНО: Немедленное автосохранение без положенной
задержки при создании нового .nmp файла.

- ИСПРАВЛЕНО: NetMapLog.bat работает под Wine (вручную замените
его новым NetMapLog.smp).

Ссылки для скачивания тестовой версии в открытом доступе нет, она выдается по запросу. Кто тестировал предыдущую версию NetMap - может сам догадаться, как строится ссылка улыбка. А кто не знает - пишите мне и для верности продублируйте запрос здесь.

2008-10-01 12:00:32 Консультации по программе NetMap >> Не работает автозагрузка под Windows Vista
Автозагрузка будет поправлена в версии 1.0.12

2008-09-27 21:51:59 Консультации по программе NetMap >> Не сохраняется история под Windows Vista
При включенном UAC история сохраняется в специальном Virtual Store. Но если Вы запустили NetMap под администратором, то текущий файл nmp попадет в защищенный системой подкаталог Program Files. Потом при запуске NetMap в обычном режиме он прочитается, но его нельзя будет перезаписать. Вывод - завершите NetMap, еще раз запустите NetMap под администратором, выберите File-Save As и удалите файл nmp по правой кнопке мыши. Потом завершите NetMap, не сохраняя историю и запустите NetMap снова в нормальном режиме.

2008-09-27 21:42:35 Консультации по программе NetMap >> Не работает автозагрузка под Windows Vista
Галочка автозагрузки ставится, но сама автозагрузка не происходит. Все дело в UAC. Чтобы автозагрузка заработала, надо запустить NetMap в режиме администратора, поставить там галочку и завершить работу.

2008-09-12 07:06:43 Консультации по программе NetMap >> NetMap for *nix
Надо получить права root и запуcкать netmap под этими правами. Команды su или sudo, спросите спецов улыбка. В мой SuSE Linux можно просто войти под root-ом, что я и делаю, но в ubuntu вход под root по умолчанию отключен.

2008-07-16 17:40:36 Консультации по программе NetMap >> Зависание установщика NetMap под Windows Vista
Уставновщик NetMap достаточно старый, от ранних бета версий программы. Под Windows Vista он может не стартовать после распаковки. В диспетчере задач при этом остается висеть NetMap10.exe. Проблема решается перезагрузкой операционной системы, после чего надо запустить установщик снова - тогда он проработает как надо.

2008-07-16 16:36:05 Консультации по программе NetMap >> wishlist
Первое (масштаб) проблематично, а второе появится в 1.0.12 - будут кнопки << и >> около ползунка. Конфиг для каждого хоста уже давно есть - нажмите F1 и прочитайте. Там всего две опции, но их, я думаю, достаточно (можно добавить, если не хватает). А отправка email делается через плагины утилитой blat (надо это только внятно описать в документации).

2008-06-02 19:11:35 Консультации по программе NetMap >> 28.05.2008 ВЫШЛА ВЕРСИЯ 1.0.11 PUBLIC
Добавлена украинская локализация (Иван Замалтынов).

2008-05-30 21:59:59 Консультации по программе NetMap >> 28.05.2008 ВЫШЛА ВЕРСИЯ 1.0.11 PUBLIC
- Многоязычный англо-русский интерфейс, с возможностью
добавления остальных языков.

- Выбор языка через интерфейс и опцию /lang.

- Можно вводить имена доменов на кириллице и других языках.

- Возможность показывать все или только выбранные хосты в трее.

- Улучшенная печать с полутоновыми отметками для хостов,
которые ответили на часть запросов в течение одной минуты.

- Хосты без отметок пропускаются при печати.

- Предупреждение при запуске плагинов под Windows Vista
с включенным UAC.

- Максимальное количество хостов в окне увеличено до 70
для разрешения QXGA 2048x1536.

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

- ИСПРАВЛЕНО: Выпадение вертикальной полосы прокрутки в окне
предварительного просмотра печати при изменении
масштаба In-Out-In под Windows XP.

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

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

- ИСПРАВЛЕНО: NetMapLog.bat может зависнуть, если имя хоста
совпадает с NetMapLog или зарезервировано
операционной системой, как CON, PRN и т.п.

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

- ИСПРАВЛЕНО: Погрешности в интерфейсе (подсказки и т.п.).

2008-05-28 21:38:49 Консультации по программе NetMap >> Тестирование NetMap 1.0.11 public (завершено)
Конец тестированию. Сегодня готова последняя сборка, 30-го выложу ее в общий доступ. Спасибо всем тестерам!

- ИСПРАВЛЕНO: Многоязычный интефейс под Wine (в Linux).

2008-05-20 22:17:58 Консультации по программе NetMap >> Тестирование NetMap 1.0.11 public (завершено)
Еще раз собрал NetMap 1.0.11, закачивайте по тем же ссылкам.

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

2008-05-19 08:37:45 Консультации по программе NetMap >> Тестирование NetMap 1.0.11 public (завершено)
Sergey
Таймаут меняется в наcтройках программы

2008-05-15 14:02:36 Консультации по программе NetMap >> Тестирование NetMap 1.0.11 public (завершено)
Отправил

2008-05-10 21:33:50 Консультации по программе NetMap >> Тестирование NetMap 1.0.11 public (завершено)
NetMap 1.0.11 обновлена, под закачивайте по тем же ссылкам.

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

2008-04-24 18:57:45 Консультации по программе NetMap >> Тестирование NetMap 1.0.11 public (завершено)
NetMap 1.0.11 в общем доступе пока нет, ссылку я даю только по запросу. Вам (Sergey) ссылка отправлена по почте.

2008-04-15 22:25:08 Консультации по программе NetMap >> Тестирование NetMap 1.0.11 public (завершено)
Кто желает перевести NetMap на свой родной язык, оставьте мне сообщение, здесь и/или по почте (лучше продублировать, потому что почта доходит плохо из-за спама). Я рассматриваю перевод, как дотацию на развитие программы, соответственно NetMap Professional, когда она в будущем будет выпущена, Вы получите бесплатно (в профессиональной редакции появятся новые функции, такие, как опрос портов).

2008-04-15 21:58:50 Консультации по программе NetMap >> Тестирование NetMap 1.0.11 public (завершено)
Обновлена тестовая версия NetMap 1.0.11

- Многоязычный англо-русский интерфейс, с возможностью
добавления остальных языков.

- Выбор языка через интерфейс и опцию /lang.

- Возможность показывать все или только выбранные хосты в трее.

- Хосты без отметок пропускаются при печати.

- ИСПРАВЛЕН: ряд ошибок под Windows 98 (но пока не все).

Ссылка для скачивания тестовой версии выдается по запросу.

2008-02-05 17:57:50 Консультации по программе NetMap >> NetMap for *nix
Исходники под Юникс надо писать заново. Повторно использовать можно только ресурсы, я их в скорости буду раздавать для локализации. Можно поступить проще - поставить Wine и настроить его для запуска программ Windows в окне. NetMap под ним работает.

2008-01-29 21:03:40 Консультации по программе NetMap >> Тестирование NetMap 1.0.11 public (завершено)
Бета - тестирование NetMap завершается. Изменения на данный момент (сборка от 10 февраля) следующие:

- Двуязычный англо/русский интерфейс.

- Можно вводить имена доменов на кириллице.

- Улучшенная печать с полутоновыми отметками для хостов,
которые ответили на часть запросов в течение одной минуты.

- Предупреждение при запуске плагинов под Windows Vista
с включенным UAC.

- Максимальное количество хостов в окне увеличено до 70
для разрешения QXGA 2048x1536.

- ИСПРАВЛЕНО: Погрешности в интерфейсе (подсказки, 45-ый
хост в списке и т.п.).

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

- ИСПРАВЛЕНО: Выпадение вертикальной полосы прокрутки в окне
предварительного просмотра печати при изменении
масштаба In-Out-In под Windows XP.

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

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

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

- ИСПРАВЛЕНО: NetMapLog.bat может зависнуть, если имя хоста
совпадает с NetMapLog или зарезервировано
операционной системой, как CON, PRN и т.п.

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

Ссылка для скачивания тестовой версии выдается по запросу.

2007-12-29 17:25:17 Консультации по программе NetMap >> 28.12.2007 ВЫШЛА ВЕРСИЯ 1.0.10 BETA PUBLIC
- Полупрозрачные красные отметки в истории, если хост ответил
на часть запросов, посланных в течение одной минуты.

- Более точный подсчет процента потерянных пакетов.

- Документирован формат файлов истории (совместимый со всеми версиями):
- Красная зона в файле истории расширена до 248..255.
- Добавлено сохранение действующего таймаута.

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

- В документации дополнен список особенностей NetMap при работе
в режиме службы.

- TTL по умолчанию теперь 128, как во Windows XP.

- Время ожидания при вводе и выборе хостов увеличено до 1 мин.

- Максимальное количество хостов в окне увеличено до 60.

- ИСПРАВЛЕНО: Набор хостов, выбранных для просмотра, может
измениться после File-Today.

- ИСПРАВЛЕНО: Установка прокрутки после File-Today и File-Open.

- ИСПРАВЛЕНО: File-Save неактивно при Run plugins every 0 min,
из-за постоянного сохранения истории; теперь
история сохраняется не чаще 1 раза в минуту.

- Программа протестирована на совместимость с Wine под привилегиями root.

2007-12-06 21:53:50 Консультации по программе NetMap >> Анализ статистики
В версии 1.0.10 формат .nmp файла немного изменится (в частности, появится Timeout to wait) и будет документирован.

2007-12-06 21:49:29 Консультации по программе NetMap >> Неудобства при работе с NetMap (ver. 1.0.9)
Эти недочеты исправляются в версии 1.0.10

2007-10-31 17:09:27 Консультации по программе NetMap >> Если остановить сервис, то NetMap продолжает выполняться
Системная программа srvany не умеет завершать запущенные ею сервисы. Поэтому их приходится завершать вручную.

2007-10-31 17:06:03 Консультации по программе NetMap >> Запустил программу как сервис и порядок хостов хаотично изменился
Настройки NetMap, в частности, информация о порядке хостов хранится для сервисов в другом месте. Если Вы ставите и настраиваете NetMap как сервис, то в дальнейшем запускайте ее как сервис (т.е. не пользуйтесь запуском из меню Пуск), тогда все настройки будут сохраняться.

2007-10-25 15:45:40 Консультации по классу cBigNumber >> Возможно ли ...
Например, требуется перемножить числа с тремя десятичными цифрами после точки.
cBigNumber a=cBigNumber ("123000", 10); // 123.000
cBigNumber b=cBigNumber ("456789", 10); // 456.789
c = a * b / 1000; // 123.000 * 456.789
cout << (c / 1000) << '.' << (c % 1000);
d = (c * 1000) / b; // 123.000
cout << (d / 1000) << '.' << (d % 1000);
При сложении и вычитании коррекция на 1000 не потребуется.

2007-09-28 18:34:29 Консультации по классу cBigNumber >> инструкция по установке на borland C++ 5
Инструкция по установке есть в файле Readmer.txt.

Все, что требуется - это распаковать архив и создать проект BC++ 5.02 (GUI application, если Вам нужно приложение с окнами и Console application, если оно будет работать в текстовом режиме). Как это сделать - я Вам не подскажу, у меня этого транслятора нет.

Если не сможете разобраться - импортируйте (или откройте) готовый проект Miller.prj для BC++ 3.1 и пишите свой код в файл Miller.cpp.

2007-05-07 15:37:50 Консультации по программе NetMap >> Анализ статистики
В файл History пишется выcота штриха на графике.
Минимальное значение - 96 для нулевого времени ответа, далее до 254 по отношению времени ответа RTT к параметру Timeout to wait. Если 255, то ответ не получен (или пришел отказ по типу Destination unreachable).

2007-05-03 11:47:25 Консультации по классу cBigNumber >> При трансляции Cbignums.cpp и Ctty.cpp выдается сообщение о недоступности файла iostream.h
В языке С++ есть две библиотеки потокового ввода-вывода - старая iostream.h и стандартная iostream. Некоторые трансляторы содержат только одну из них, поэтому класс должен определить транслятор и его версию для подключения нужной библиотеки.

Определение транслятора работает для Microsoft Visual C++, начиная c версии класса 1.2 и для GNU g++, начиная с версии класса 1.2a.

Если транслятор классу неизвестен, то класс подключает старую библиотеку, которой может не быть. В это случае надо определить макро _CIOS_STDSTREAM для подключения стандартной библиотеки. Это можно сделать в настройках транслятора или в файле Cios.h.

2007-05-03 11:40:33 Консультации по классу cBigNumber >> Множественные предупреждения при трансляции файлов Cbignums.cpp и Ctty.cpp под Microsoft SDK
Транслятор в Microsoft SDK сбивается на стандартной библиотеке iostream.

Поэтому определите макро _CIOS_OLDSTREAM для подключения старой библиотеки iostream.h. Это можно сделать в настройках транслятора или в файле Cios.h.

2007-05-03 11:10:10 Консультации по классу cBigNumber >> Файл Exarray.h выдает множество ошибок о недоступности переменных базовых классов
В новых компиляторах, соответствующих стандарту языка C++, изменены правила видимости переменных в шаблонах базовых классов. Чтобы к ним обратиться, надо использовать директиву using или префикс this->.

В шаблонах Exarray.h применяется директива using. Но ее не понимают все еще популярные старые трансляторы, поэтому шаблоны определяют версию транслятора и включают соответствующий им код. Определение версии транслятора работает для Microsoft Visual C++, начиная c версии класса 1.2 и для GNU g++, начиная с версии класса 1.2a.

Для остальных новых компиляторов потребуется вручную определить макро ALLOW_EXARRAY_USING. Его можно вписать в настройки транслятора или раcкомментировать в файле Exarray.h.

ПРИМЕЧАНИЕ: Если Вы используете устаревшую версию класса, то к ней можно подгрузить шаблоны версии 1.2a со страницы http://www.imach.uran.ru/exarray/indexr.html

2007-05-03 10:55:00 Консультации по шаблонам динамических массивов >> Шаблоны выдают множество ошибок о недоступности переменных базовых классов
В новых компиляторах, соответствующих стандарту языка C++, изменены правила видимости переменных в шаблонах базовых классов. Чтобы к ним обратиться, надо использовать директиву using или префикс this->.

В шаблонах применяется директива using. Но ее не понимают все еще популярные старые трансляторы, поэтому шаблоны определяют версию транслятора и включают соответствующий им код. Определение версии транслятора работает для Microsoft Visual C++, начиная c версии шаблонов 1.2 и для GNU g++, начиная с версии шаблонов 1.2a.

Для остальных новых компиляторов потребуется вручную определить макро ALLOW_EXARRAY_USING. Его можно вписать в настройки транслятора или раcкомментировать в файле Exarray.h.

2007-04-08 17:46:56 Все о системе NetCat >> Проблема с редактированием раздела
Такие вещи лучше проделывать в визуальном редакторе, а не путем ручной коррекции HTML-кода.

Сейчас есть два варианта:
1) можно найти объект через PhpMyAdmin (таблица MessagesNN) или
2) в шаблоне данных NetCat временно урезать вывод объекта в списке (убрать вывод того поля, которое Вы неудачно отредактировали). После этого можно будет вызвать объект на редактирование.

2007-02-10 13:15:07 Консультации по шаблонам динамических массивов >> Интересный момент
Есть недокументированные переменные:

exalloc_status.pMinAlloc - указатель на начало области распределенной памяти
exalloc_status.pMaxAlloc - указатель на конец области распределенной памяти
exalloc_status.nBlocksAllocated - количество выделенных блоков памяти
exalloc_status.nBlocksFailed - количество не выделенных блоков памяти, из-за ее нехватки

exalloc_status.pMaxAlloc - exalloc_status.pMinAlloc дает примерное количество распределенных байт

Объем доступной памяти надо узнавать с помощью системных вызовов.

2007-02-05 19:38:30 Консультации по классу cBigNumber >> Во время link а выдает ошибку!!!!
Правильно, добавили exarray.cpp

2007-02-02 13:47:29 Консультации по классу cBigNumber >> Изменение произвольного бита
Через операцию логичеcrого или:
a |= 1 >> (n-1);
a - изменяемое число
n - номер бита в виде числа сBigNumber (long не подойдет)
Это cамый простой способ. Если надо быстрее то надо вычислить номер слова и номер бита в нем, а затем модифицировать слово напрямую с помощью метода code().

2006-12-05 14:44:30 Консультации по шаблонам динамических массивов >> Как правильно перенести такой кусок кода под динамический массив?
Наверное, задача заключается в том, чтобы сделать динамическим массивом Wave_array?
...
exarray<float> Wave_array;
...
Wave_array.resize(Wave_Stream->Size / 4); // или expand
Wave_Stream->Read(Wave_array.base(), Wave_Stream->Size);
...
Все остальное также.

2006-12-03 12:04:04 Консультации по классу cBigNumber >> Проблема с хедерами в VC++
Примечание: проблема со старыми хедерами решена в версии класса 1.2.

2006-12-01 00:11:33 Консультации по классу cBigNumber >> Установка битов
Проще всего использовать операцию накопления со сдвигом, например:

cBigNumber b = 0;
for (i = 0; i++; i < 8)
for (j = 0; j++; j < 8)
{ b <<= 1; b += CODE [j] }

Если надо побыстрее, то можно сначала накопить код в двух 32-разрядных числах, а потом их сложить:

long a1,a2;

...(циклы для a1 и a2)...

cBigNumber b = a1; b <<= 32; b += a2

2006-09-25 23:54:45 Консультации по шаблонам динамических массивов >> Программа сваливается после компиляции в режиме Release
Эта проблема характерна для версии 1.1 и компиляторов Microsoft Visual C++ .NET, 2003 и 2005. Чтобы получить работающий код, достаточно провести компиляцию с рекомендумым для класса ключом /0b1 (C/C++-Otimization-Inline Function Expansion).

Проблема решена в версии 1.2 beta public, где можно задействовать любой режим /Ob, в том числе и выставляемый по умолчанию режим /0b2, хотя для сокращения размера программы лучше поставить /Ob1.

2006-09-25 12:16:57 Консультации по классу cBigNumber >> Программа сваливается после компиляции в режиме Release
Эта проблема характерна для версии 1.1 и компиляторов Microsoft Visual C++ .NET, 2003 и 2005. Чтобы получить работающий код, достаточно провести компиляцию с рекомендумым для класса ключом /0b1 (C/C++-Otimization-Inline Function Expansion).

Проблема решена в версии 1.2 beta public, где можно задействовать любой режим /Ob, в том числе и выставляемый по умолчанию режим /0b2, хотя для сокращения размера программы лучше поставить /Ob1.

2006-08-16 23:26:08 Консультации по программе NetMap >> Анализ статистики
А вот это пока никак. Файлы nmp, где хранится графика - двоичные. Их никто, кроме самой NetMap не понимает. Чтобы NetMap выдавала статистику по диапазону дат, надо выпустить ее новую версию.

Что касается текстовых log файлов, то find не может провести численный анализ задержек (RTT). Можно попробовать затянуть файл в Excel и там его обработать.

2006-08-13 18:10:33 Консультации по программе NetMap >> Анализ статистики
Нужно предварительно включить опцию Run plugins every и поставить 0 min, тогда программа сохранит каждый ping в файлах NetMapEx_*.log. Если сохранять каждый ping не требуется, то можно включить Run plugins every и поставить ненулевое время, тогда программа оставит запись в зависимости от доступности или недоступности хоста в заданный временной интервал.

Далее пакеты с ответом и без ответа можно подсчитать командами
find /C "(00000)" NetMapEx_*.log
find /C /V "(00000)" NetMapEx_*.log

2006-08-13 17:53:16 Консультации по программе NetMap >> нет пинга хотя ping пингует
Надо увеличить TTL в настройках. В следующей версии я сделаю по умолчанию TTL=128, как во Windows XP.

2006-07-03 12:19:47 Консультации по классу cBigNumber >> constant too big
Ошибку выдает транслятор. В языке C нет больших целочиcленных констант. Поэтому присваивать их надо через символьную строку:
cBigNumber num;
num.set("55555555555555555555555555");
или в конcтрукторе с указанием системы счисления:
cBigNumber num("55555555555555555555555555",10);

2006-05-22 16:56:53 Консультации по классу cBigNumber >> Возможно ли ...
Напрямую не работает.

2006-05-17 16:55:24 Консультации по программе NetMap >> Запуск внешней программы
1. Поставить галочку на Run plugins every и задать время.

2. Если в рабочей папке программы нет файла NetMapLog.bat, то надо создать его копированием NetMapLog.smp в NetMapLog.bat.

3. Создать в папке программы текстовый файл с именем узел.bat (т.е. к имени узла в окне NetMap надо добавить .bat).

4. В файл узел.bat поместить командную строку для запуска программы.

5. Для проверки работы файла узел.bat можно запустить его из проводника.

Если Вы запускаете NetMap под Windows Vista/7 как сервис, то есть особенности, связанные с работой UAC - прочтите о них в документации.

2006-04-28 14:10:36 Консультации по классу cBigNumber >> Функция пары
Ввод значений cBigNumber надо проводить с помощью оператора <<, вот так:
cBigNumber y;
cout << "\n Vvedite <i,j> :";
cin >> dec; // десятичный режим
cin >> y;
scanf для этих целей не подходит.

По поводу конфликта посмотрите ответ на вопрос
Unresolved external (C++ Builder5)

2005-12-05 23:56:34 Консультации по классу cBigNumber >> Проблема с хедерами в VC++
Компилировались, потому что у меня самый первый Visual Stidio.Net 1.0, где все старые хедеры имеются. Для нового Visual-а кроме правки include надо добавить в cbignum.h после
#include <iostream>
using namespace std;

2005-11-18 21:38:33 Консультации по классу cBigNumber >> Возможно ли ...
Сколько потребуется, столько и можно получить улыбка. Арифметика с фиксированной точкой отличается от целочисленной тем, что надо проводить нормализацию при умножении и делении (путем сдвига). Это можно запрограммировать как надстройку над классом.

2005-11-16 20:34:05 Консультации по классу cBigNumber >> Деление по модулю
Тогда пришлите код улыбка - для следущей версии.

2005-11-12 13:25:47 Консультации по классу cBigNumber >> Деление по модулю
Если я правильно понял задачу, то она решается в лоб возведением числа в степень n-1 по модулю n (для простого n). Такая операция в классе есть, но вот насколько она эффективна по сравнению алгоритмом Евклида? Можно запрограммировать и сравнить.

2005-11-11 09:07:46 Консультации по классу cBigNumber >> Как сгенерировать случайное простое большое число?
Параметр maxexp заведен для тестирования - ему привавивается число нулей в младших разрядах. Задавайте его как 0.

2005-10-31 22:41:18 Консультации по классу cBigNumber >> Как произвести двоичный ввод-вывод чисел?
Методов двоичного ввода-вывода в классе нет, но зато есть универсальные методы length() и code(), которые дают доступ к внутреннему представлению числа.

Метод length() выдает число слов типа long в дополнительном коде, а метод code() выдает константный указатель на массив слов типа long с дополнительным кодом, где младшее слово имеет индекс 0. Указатель действителен до тех пор, пока над числом не выполняются арифметические операции или операции распределения памяти.

Для доступа к коду по записи преобразуйте указатель code() в long*. Если требуется изменить изменить число слов, запишите его в элемент с индексом -1. Число слов можно уменьшать до 1 или увеличивать в пределах участка памяти, предварительно распределяемого под число методом expand(). Для лучшей производительности рекомендуется нормализовать код так, чтобы он имел минимально необходимое число слов. Нормализацию можно обеспечить вызовом метода fit().

Вот в качестве примера код для присваивания беззнакового значения, большего LONG_MAX:
Код:

cBigNumber a; // Неограниченное число.
unsigned long n = 0xFFFFFFFFUL; // Беззнаковое число,
{ // значение приведено как пример.
a.expand (2); // Память под два слова.
long *pa = (long*) a.code(); // Указатель для модификации кода.
pa [0] = n; // Присвоение числа.
pa [1] = 0; // Нулевое слово для знака.
pa [-1] = 2; // Число слов.
a.fit(); // Нормализация.
} // Удалить указатель.


2005-10-29 21:46:49 Консультации по классу cBigNumber >> Ошибка при операциях с беззнаковыми числами
Класс предназначен для операций с числами со знаком. Комбинированных операций со знаковыми и безнаковыми числами там нет, поэтому безнаковые числа DWORD преобразуются транслятором С в знаковые. Т.е. DWORD dw_num = 0x8EDF3155 - становится отрицательным числом.

Вот код для присваивания беззнакового значения:
Код:

cBigNumber a; // Неограниченное число.
DWORD dw_num = 0x8EDF3155UL; // Беззнаковое число.
{
a.expand (2); // Память под два слова.
long *pa = (long*) a.code(); // Указатель для модификации кода.
pa [0] = dw_num; // Присвоение числа.
pa [1] = 0; // Нулевое слово для знака.
pa [-1] = 1 + ((long)dw_num < 0); // Число слов.
} // Удалить указатель.


2005-10-27 22:44:25 Консультации по классу cBigNumber >> Как сгенерировать случайное простое большое число?
Это вопрос скорее математический, чем программистский. Если время решения задачи не имеет значения, то можно генерировать случайные большие числа до тех пор, пока не появится простое. Код для генерации случайного большого числа есть в файле Arifexp.cpp (в конце). А методы проверки на простоту есть в классе.

2005-10-27 22:40:24 Консультации по классу cBigNumber >> unexpected end of file
Простите, не заметил сообщение в форуме. Пока неясно, в чем дело - пошлите, пожалуйста, проект по почте.

2005-09-28 22:17:10 Консультации по шаблонам динамических массивов >> Как перехватить ошибку распределения памяти?
Размер массива ограничен максимальным объемом памяти, который может быть выделен системной функцией malloc(). Если памяти не хватает, то вызывается функция abort(). Изменить это поведение можно с помошью функции set_exalloc_handler(), описанной в файле exarray.txt. В качестве аргумента функции передается указатель на функцию обработки ошибок, которая будет применяться вместо функции abort().

Функция обработки ошибок не должна возвращать управление в точку ее вызова. Вместо этого, она может возбудить исключение или прервать работу потока с помощью системного вызова.

2005-09-28 22:05:42 Консультации по классу cBigNumber >> Как перехватить ошибки переполнения разрядной сетки?
Разрядная сетка числа ограничена максимальным объемом памяти, который может быть выделен системной функцией malloc(). Если памяти не хватает, то вызывается функция abort(). Изменить это поведение можно с помошью функции set_exalloc_handler(), описанной в файле exarray.txt. В качестве аргумента функции передается указатель на функцию обработки ошибок, которая будет применяться вместо функции abort().

Функция обработки ошибок не должна возвращать управление в точку ее вызова. Вместо этого, она может возбудить исключение или прервать работу потока с помощью системного вызова.

2005-09-28 21:20:36 Консультации по классу cBigNumber >> О классе
Класс cBigNumber реализует целые числа неограниченной разрядности для С++. Предусмотрены все штатные операции языка C++, включая арифметические, логические и побитовые операции, операции сравнения, сдвиги, а также потоковый ввод-вывод со всеми целочисленными модификаторами. Дополнительные функции - возведение в степень, возведение в степень по модулю, квадратный корень и проверка на простоту по методу Миллера. Класс оптимизирован для работы с числами до 20,000 двоичных разрядов. Испытания проводились для чисел, содержащих до 12,000,000 двоичных разрядов.

Домашняя страница класса:
http://www.imach.uran.ru/cbignum/indexr.html

2005-09-09 15:08:31 Консультации по классу cBigNumber >> Как произвести ввод-вывод больших чисел?
Для ввода-вывода можно применить потоки С++, например:

#include <iostream.h>
#include <iomanip.h>
#include "cBigNum.h"

cBigNumber a,b;
cin >> dec; /* Включаем десятичный режим */
cin >> a;
cin >> b;
cout << (a * b) << endl;

Если строка уже находится в памяти, то для ее преобразования в число можно воспользоваться методом set():

cBigNumber a;
a.set("12345678901234567890");

А для обратного преобразования числа в строку можно использовать метод toatmp(). Строка записывается в статический буфер, поэтому перед повторным обращением к toatmp() ее надо скопировать подручными средствами С++, например:

#include <string>
...
string s = a.toatmp();

2005-08-19 11:10:36 Консультации по программе NetMap >> O программе
Программа NetMap отслеживает доступность узлов Сети по протоколу ICMP и показывает графический протокол.

Домашняя страница программы:
http://www.imach.uran.ru/netmap/indexr.html

FAQ по программе
http://www.imach.uran.ru/netmap/faqr.htm

2005-08-17 19:00:06 Консультации по шаблонам динамических массивов >> О шаблонах
Шаблоны реализуют различные виды многомерных массивов для С++, включая массивы с автоматическим увеличением размера, массивы с контролем индексов, стеки массивов и т.п.

Домашняя страница шаблонов:
http://www.imach.uran.ru/exarray/indexr.html

2005-06-01 13:21:24 Консультации по программе CreateSFX >> О программе
Мини-оболочка CreateSFX позволяет создавать исключительно компактные самораспаковывающиеся архивы тремя кликами мышки. При записи в архив файлы могут быть защищены паролем. Архив может быть разбит на несколько томов.

Домашняя страница программы:
http://www.imach.uran.ru/creatsfx/indexr.html

FAQ по программе:
http://www.imach.uran.ru/creatsfx/faqr.htm



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