我正在寫一個Mandelbrot集探險家。我需要儘可能的精確,以便儘可能地放大。雙打污染我的BigDecimal數學
我注意到混合double
S和BigDecimal
S的不幸的副作用:他們「污染」返回的類型:
(type (* 1M 2))
=> java.math.BigDecimal
(type (* 1M 2.0))
=> java.lang.Double
我預期相反。可能更精確的BigDecimals
應該會污染雙打。
除了手動調用每一個可能接觸了BigDecimal
數bigdec
,是否有阻止自動降級到double
上double
S和BigDecimal
在做數學運算時的方法嗎?
聽起來像是我的一個bug –
nope,不是一個錯誤。這是故意的 –
對於將來閱讀此內容的人,請注意,我的解決問題不是源於缺乏小數精度。我對Mandelbrot算法的最大迭代太低。我把它從50提高到了200,現在即使是雙精度也能提供相當數量的縮放。 – Carcigenicate