Source File
dim.go
Belonging Package
math
// 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) = NaNfunc (, float64) float64 {// The special cases result in NaN after the subtraction:// +Inf - +Inf = NaN// -Inf - -Inf = NaN// NaN - y = NaN// x - NaN = NaN:= -if <= 0 {// v is negative or 0return 0}// v is positive or NaNreturn}// 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//// Note that this differs from the built-in function max when called// with NaN and +Inf.func (, float64) float64 {if haveArchMax {return archMax(, )}return max(, )}func (, float64) float64 {// special casesswitch {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//// Note that this differs from the built-in function min when called// with NaN and -Inf.func (, float64) float64 {if haveArchMin {return archMin(, )}return min(, )}func (, float64) float64 {// special casesswitch {case IsInf(, -1) || IsInf(, -1):return Inf(-1)case IsNaN() || IsNaN():return NaN()case == 0 && == :if Signbit() {return}return}if < {return}return}
![]() |
The pages are generated with Golds v0.6.7. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |