support inf, nan