alex_dz, там мало sdword, в некоторых местах забыл указать. Это для совместимости с С/С++, если указано sdword значит это int или long.
Я уже выкладывал код этой программы. Но там были некоторые баги, в этой версии правильно вычисляется разница дат по старому и новому стилю. Скажем...
alex_dz, я там немного накосячил с типами, в общем алгоритм предполагает положительные типа данные, точней беззнаковые типа кроме year. Возможно...
alex_dz, допустимый диапазон +- 5879489 год, потом происходит переполнение. А так предполагается что пользователь вводит вменяемые параметры, хотя...
Некоторые типы не совсем правильно определил, для локальных JDN и day в GetData надо long. Иначе если у вас всё ещё АТ/286 и турбоСи 3, программка...
Исправил ошибку определения високосного года в GetDDpMMpYYYY Добавил возможность номер дня переводить в дату. Из даты вычитать/прибавлять...
Ещё одна версия для вычисления номера юлианской даты. В этой версии можно вычислять разность дат. Например JD 24.02.2022 7.10.2023 Должно...
Кстати функцию градиента цвета лучше сделать в виде макроса. ColorGradientMC MACRO len:req LOCAL bRed,bBlue,bGreen,res...
То есть нужен код A=!B сишный ? cmp B,0 setz al movzx A, al В С/С++ логическое значение выражения приводится к char т.е. к байту, точней...
Вот сделал оптимизацию, во первых делимости на 3 и 5 не нужна. И второе, булевы упакованные, вроде vector<bool> в плюсах тоже упакованный, но я по...
Athlon II x4 640 3ГГц время 34429 мс, чуть медленней Хеона, думаю тут и отсутствие кеша сказалось. Вероятно Феном на 3ГГц будет чуть быстрей.
Занятно, но 32 битная версия дала неправильный результат при 1 млрд. ;; простые числа v0.06 .x64 ;.model flat, stdcall option casemap:none option...
Версия х64 1.13. Вроде ещё не выкладывал. ЗЫ Батник.
Недоделанный вариант для х64 С х64 у меня как раз проблемы, не доделано, не систематизировано. По этому в основном использую х86-32, там всё получше.
Хеон 1 млрд выполнил за 32737 мс. Тут код сложней, оптимизирован, и райзен убедительно выигрывает.
Переделал код, алгоритм Решето Аткина, взял тут https://ru.wikipedia.org/wiki/Решето_Аткина Оптимизировал как смог, деление заменил обратным...
Да хрен его знает. Для меня ассемблер это реально высокоуровневый объектно-ориентированный ЯП, где есть такая штука как сокрытия...
Вот немного переделал, таблица теперь макросом создаётся. Время компиляции уже нормальное такое 5.4 сек на райзене. ;; простые числа v0.04 .386...
Для Хеона 100 млн 23361 мс. Частота райзена в момент теста 4.35 ГГц, время 30987, а Хеона 3ГГц и буста нету. Получается Хеон делает деление почти...
Оптимизировал алгоритм. ;; простые числа v0.03 .386 .model flat, stdcall option casemap:none include msvcrt.inc include macros.asm .data?...
Имена участников (разделяйте запятой).