1// Copyright 2016 The Go 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 5package math 6 7import "internal/cpu" 8 9func expTrampolineSetup(x float64) float64 10func expAsm(x float64) float64 11 12func logTrampolineSetup(x float64) float64 13func logAsm(x float64) float64 14 15// Below here all functions are grouped in stubs.go for other 16// architectures. 17 18const haveArchLog10 = true 19 20func archLog10(x float64) float64 21func log10TrampolineSetup(x float64) float64 22func log10Asm(x float64) float64 23 24const haveArchCos = true 25 26func archCos(x float64) float64 27func cosTrampolineSetup(x float64) float64 28func cosAsm(x float64) float64 29 30const haveArchCosh = true 31 32func archCosh(x float64) float64 33func coshTrampolineSetup(x float64) float64 34func coshAsm(x float64) float64 35 36const haveArchSin = true 37 38func archSin(x float64) float64 39func sinTrampolineSetup(x float64) float64 40func sinAsm(x float64) float64 41 42const haveArchSinh = true 43 44func archSinh(x float64) float64 45func sinhTrampolineSetup(x float64) float64 46func sinhAsm(x float64) float64 47 48const haveArchTanh = true 49 50func archTanh(x float64) float64 51func tanhTrampolineSetup(x float64) float64 52func tanhAsm(x float64) float64 53 54const haveArchLog1p = true 55 56func archLog1p(x float64) float64 57func log1pTrampolineSetup(x float64) float64 58func log1pAsm(x float64) float64 59 60const haveArchAtanh = true 61 62func archAtanh(x float64) float64 63func atanhTrampolineSetup(x float64) float64 64func atanhAsm(x float64) float64 65 66const haveArchAcos = true 67 68func archAcos(x float64) float64 69func acosTrampolineSetup(x float64) float64 70func acosAsm(x float64) float64 71 72const haveArchAcosh = true 73 74func archAcosh(x float64) float64 75func acoshTrampolineSetup(x float64) float64 76func acoshAsm(x float64) float64 77 78const haveArchAsin = true 79 80func archAsin(x float64) float64 81func asinTrampolineSetup(x float64) float64 82func asinAsm(x float64) float64 83 84const haveArchAsinh = true 85 86func archAsinh(x float64) float64 87func asinhTrampolineSetup(x float64) float64 88func asinhAsm(x float64) float64 89 90const haveArchErf = true 91 92func archErf(x float64) float64 93func erfTrampolineSetup(x float64) float64 94func erfAsm(x float64) float64 95 96const haveArchErfc = true 97 98func archErfc(x float64) float64 99func erfcTrampolineSetup(x float64) float64 100func erfcAsm(x float64) float64 101 102const haveArchAtan = true 103 104func archAtan(x float64) float64 105func atanTrampolineSetup(x float64) float64 106func atanAsm(x float64) float64 107 108const haveArchAtan2 = true 109 110func archAtan2(y, x float64) float64 111func atan2TrampolineSetup(x, y float64) float64 112func atan2Asm(x, y float64) float64 113 114const haveArchCbrt = true 115 116func archCbrt(x float64) float64 117func cbrtTrampolineSetup(x float64) float64 118func cbrtAsm(x float64) float64 119 120const haveArchTan = true 121 122func archTan(x float64) float64 123func tanTrampolineSetup(x float64) float64 124func tanAsm(x float64) float64 125 126const haveArchExpm1 = true 127 128func archExpm1(x float64) float64 129func expm1TrampolineSetup(x float64) float64 130func expm1Asm(x float64) float64 131 132const haveArchPow = true 133 134func archPow(x, y float64) float64 135func powTrampolineSetup(x, y float64) float64 136func powAsm(x, y float64) float64 137 138const haveArchFrexp = false 139 140func archFrexp(x float64) (float64, int) { 141 panic("not implemented") 142} 143 144const haveArchLdexp = false 145 146func archLdexp(frac float64, exp int) float64 { 147 panic("not implemented") 148} 149 150const haveArchLog2 = false 151 152func archLog2(x float64) float64 { 153 panic("not implemented") 154} 155 156const haveArchMod = false 157 158func archMod(x, y float64) float64 { 159 panic("not implemented") 160} 161 162const haveArchRemainder = false 163 164func archRemainder(x, y float64) float64 { 165 panic("not implemented") 166} 167 168// hasVX reports whether the machine has the z/Architecture 169// vector facility installed and enabled. 170var hasVX = cpu.S390X.HasVX 171