⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 base.bas

📁 实现M5加密算法的源程序
💻 BAS
字号:
Attribute VB_Name = "Mathmatics"
Function LogN(Number As Double, Base As Double) As Double
    If Base <> 1 And Base > 0 Then LogN = Log(Number) / Log(Base)
End Function

Function Sec(Number As Double) As Double
    If Number <> PI / 2 And Number <> -PI / 2 Then Sec = 1 / Cos(Number)
End Function

Function Csc(Number As Double) As Double
    If Number <> 0 And Number <> PI Then Csc = 1 / Sin(Number)
End Function

Function Cot(Number As Double) As Double
    If Number <> 0 And Number <> PI Then Cot = 1 / Tan(Number)
End Function

Function ArcSin(Number As Double) As Double
If Number > 1 Or Number < -1 Then Exit Function
Select Case Number
    Case 1
        ArcSin = PI / 2
    Case -1
        ArcSin = -PI / 2
    Case Else
        If Abs(Number) < 1 Then ArcSin = Atn(Number / Sqr(-Number ^ 2 + 1))
    End Select
End Function

Function ArcCos(Number As Double) As Double
If Number > 1 Or Number < -1 Then Exit Function
Select Case Number
    Case 1
        ArcCos = 0
    Case -1
        ArcCos = PI
    Case Else
        If Abs(Number) < 1 Then ArcCos = Atn(-Number / Sqr(-Number ^ 2 + 1)) + 2 * Atn(1)
End Select
End Function

Function ArcSec(Number As Double) As Double
Select Case Number
    Case 1
        ArcSec = 0
    Case -1
        ArcSec = PI
    Case Else
        If Abs(Number) < 1 Then ArcSec = Atn(Number / Sqr(Number ^ 2 - 1)) + Sgn(Number - 1) * (2 * Atn(1))
End Select
End Function

Function ArcCsc(Number As Double) As Double
Select Case Number
    Case 1
        ArcCsc = PI / 2
    Case -1
        ArcCsc = -PI / 2
    Case Else
        If Abs(Number) < 1 Then ArcCsc = Atn(Number / Sqr(Number ^ 2 - 1)) + (Sgn(Number) - 1) * (2 * Atn(1))
End Select
End Function

Function ArcCot(Number As Double) As Double
ArcCot = Atn(Number) + 2 * Atn(1)
End Function

Function HSin(Number As Double) As Double
HSin = Exp(Number) - Exp(-Number)
HSin = HSin / 2
End Function

Function HCos(Number As Double) As Double
HCos = Exp(Number) + Exp(-Number)
HCos = HCos / 2
End Function

Function HTan(Number As Double) As Double
HTan = (Exp(Number) - Exp(-Number)) / (Exp(Number) + Exp(-Number))
End Function

Function HSec(Number As Double) As Double
HSec = 2 / (Exp(Number) + Exp(-Number))
End Function

Function HCsc(Number As Double) As Double
If Number <> 0 Then HCsc = 2 / (Exp(Number) - Exp(-Number))
End Function

Function HCot(Number As Double) As Double
HCot = (Exp(Number) + Exp(-Number)) / (Exp(Number) - Exp(-Number))
End Function

Function HArcSin(Number As Double) As Double
HArcSin = Log(Number + Sqr(Number * Number + 1))
End Function

Function HArcCos(Number As Double) As Double
HArcCos = Log(Number + Sqr(Number * Number - 1))
End Function

Function HArcTan(Number As Double) As Double
If Number <> 1 Then HArcTan = Log((1 + Number) / (1 - Number)) / 2
End Function

Function HArcSec(Number As Double) As Double
HArcSec = Log((Sqr(-Number * Number + 1) + 1) / Number)
End Function

Function HArcCsc(Number As Double) As Double
HArcCsc = Log((Sgn(Number) * Sqr(Number * Number + 1) + 1) / Number)
End Function

Function HArcCot(Number As Double) As Double
If Number <> 1 Then HArcCot = Log((Number + 1) / (Number - 1)) / 2
End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -