Mais conteúdo relacionado
Hokkaido pm 8 LT
- 1. Hokkaido.pm #8
Lightning Talk
Hachioji.pm / Kokusaitenjijomae.pm
@moznion
Sunday, December 23, 12
- 2. @moznion
大学生
アルバイトソフトウェア
エンジニア
2年前まで道民でした
2日前に論文が
リジェクトされたので
ブルー入ってます
Sunday, December 23, 12
- 3. クリスマスらしく
Acme の話……
Sunday, December 23, 12
- 4. クリスマスらしく
Acme の話……
はしません
Sunday, December 23, 12
- 5. 皆さん
Perl で数値計算してますか!?
Sunday, December 23, 12
- 6. 数値計算してると
クソ面倒なアイツがいますよね
Sunday, December 23, 12
- 8. 浮動小数点数
めんどい
Sunday, December 23, 12
- 9. 浮動小数点数
めんどい
今日はこれについて
Sunday, December 23, 12
- 10. さて
拙作のモジュールで
ハマったこと
Sunday, December 23, 12
- 11. 浮動小数点数を
こんな感じでテスト
すると死ねます
Sunday, December 23, 12
- 14. こういう事をすると
テストがズッコケる
環境が出てくる
Sunday, December 23, 12
- 16. ありがたいことに
ISSUE が来る
(@syohex さんありがとうございます)
Sunday, December 23, 12
- 17. ISSUE が来る
(ありがたいことに)
https://github.com/moznion/Math--PhaseOnlyCorrelation/issues/1
Sunday, December 23, 12
- 18. 浮動小数は色々めんどいから
普通に比較するとダメよ、
とのこと
† 以下が詳しい
x86における浮動小数点演算の精度の制御と、
80bit 浮動小数点演算問題
http://www.takeoka.org/~take/cpu/num/float80bit.html
Sunday, December 23, 12
- 19. あと
CPAN Testers Daily
Summary Reportからも
毎日メールが来る
(深夜に)
Sunday, December 23, 12
- 20. そして
夜も眠れない!!
CPAN Testers Daily
Summary Reportから
(Report はありがたいんですが)
毎日メールが来る
Sunday, December 23, 12
- 21. 夜は眠りたいので
直しましょう
Sunday, December 23, 12
- 24. e.g.
TODO こんなかんじ
Sunday, December 23, 12
- 25. e.g.
まさに外道!!!
TODO こんなかんじ
Sunday, December 23, 12
- 26. 悪党な方法過ぎて駄目
そもそもテストの正当性が
失われている
Sunday, December 23, 12
- 28. $var * 10 ^ $num
してから小数点以下を
切り捨ててテストする
Sunday, December 23, 12
- 30. $num 桁までの精度は
保証される
ただ、ちょっとダサい (主観)
Sunday, December 23, 12
- 31. あと、整数桁数が
莫大に増えたら
それもそれで問題な気が
Sunday, December 23, 12
- 33. 採択域を設定して、
両者の差がその範囲内かを
テストする
Sunday, December 23, 12
- 34. e.g.
TODO こんなかんじ
Sunday, December 23, 12
- 35. 割と良い感じ。
拙作のモジュールでも
一時期 (3日くらい) やってた
Sunday, December 23, 12
- 39. 結構メイジャーな方法っぽい
(特にPhysics のモジュールで)
けど、なんかやだ (主観)
Sunday, December 23, 12
- 43. これが一番しっくり来た。
なんか良い感じ
(Math のモジュールで
良く見かける)
Sunday, December 23, 12
- 48. とまあ
こんな感じで
Sunday, December 23, 12
- 49. 浮動小数点数
めんどい
Sunday, December 23, 12
- 51. 浮動小数点数
めんどい
Sunday, December 23, 12
- 52. 浮動小数点数
めんどい
テストめんどい
Sunday, December 23, 12
- 53. 浮動小数点数
めんどい
こうなるとまずい
テストめんどい
Sunday, December 23, 12
- 54. 「テストこけるけど動くから
大丈夫だよー」
「めんどいからテストしなくて
もいいよー」
「“cpanm -f Foo::Bar” でおk」
Sunday, December 23, 12
- 55. 「テストこけるけど動くから
大丈夫だよー」
破滅待ったなし
「めんどいからテストしなくて
もいいよー」
「“cpanm -f Foo::Bar” でおk」
Sunday, December 23, 12
- 56. テストを ろにしてはならない
Sunday, December 23, 12
- 59. テストがすぐ実行できて軽いこと
こまめにテストを走らせられる
(物理的 | 心理的)環境を整える
Sunday, December 23, 12
- 61. テストが書きやすいこと
書きやすければ書きやすい程
テストの習慣は定着する
Sunday, December 23, 12
- 63. というわけで、
浮動小数点のテストを支える
モジュールが有るとハッピー
Sunday, December 23, 12
- 64. 例えば
Test::Number::Delta
Sunday, December 23, 12
- 65. 方法3 として挙げた
採択域うんぬんのテストを
サポートしてくれる
Sunday, December 23, 12
- 66. e.g.
TODO こんなかんじ
(デフォルトだと1-e6 が採択域)
Sunday, December 23, 12
- 68. 名前的に
Test::Float
もイケそうだけど
使ったことないです
Sunday, December 23, 12
- 69. あと今
Test::LimitDecimalPlaces
というモジュールを
書いてます
https://github.com/moznion/Test--LimitDecimalPlaces
Sunday, December 23, 12
- 70. 方法5 として挙げた
sprintf() を使って
テスト出来るモジュールです
(ヘルパーメソッド的な)
Sunday, December 23, 12
- 76. limit_ok
limit_ok_by
limit_not_ok
limit_not_ok_by
Sunday, December 23, 12
- 77. limit_ok
limit_ok_by
limit_not_ok
limit_not_ok_by
メソッド名がダサい
Sunday, December 23, 12
- 78. limit_ok
limit_ok_by
limit_not_ok
limit_not_ok_by
メソッド名がダサい
そもそも英文法的に怪しい
Sunday, December 23, 12
- 79. とりあえず
PrePAN に投げて反応を
待とうかと思っています
Sunday, December 23, 12
- 80. アドバイス
目下募集中です
よろしくお願いします。
Sunday, December 23, 12
- 81. あと、他にも浮動小数点数
周りの良いテストモジュール
があれば教えてください
Sunday, December 23, 12