Сообщение от xRand
Вопрос состоит в следующем.
Стоит ли писать всю математику на C++, а затем выводить ее в библиотеку и прекреплять к проекту на блице?
Есть ли какие то ограничения на функции(и прочие прелести кода) используемые в C++ если потом экспортировать код в dll для блиц?
Есть ли статья по написаную dll для блица в C++?
|
в первую очередь, блитц страдает не столько скростью, сколько точностью: штатного float-а мало на что хватит.
Рассмотрим пример, демонстрирующий нехватку разрядной сетки переменной стандартного типа float (на 4 байта).
Очевидно, что результат вычисления следующего выражения:
a:=14.143
k:=3
R:=1+(a-(a*k)/k)
равенд единице-
R:=1+(a-(a*k)/(k)=1+(a-a)=1+0=1
Рассмотрим результат вычислений указанного выражения при помощи 4-байтной float-переменной/ Выполним следующий листинг:
a#=14.143
k#=3
R#=1+(a-(a*k)/k)
DebugLog "float-test"
DebugLog R
Результат выполнения следующий:
Пример демонстрирует, как быстро может упасть точность вычислений без использования аналитического упрощения вычисляемого выражения или вовлечения в расчеты переменных с большим объёмом внутренней памяти.
В большинстве практических случаев аналитический разбор (символьные преобразования) выражения является ресурсоёмкой и трудноинтегрируемой для конкретных вычислений задачей, таким образом, использование ....
Смотри также:
http://forum.boolean.name/showthread.php?t=2451 - текст тамошней темы (особенно за моим авторством) следует творчески переосмыслить в свете вышесказанного.