ran3.txt

来自「VB常用数值算法集 内含有解线性代数方程组」· 文本 代码 · 共 35 行

TXT
35
字号
Static Function RAN3(IDUM&)
    MBIG& = 1000000000: MSEED& = 161803398: MZ& = 0: FAC = 0.000000001
    Dim MA&(55)
    If IDUM& < 0 Or IFF = 0 Then
        IFF = 1
        MJ& = MSEED& - Abs(IDUM&)
        MJ& = MJ& - MBIG& * Int(MJ& / MBIG&)
        MA&(55) = MJ&
        MK& = 1
        For I = 1 To 54
            II = (21 * I) - 55 * Int((21 * I) / 55)
            MA&(II) = MK&
            MK& = MJ& - MK&
            If MK& < MZ& Then MK& = MK& + MBIG&
            MJ& = MA&(II)
        Next I
        For K = 1 To 4
            For I = 1 To 55
                MA&(I) = MA&(I) - MA&(1 + I + 30 - 55 * Int((I + 30) / 55))
                If MA&(I) < MZ& Then MA&(I) = MA&(I) + MBIG&
            Next I
        Next K
        INEXT = 0
        INEXTP = 31
        IDUM& = 1
    End If
    INEXT = INEXT + 1
    If INEXT = 56 Then INEXT = 1
    INEXTP = INEXTP + 1
    If INEXTP = 56 Then INEXTP = 1
    MJ& = MA&(INEXT) - MA&(INEXTP)
    If MJ& < MZ& Then MJ& = MJ& + MBIG&
    MA&(INEXT) = MJ&
    RAN3 = MJ& * FAC
End Function

⌨️ 快捷键说明

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