Changeset 285 for Include/Classes
- Timestamp:
- Jul 26, 2007, 5:43:54 PM (17 years ago)
- Location:
- Include/Classes
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
Include/Classes/ActiveBasic/Math/Math.ab
r276 r285 13 13 Function CopySign(x As Single, y As Single) As Single 14 14 SetDWord(VarPtr(CopySign), (GetDWord(VarPtr(x)) And &h7fffffff) Or (GetDWord(VarPtr(y)) And &h80000000)) 15 End Function 16 17 Function Hypot(x As Double, y As Double) As Double 18 If x = 0 Then 19 Hypot = Abs(y) 20 Else If y = 0 Then 21 Hypot = Abs(x) 22 Else 23 Dim ax = Abs(x) 24 Dim ay = Abs(y) 25 If ay > ax Then 26 Dim t = x / y 27 Hypot = ay * Sqr(1 + t * t) 28 Else 29 Dim t = y / x 30 Hypot = ax * Sqr(1 + t * t) 31 End If 32 End If 15 33 End Function 16 34 … … 39 57 40 58 Function IsInf(x As Double) As Boolean 41 Dim p As *DWord, nan As Double 42 p = VarPtr(x) As *DWord 59 Dim p = VarPtr(x) As *DWord 43 60 p[1] And= &h7fffffff 44 nan= ActiveBasic.Math.Detail.GetInf(False)45 IsInf = (memcmp(p As *Byte, VarPtr( nan), SizeOf (Double)) = 0)61 Dim inf = ActiveBasic.Math.Detail.GetInf(False) 62 IsInf = (memcmp(p As *Byte, VarPtr(inf), SizeOf (Double)) = 0) 46 63 End Function 47 64 48 65 Function IsFinite(x As Double) As Boolean 49 Dim p As *DWord, nan As Double 50 p = VarPtr(x) As *DWord 51 ' p[1] And= &h7ffe0000 66 Dim p = VarPtr(x) As *DWord 52 67 p[1] And= &H7FF00000 53 p[0] = 0 54 nan = ActiveBasic.Math.Detail.GetInf(/*x,*/ False) 55 IsFinite = (memcmp(p As BytePtr, VarPtr(nan), SizeOf (Double)) = 0) 68 IsFinite = p[1] And &H7FF00000 = &H7FF00000 56 69 End Function 57 70 … … 82 95 83 96 Function GetNaN() As Double 84 Dim p As *DWord 85 p = VarPtr(GetNaN) As *DWord 97 Dim p = VarPtr(GetNaN) As *DWord 86 98 p[0] = 0 87 99 p[1] = &H7FF80000 … … 104 116 While i >= 1 105 117 Dim t = (i * x) As Double 106 s = t / (2 + t / (2 * i + 1 + s))118 s = t * (2 * i + 1 + s) / (2 + t) 107 119 i-- 108 120 Wend … … 111 123 112 124 Function _Support_tan(x As Double, ByRef k As Long) As Double 113 Dim i As Long114 Dim t As Double, x2 As Double115 116 125 If x>=0 Then 117 126 k=Fix(x/(_System_PI/2)+0.5) … … 122 131 x=(x-(CDbl(3217)/CDbl(2048))*k)+4.4544551033807686783083602485579e-6*k 123 132 124 x2=x*x125 t=0133 Dim x2 = x * x 134 Dim t = 0 As Double 126 135 136 Dim i As Long 127 137 For i=19 To 3 Step -2 128 138 t=x2/(i-t) -
Include/Classes/System/IO/DirectoryInfo.ab
r271 r285 45 45 46 46 ' 終端の '\' を除去 47 If dirPath[dirPath.Length-1] = Asc("\ \") Then48 dirPath = dirPath.Sub String(0, dirPath.Length-1)47 If dirPath[dirPath.Length-1] = Asc("\") Then 48 dirPath = dirPath.Substring(0, dirPath.Length-1) 49 49 End If 50 50 … … 55 55 op.hwnd = NULL 56 56 op.wFunc = FO_DELETE 57 op.pFrom = dirPath.Chars57 op.pFrom = ToTCStr(dirPath) 58 58 op.pTo = NULL 59 59 op.fFlags = FOF_NOCONFIRMATION or FOF_NOERRORUI or FOF_SILENT -
Include/Classes/System/IO/DriveInfo.ab
r271 r285 40 40 Function DriveFormat() As String 41 41 Dim systemName[15] As TCHAR 42 If GetVolumeInformation(m_DriveName, NULL, NULL, NULL, NULL, NULL, systemName, Len (systemName)) Then42 If GetVolumeInformation(m_DriveName, NULL, 0, NULL, NULL, NULL, systemName, Len (systemName)) Then 43 43 Return systemName 44 44 Else … … 52 52 53 53 Function IsReady() As Boolean 54 If GetVolumeInformation(m_DriveName, NULL, NULL, NULL, NULL, NULL, NULL, NULL) Then54 If GetVolumeInformation(m_DriveName, NULL, 0, NULL, NULL, NULL, NULL, 0) Then 55 55 Return True 56 56 Else -
Include/Classes/System/IO/Path.ab
r281 r285 72 72 73 73 Dim tempFileName[ELM(MAX_PATH)] As TCHAR 74 __GetTempFileName(tempPath, "ABT", 0, tempFileName)75 free(tempPath)76 Return tempFileName74 Dim len = __GetTempFileName(tempPath, "ABT", 0, tempFileName) 75 _System_free(tempPath) 76 Return New String(tempFileName, len As Long) 77 77 End Function 78 78 -
Include/Classes/System/Math.ab
r268 r285 172 172 End If 173 173 End If 174 Dim i As Long, k As Long 175 Dim x2 As Double, w As Double 176 174 Dim k As Long 177 175 If x >= 0 Then 178 176 k = Fix(x / _System_LOG2 + 0.5) … … 183 181 x -= k * _System_LOG2 184 182 185 x2 = x * x186 w = x2 / 22187 188 i = 18183 Dim x2 = x * x 184 Dim w = x2 / 22 185 186 Dim i = 18 189 187 While i >= 6 190 188 w = x2 / (w + i) -
Include/Classes/System/String.ab
r272 r285 506 506 Clone = This 507 507 End Function 508 508 509 Static Function Copy(s As String) As String 509 510 Copy = New String(s.Chars, s.m_Length) … … 520 521 Dim size = m_Length 521 522 #endif 522 Return _System_GetHashFromWordArray(Chars As *Word, size) 523 Return _System_GetHashFromWordArray(Chars As *Word, size) Xor size 523 524 End Function 524 525 … … 541 542 542 543 Function PadRight(total As Long) As String 543 Pad Left(total, &h30 As StrChar)544 PadRight(total, &h30 As StrChar) 544 545 End Function 545 546 -
Include/Classes/System/Windows/Forms/Control.ab
r282 r285 309 309 ' EndInvokeがDeleteする 310 310 Dim asyncResult = New System.Windows.Forms.Detail.AsyncResultForInvoke(CreateEvent(0, FALSE, FALSE, 0)) 311 ' OnControlBeginInvokeがDeleteする312 311 Dim asyncInvokeData = New System.Windows.Forms.Detail.AsyncInvokeData 313 312 With asyncInvokeData
Note:
See TracChangeset
for help on using the changeset viewer.