以前の仕様の正確な理由はなぜか具体的にどう修正されたのかという感じになります。library」により、「四則は無限精度」「それ以外の関数などは32桁の精度」で計算する、という仕様になっていました。ような場合でも誤差が発生する場合がある(そして、それは気にしないでしょ?)、となっていました。これ自体には問題はありません。コンピュータで以上のような計算のしかたをすれば、必ず起きる可能性があるものとして、受け取らねばならないものです。いう数がどうやって出てくるのかについては、いくつか検討してみましたが、まだ糸口がつかめていません。(どうやら見つかりました。使っている(のだろう)と、小飼さん(@dankogai)から指摘がありました。上位の1の連続が、ちょうど拡張浮動小数点の64ビット(ケチ表現無し)と一致します。以下は、これの修正に関する、あくまでも「憶測にもとづいた」議論です。具体的にどう修正されたのかがはっきりすれば、心配の必要は全てなくなります。想像される修正おそらく最も可能性が高いと思われるのは、入力の値が整数になっていて(これは前述のライブラリであれば、正確に判定できるはず)、整数平方根により正確な値が得られたならば(これも微妙な点は無いはず)、それを結果とする、という処理が、平方根の前処理として追加された、というもので、基本的に安全な範囲の修正と言えます。)の、「恐ろしくて数値計算に使えたものではない。」と閉じられている最後の段落あたりを参照)。元々のこの問題のチケットが、単に放置されていたのではなく、もし「WONTFIX」になっていたものを*1、わざわざ修正したのだとして、なぜ今更修正したのかがはっきりしてなかったとすると、「なんとなく直した」のではないかという懸念が出てきます。アドホックに手当する、というのは、こういった問題で一番やってはいけないことで、もしそうだったら、という不安があります。アドホックに修正したか。2018年4月6日とのことなので、以下で私が考えるような「さいきょうの修正」は、されていない模様ですが、参考のために書いておきます。平方根には「荒っぽい近似が得られれば、ごく簡単に精度の桁を倍近く伸ばせる」という性質があります。2.0とすれば、1回でもかなり改善されます。全ての場合で精度が改善される問題だったような、「トリビアルに自明な結果」を外すことも無くなる(はず)だと思うのですが、どうでしょうか。*1:後述のように、平方根の計算には、簡単かつ確実に精度を上げる方法がありますから、それなりに意図的にそのままにしたものではないか、という気がします。月別アーカイブMathJax読み込みはてなブログをはじめよう!metanestさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。