Ignore:
Timestamp:
Nov 27, 2006, 1:07:32 AM (17 years ago)
Author:
イグトランス (egtra)
Message:

misc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Include/basic/function.sbp

    r1 r10  
    5959Function ipow(x As Double, n As Long) As Double
    6060    Dim abs_n As Long
    61     Dim r As Double
     61    Dim r = 1 As Double
    6262
    6363    abs_n=Abs(n) As Long
    64     r=1
    6564    While abs_n<>0
    66         If abs_n and 1 Then r = r * x
     65        If abs_n and 1 Then r *= x
    6766        x = x * x
    6867        abs_n >>= 1 ' abs_n \= 2
     
    275274
    276275Function Atn2(y As Double, x As Double) As Double
    277     If x = 0 Then
    278         Atn2 = Sgn(y) * _System_PI * 0.5
    279     Else
    280         Atn2 = Atn(y / x)
    281         If x < 0 Then
    282             Atn2 += CopySign(_System_PI, y)
    283         End If
    284     End If
     276    Atn2 = Math.Atan2(y, x)
    285277End Function
    286278
     
    410402    End If
    411403
    412     StartPos=StartPos-1
     404    StartPos--
    413405    If StartPos<0 Then
    414406        'error
     
    427419            If buf1[i2]<>buf2[i3] Then Exit Do
    428420
    429             i2=i2+1
    430             i3=i3+1
     421            i2++
     422            i3++
    431423        Loop
    432424        If InStr Then Exit While
    433         i=i+1
     425        i++
    434426    Wend
    435427End Function
     
    446438    Dim length As Long
    447439
    448     StartPos=StartPos-1
     440    StartPos--
    449441    If StartPos<0 Then
    450442        'error
     
    596588    If sign Then
    597589        buffer[i]=Asc("-")
    598         i=i+1
     590        i++
    599591    End If
    600592
     
    602594        '指数表示(桁が大きい場合)
    603595        buffer[i]=temp[0]
    604         i=i+1
     596        i++
    605597        buffer[i]=Asc(".")
    606         i=i+1
     598        i++
    607599        memcpy(buffer+i,temp+1,14)
    608         i=i+14
     600        i+=14
    609601        buffer[i]=Asc("e")
    610         i=i+1
     602        i++
    611603        wsprintf(buffer+i,"+%03d",dec-1)
    612604
     
    617609        '指数表示(桁が小さい場合)
    618610        buffer[i]=temp[0]
    619         i=i+1
     611        i++
    620612        buffer[i]=Asc(".")
    621         i=i+1
     613        i++
    622614        memcpy(buffer+i,temp+1,14)
    623         i=i+14
     615        i+=14
    624616        buffer[i]=Asc("e")
    625         i=i+1
     617        i++
    626618        wsprintf(buffer+i,"%03d",dec-1)
    627619
     
    635627        While i2>0
    636628            buffer[i]=temp[i3]
    637             i=i+1
    638             i3=i3+1
    639             i2=i2-1
     629            i++
     630            i3++
     631            i2--
    640632        Wend
    641633        buffer[i]=Asc(".")
    642         i=i+1
     634        i++
    643635    Else
    644636        buffer[i]=&H30
    645         i=i+1
     637        i++
    646638        buffer[i]=Asc(".")
    647         i=i+1
     639        i++
    648640
    649641        i2=dec
    650642        While i2<0
    651643            buffer[i]=&H30
    652             i=i+1
    653             i2=i2+1
     644            i++
     645            i2++
    654646        Wend
    655647    End If
     
    658650    While i3<15
    659651        buffer[i]=temp[i3]
    660         i=i+1
    661         i3=i3+1
     652        i++
     653        i3++
    662654    Wend
    663655
    664656    While buffer[i-1]=&H30
    665         i=i-1
     657        i--
    666658    Wend
    667     If buffer[i-1]=Asc(".") Then i=i-1
     659    If buffer[i-1]=Asc(".") Then i--
    668660
    669661    buffer[i]=0
     
    756748
    757749                i64data=i64data*&O10
    758                 i=i-1
     750                i--
    759751            Wend
    760752        ElseIf TempPtr(1)=Asc("H") Then
     
    776768            i64data=1
    777769            While i>=2
    778                 Val=Val+i64data*TempPtr[i]
    779 
    780                 i64data=i64data*&H10
     770                Val += i64data*TempPtr[i]
     771
     772                i64data *= &H10
    781773                i--
    782774            Wend
     
    810802        i3=i-1
    811803        While i3>=0
    812             Val=Val+dbl*(buf[i3]-&H30)
    813 
    814             dbl=dbl*10
     804            Val += dbl*(buf[i3]-&H30)
     805
     806            dbl *= 10
    815807            i3--
    816808        Wend
     
    863855    Dim NowPos As Long, BeginPos As Long
    864856
    865     FileNum=FileNum-1
     857    FileNum--
    866858
    867859    NowPos=SetFilePointer(_System_hFile(FileNum),0,NULL,FILE_CURRENT)
     
    947939            End If
    948940
    949             i=i+2
    950             i2=i2+2
     941            i += 2
     942            i2 += 2
    951943            Continue
    952944        End If
     
    960952        If dir Then dir[i2]=path[i]
    961953
    962         i=i+1
    963         i2=i2+1
     954        i++
     955        i2++
    964956    Loop
    965957    If dir Then dir[i3]=0
    966     i3=i3+(i-i2)
     958    i3 += ii-i2
    967959
    968960    'ファイル名をコピー
     
    977969            End If
    978970
    979             i=i+2
    980             i2=i2+2
     971            i += 2
     972            i2 += 2
    981973            Continue
    982974        End If
     
    990982        If fname Then fname[i2]=path[i]
    991983
    992         i=i+1
    993         i2=i2+1
     984        i++
     985        i2++
    994986    Loop
    995987    If i3=-1 Then i3=i2
    996988    If fname Then fname[i3]=0
    997     i3=i3+(i-i2)
     989    i3 += i-i2
    998990
    999991    '拡張子名をコピー
Note: See TracChangeset for help on using the changeset viewer.