Uses Float::INFINITY instead of 1/0.0