-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ex5に「誤差を気にしなくて良い」と書いているにも関らず実際は気にする必要がある #78
Comments
そうですね。。。基本的に初心者をターゲットにして「習ってないことを使わないでね」という不文律で作っているので、どこかにそれを明記する形でサポートですかね。。。 |
数値計算に丸め誤差はつきものなので、この類のテストは閾値を決め、ある程度の誤差を許すのが定石ですね。社内のDiffベースのテストも、一旦Floatにキャストしたものを出力するというアプローチを取っています |
いっそ |
いっそのこと有理数を使ってもらうのも手では(使えるのか?) |
なるほど。型注釈で |
とりあえず現状は入力が小数形式だから使えないですが |
などの道があると思います |
何もimportしないで👇 ができたので、いけると思いますよ > 0.5 :: Rational
1 % 2 |
と、思ったら
|
こちらですが、直し方としてはrunHaskellExercise'やrunHaskellExerciseWithStdin に、解答が等しいかどうかを |
課題に書かれている「複利計算の式」を使えば良いのですが
再帰を使って計算したり,
taashiさんのツイート: "コード calcCI :: Double -> Double -> Double -> Double calcCI _ 0 a = a calcCI r y a = calcCI r (y - 1) $ a * (1 + r / 100)"
^
の代わりに**
を使うと誤差が発生するようです.誤差を許容する修正をしようとしたのですが,パット見テキストの同値性を使ってるので即座の修正は難しそうですね.
The text was updated successfully, but these errors were encountered: