Страница: 1 | 2 |
Вопрос: Алгоритм находжения квадратного корня.
Добавлено: 31.05.10 17:53
Автор вопроса: AWP | Web-сайт:
Интересует алгоритм нахождения корня, который используем VB.
т.е. итерационный алгоритм мне известен, но он работает на порядки медленнее. Может кто знает как его упростить или что-то другое способное вычислять корень.
Моя цель - алгоритм, с нужной мне точностью(меньшей чем выдает vb), дабы экономить процессорное время.
Ответы
Всего ответов: 20
Номер ответа: 1
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #1
Добавлено: 31.05.10 20:08
Зачем?
Номер ответа: 2
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #2
Добавлено: 31.05.10 21:15
Но в VB не на VB написана программа нахождения корня. Если её на vb переписать, то станет медленнее
Номер ответа: 3
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #3
Добавлено: 31.05.10 21:17
кажись msvbvm60.dll (rtcSqr) использует мат. сопроцессор (FSQRT), так что быстрее ИМХО не получится :/
Номер ответа: 4
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #4
Добавлено: 31.05.10 21:53
Тебе не один корень надо, я думаю считать, а о-очень большую кучу, так? Иначе бы ты не выделывался так на производительность. Значит, можно зарядить вычисление всех корней параллельно и сунуть в видеокарту - вуаля. CUDA, C, Shaders - все они ждут тебя, смекаешь?
Номер ответа: 5
Автор ответа:
AWP
ICQ: 345685652
Вопросов: 96
Ответов: 1212
Web-сайт:
Профиль | | #5
Добавлено: 01.06.10 00:24
Не думаю, что vb6 не умеет с CUDA работать(возможно ошибаюсь), да и моя видяшка не особо поддерживает её.
to Winand
Естественно не на vb буду писать.
А чтобы увеличить скорость готов пожертвовать точностью вычислений.
Номер ответа: 6
Автор ответа:
AWP
ICQ: 345685652
Вопросов: 96
Ответов: 1212
Web-сайт:
Профиль | | #6
Добавлено: 01.06.10 00:29
Вообще моя основная цель - написание приблуды в виде dll'ки, написанной не на vb, которая будет содержать кучу разных, шустрых мат. функций, с последующим подключение, например, к vb6.
т.е. библиотечка готова, но функционал пока маловат.
Номер ответа: 7
Автор ответа:
Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #7
Добавлено: 01.06.10 02:45
в игре quake 3 квадратный корень был реализован следующим образом:
погрешность сам посмотри, не знаю
Номер ответа: 8
Автор ответа:
AWP
ICQ: 345685652
Вопросов: 96
Ответов: 1212
Web-сайт:
Профиль | | #8
Добавлено: 01.06.10 03:42
я читал про это, fast inverse square root да?
только честно говоря мне в этом нифига не понятно.
Номер ответа: 9
Автор ответа:
Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #9
Добавлено: 01.06.10 07:39
не, fast inverse square root - это 1/sqrt и он тоже в квейке есть да, а вот эта функция - это просто sqrt
ну понятно, не понятно... работает ведь)) нужно только установить погрешность и все
Номер ответа: 10
Автор ответа:
AWP
ICQ: 345685652
Вопросов: 96
Ответов: 1212
Web-сайт:
Профиль | | #10
Добавлено: 01.06.10 12:03
нет, мне код не понятен, я же Basic'ист
такие конструкции("0.5F;", "* ( long * ) &y; ", " i >> 1 )" )меня в ступор вводят.))
Номер ответа: 11
Автор ответа:
AWP
ICQ: 345685652
Вопросов: 96
Ответов: 1212
Web-сайт:
Профиль | | #11
Добавлено: 01.06.10 16:14
буду благодарен, если кто-нибудь расшифруем этот код))
Номер ответа: 12
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #12
Добавлено: 01.06.10 18:07
>> 1 сдвиг вправо на разряд
F обозначение, что это float
Хотя я могу и ошибаться)
Номер ответа: 13
Автор ответа:
AWP
ICQ: 345685652
Вопросов: 96
Ответов: 1212
Web-сайт:
Профиль | | #13
Добавлено: 01.06.10 18:14
А
i = * ( long * ) &y;
и
y = * ( float * ) &i;
это приведение типов?
Номер ответа: 14
Автор ответа:
VbStarter
ICQ: 357911808
Вопросов: 118
Ответов: 1340
Web-сайт:
Профиль | | #14
Добавлено: 01.06.10 18:25
суде по всему - да.
Номер ответа: 15
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #15
Добавлено: 15.06.10 16:11
О чем тема была?
Чем не устраивют ВБшные вычисления корня? Ну, за исключением того что порой здорово глючат, разумеется.