現在取り組んでいる小さなゲームのレベリング システムの一部として、この曲線を実装しようとしています。方程式は次のとおりです。
f(x) = -e^-((-log(7)/100)*(100-x))+7
Pythonで次のように定義できます
f=lambda x:-e**-((-log(7)/100.0)*(100-x))+7
Python コンソールでこの関数を実行すると、期待される値が返されます。私はそれを Java に移植しました。Java では、次の形式を取ります。
public static double f(float x) {
return (Math.pow(-Math.E, -((-Math.log(7)/100)*(100-x)))+7);
}
しかし、不思議なことに、これは常に を返しますNaN
。以前にこの問題に遭遇したことはありません。何が起こっているのですか?