float 연산을 integer처럼 검사하는 습관이 코드를 망친다
Float and integer arithmetic follow two different paradigms

integer 연산에서는 사후 검사가 무의미하고 사전 예측이 필수지만, IEEE-754 float은 NaN과 무한대가 정상적으로 전파되므로 패러다임이 완전히 다르다. 저자는 FLT_EPSILON 같은 임의의 epsilon으로 0 나누기를 막는 관행이 실제로는 무용지물임을 보여준다. 3.4×10^38을 0.9로 나눠도 무한대가 나오기 때문이다. 해법은 연산 후 결과가 유한한지 isfinite로 확인하는 단 하나의 검사다. 다만 유한한 결과가 정확한 결과를 보장하지는 않는다.
float에는 많은 결함이 있지만, 적어도 이번만큼은 내 개인적인 의견으로, integer 연산보다 훨씬 편리하고 안전하게 다룰 수 있게 해준다고 생각한다.