Both result-buffers are equal (Maximum tolerance between floats: 0.0000010000. W
e must use this, because of different algorithms for square roots and power of f
unctions).
Press any key to release all data and to exit.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Both result-buffers are equal (Maximum tolerance between floats: 0.0000010000. W
e must use this, because of different algorithms for square roots and power of f
unctions).
Ich hab vor ein paar Monaten etwas daran rumgeschraubt. In einer Virtuellen Maschine wird das nicht mehr laufen (zumindest bei VirtualBox, da Fließkomma-Texturen dort entfernt wurden). Da ich aber momentan kaum Zeit hab es zu testen, veröffentliche ich es einfach mal so auf gut Glück: http://www.bradan.eu/files/GPUCalcNew.zip
Ein Testcode ist dabei, allerdings unoptimiert und eher auf die Funktionalität ausgelegt. Datensätze haben eine feste, maximale Größe: 2048x2048x4 .. ich weiß das ist blöd, aber sollte auf ziemlich vielen Systemen angenehm laufen und man kann ja notfalls viele Datensätze in einen Datensatz packen und dann mit einem Offset ansprechen. Integer Berechnungen wurden hinzugefügt, für Grafikkarten die das unterstützen. Nur das Verhalten bei einem Overflow scheint mir nicht Einheitlich geregelt zu sein.
[EDIT]
Ah und alles ist nun in C++ geschrieben, weil es dort einfach einfacher ist mit der XLib zu hantieren (ich wollte nicht GTK dafür verwenden).
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.