github.com/gopherd/gonum@v0.0.4/internal/math32/sqrt.go (about)

     1  // Copyright ©2015 The Gonum Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  //go:build (!amd64 && !arm64) || noasm || gccgo || safe
     6  // +build !amd64,!arm64 noasm gccgo safe
     7  
     8  package math32
     9  
    10  import (
    11  	"math"
    12  )
    13  
    14  // Sqrt returns the square root of x.
    15  //
    16  // Special cases are:
    17  //	Sqrt(+Inf) = +Inf
    18  //	Sqrt(±0) = ±0
    19  //	Sqrt(x < 0) = NaN
    20  //	Sqrt(NaN) = NaN
    21  func Sqrt(x float32) float32 {
    22  	// FIXME(kortschak): Direct translation of the math package
    23  	// asm code for 386 fails to build.
    24  	return float32(math.Sqrt(float64(x)))
    25  }