Copyright 2010 The Go Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.

package math
Dim returns the maximum of x-y or 0. Special cases are: Dim(+Inf, +Inf) = NaN Dim(-Inf, -Inf) = NaN Dim(x, NaN) = Dim(NaN, x) = NaN
The special cases result in NaN after the subtraction: +Inf - +Inf = NaN -Inf - -Inf = NaN NaN - y = NaN x - NaN = NaN
	 :=  - 
v is negative or 0
		return 0
v is positive or NaN
	return 
}
Max returns the larger of x or y. Special cases are: Max(x, +Inf) = Max(+Inf, x) = +Inf Max(x, NaN) = Max(NaN, x) = NaN Max(+0, ±0) = Max(±0, +0) = +0 Max(-0, -0) = -0
func (,  float64) float64

special cases
	switch {
	case IsInf(, 1) || IsInf(, 1):
		return Inf(1)
	case IsNaN() || IsNaN():
		return NaN()
	case  == 0 &&  == :
		if Signbit() {
			return 
		}
		return 
	}
	if  >  {
		return 
	}
	return 
}
Min returns the smaller of x or y. Special cases are: Min(x, -Inf) = Min(-Inf, x) = -Inf Min(x, NaN) = Min(NaN, x) = NaN Min(-0, ±0) = Min(±0, -0) = -0
func (,  float64) float64

special cases
	switch {
	case IsInf(, -1) || IsInf(, -1):
		return Inf(-1)
	case IsNaN() || IsNaN():
		return NaN()
	case  == 0 &&  == :
		if Signbit() {
			return 
		}
		return 
	}
	if  <  {
		return 
	}
	return