debug をしてて、おかしい! abs() が 0 しか返さない!ってしばらく悩んでしまった。
C++だから、 abs() が多重定義されてて実数にも使えるはずなのにっ。と思ったんだが、それは std::abs() で、タダの abs() はモトの、 C の整数版 abs() のママなのであった……。
いや、フダンは fabs() 決め打ちで使ってたりしたんだが、今回に限って実数型を float/double/long double 全対応にしようとしたりしてて、めずらしく多重定義版を使ってみようとしたりして・・・