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 IfEnd 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 zeroFunction 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 IfEnd 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 IfEnd Function

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: