# 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``

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.