2.3 浮動小数点を比較する

# sprintfとフォーマット指定子を使用して、小数点以下の特定の桁で丸めて比較する。
# equal(NUM1, NUM2, PRECISION) : NUM1とNUM2をPRECISION桁で丸めてから比較し、
# 等しい場合は真を返す
sub equal {
  my ($A, $B, $dp) = @_;
  return sprintf("%.${dp}g, $A) eq sprintf("%.${dp}g", $B);
}