eXeL@B —› Программирование —› Квадратный корень из больших чисел |
Посл.ответ | Сообщение |
|
Создано: 23 декабря 2012 13:36 · Поправил: VodoleY · Личное сообщение · #1 Добрый день всем. Может ктото занимался... Существует ли адаптивный алгоритм, очень быстрый 1. для теста большого числа на то, является ли он квадратом числа 2. если на 1ый вопрос ответа нет, то вычисление остатка от корня. скорость первична АДД. ЧИСЛА БОЛЬШИЕ от 512 бит ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 23 декабря 2012 13:45 · Поправил: ZaZa · Личное сообщение · #2 Не то, не? Или так: Code:
Скорость только проверить осталось )) ----- One death is a tragedy, one million is a statistic. |
|
Создано: 23 декабря 2012 13:47 · Личное сообщение · #3 |
|
Создано: 23 декабря 2012 13:50 · Поправил: VodoleY · Личное сообщение · #4 ZaZa нет. я сделал половинным делением с отниманием нечетных. весьма шустр. интересно именно адаптивный вариант. ускоспециализированный и раскачанный по скорости http://www.codeproject.com/Articles/69941/Best-Square-Root-Method-Algorithm-Function-Precisi вот тут народ психовал http://www.coderanch.com/forums/banner/redirect/449 есьма интересная разработка но не то все это З.Ы. гораздо оптимален метод вычетов нечетных, чем метод Ньютона (если заранее граничные суммы нечетов подготовить) 64битное большое за 5 вычитов и сравнений считается ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 23 декабря 2012 15:29 · Поправил: ClockMan · Личное сообщение · #5 VodoleY пишет: скорость первична В любом процессоре есть сопроцессор с коммандой FSQRT для вычесления корня квадратного c поддержкой Extended(от 3.37 x 10 * -4932 до 1.18 x 10 * +4932) скорость будет зависть от модели проца ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. | Сообщение посчитали полезным: ZaZa |
|
Создано: 23 декабря 2012 15:59 · Личное сообщение · #6 |
|
Создано: 23 декабря 2012 16:22 · Личное сообщение · #7 ZaZa пишет: А большие числа - это до скольки? Можно же маны поглядеть. Операция эта над FPU-регистром. В нём 80 битов. Выше написан примерный диапазон: ClockMan пишет: от 3.37 x 10 * -4932 до 1.18 x 10 * +4932 Но реально в 80 битов это не влезет, конечно, и из-за округления это может не совсем сгодиться. |
|
Создано: 23 декабря 2012 16:54 · Поправил: ZaZa · Личное сообщение · #8 Archer пишет: Можно же маны поглядеть. Операция эта над FPU-регистром. В нём 80 битов. Выше написан примерный диапазон: Да я не про это... Маны можно посмотреть, не спорю [даже нужно, иногда]... Возможно необходимости в таком количестве бит и нет совсем? Всегда есть какие-либо границы в вычислениях... tihiy_grom пишет: ну да, для такого диапазона скорость очень критична. Да, да... А вдруг у меня ZX-Spectrum, для которого такие числа, ну ООООчень большие? Тем более я для примера указал... И давайте сосредоточимся на теме... ----- One death is a tragedy, one million is a statistic. |
|
Создано: 23 декабря 2012 16:56 · Личное сообщение · #9 |
|
Создано: 23 декабря 2012 19:02 · Личное сообщение · #10 ZaZa пишет: А большие числа - это до скольки? [0x0 ... 0xFFFFFFFF] А большие числа это больше чем 512 бит. Все поржали? дробная часть вообще не интересует. В вопросе вроде четко указано ТЗ. В идеалии вообщее функа тру/фелс полный квадрат числа или нет ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... | Сообщение посчитали полезным: DimitarSerg |
|
Создано: 23 декабря 2012 20:32 · Личное сообщение · #11 |
|
Создано: 23 декабря 2012 22:01 · Личное сообщение · #12 |
|
Создано: 23 декабря 2012 22:40 · Личное сообщение · #13 Тогда уточняю и добавляю вопрос. Числа от 512 бит, и еще.. Раньше была табличка для профилировки по скорости, где было расписано кол-во тиков проца на выполнения каждой инструкции проца + доп тики на разные параметры комманды (например вычитывание из памяти) я давно в эти дебри не лазил, видимо конвеер еще учитывать прийедься, в ЛС хотелось бы пообщаться с людьми,которые оптимизацией по скорости занимались ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 24 декабря 2012 00:40 · Поправил: ajax · Личное сообщение · #14 |
|
Создано: 24 декабря 2012 04:36 · Личное сообщение · #15 VodoleY На счет алгоритма ХЗ... но если вдруг ..... Вбиваем нужный X и играемся ;) ----- Don_t hate the cracker - hate the code. |
|
Создано: 24 декабря 2012 12:24 · Личное сообщение · #16 VodoleY Оптимизацией команд для Intel занимается Agner Fog. На http://www.agner.org/optimize/ нужный тебе документ под номером 4. | Сообщение посчитали полезным: VodoleY |
eXeL@B —› Программирование —› Квадратный корень из больших чисел |