value should be zero if NaN