我使用Aparapi在GPU上的Java程序內部進行數字運算。據我所知,Aparapi在浮點陣列中扮演着不錯的角色。使用浮點數或整數數組計算Pi
我想使用Aparapi來計算Pi到第N小數。我正在考慮使用Leibniz方法,但我不確定如何處理以浮點或整數形式表示和存儲長整數的小數。
整數數組是否可以工作,數組的大小是想要的N位小數?
int[] digits = new int[N];
如果我與萊布尼茨方法利用這一點,我將需要計算N個整數對於M術語我找到的陣列(Liebniz說PI/4 = 1 - 1/3 1/5 + - 1/7 + 1/9 ....),然後將它們相加並將結果數字乘以4.但是這意味着我需要爲我計算的每個術語分配M個整數,這會加起來並且真的會對記憶產生影響。
tl; dr:我怎樣才能使用浮動操作的循環來計算Pi,所以我可以用Aparapi來做到這一點?
非常感謝!
這是計算pi的真*慢方法。 – Blender
這就是爲什麼我希望有人有更好的方式來做這件事,同時仍然使用較小的數據類型 –
無論您的算法如何,您仍然可以以某種方式存儲數字。這是一個更快的算法:http://stackoverflow.com/questions/14065929/calculating-pi-using-float-or-integer-arrays#comment19442832_14065929 – Blender