  Advertiser Disclosure
 TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK Specialized Dev Zones Research Center eBook Library .NET Java C++ Web Dev Architecture Database Security Open Source Enterprise Mobile Special Reports 10-Minute Solutions DevXtra Blogs Slideshow    Home » Tip Bank » .NET » VB.NET » Math Processing
Language: VB4,VB5,VB6,VBS
Expertise: Intermediate
Dec 25, 1999

### WEBINAR:On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning

# ASin, ACos, ACot, ASec, ACsc - Missing inverse trig functions

``````' arc sine
' error if value is outside the range [-1,1]

Function ASin(value As Double) As Double
If Abs(value) <> 1 Then
ASin = Atn(value / Sqr(1 - value * value))
Else
ASin = 1.5707963267949 * Sgn(value)
End If
End Function

' arc cosine
' error if NUMBER is outside the range [-1,1]

Function ACos(ByVal number As Double) As Double
If Abs(number) <> 1 Then
ACos = 1.5707963267949 - Atn(number / Sqr(1 - number * number))
ElseIf number = -1 Then
ACos = 3.14159265358979
End If
'elseif number=1 --> Acos=0 (implicit)
End Function

' arc cotangent
' error if NUMBER is zero

Function ACot(value As Double) As Double
ACot = Atn(1 / value)
End Function

' arc secant
' error if value is inside the range [-1,1]

Function ASec(value As Double) As Double
' NOTE: the following lines can be replaced by a single call
'            ASec = ACos(1 / value)
If Abs(value) <> 1 Then
ASec = 1.5707963267949 - Atn((1 / value) / Sqr(1 - 1 / (value * value)))
Else
ASec = 3.14159265358979 * Sgn(value)
End If
End Function

' arc cosecant
' error if value is inside the range [-1,1]

Function ACsc(value As Double) As Double
' NOTE: the following lines can be replaced by a single call
'            ACsc = ASin(1 / value)
If Abs(value) <> 1 Then
ACsc = Atn((1 / value) / Sqr(1 - 1 / (value * value)))
Else
ACsc = 1.5707963267949 * Sgn(value)
End If
End Function

``````
Francesco Balena Submit a Tip Browse ".NET" Tips Browse All Tips   Comment and Contribute

(Maximum characters: 1200). You have 1200 characters left.    Thanks for your registration, follow us on our social networks to keep up-to-date