Custom Query (3927 matches)
Results (76 - 78 of 3927)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #3570 | Duplicate | Array index statements are called twice when used in a assignment | ||
| Description |
When values assigned to an array element, the index statement seems to be evaluated twice. If only the array value is used in another statement this behavior does not seem to be occurring. Example: Global $aArr[12] $aArr[MsgBox(0, "", "appear twice")] = "Test" $x = $aArr[MsgBox(0, "", "appear once")] AutoIt v.3.3.8.1 and below haven't got this problem. With 3.3.10.2 (x86 and x64) and greater i can reproduce this behaviour. Versions between 3.3.8.1 and 3.3.10.2 were not tested. |
|||
| #3794 | Fixed | StringRegExp - string passed by value instead by reference? | ||
| Description |
Script: ; create a very large string (should be about 400 MB because UTF-16 is used) Global $sString = "" For $i = 1 To 20 * 1024 * 1024 $sString &= "xxxxxxxxxx" Next ; precompile pattern StringRegExp("", "^.") ; determine time required for a small input string: $iT = TimerInit() StringRegExp("Test", "^.") ConsoleWrite(StringFormat("RegEx with small input string: % 8.3f ms\n", TimerDiff($iT))) ; determine time required for a large input string: $iT = TimerInit() StringRegExp($sString, "^.") ConsoleWrite(StringFormat("RegEx with large input string: % 6.1f ms\n", TimerDiff($iT))) Output: RegEx with small input string: 0.012 ms RegEx with large input string: 328.1 ms The execution time depends directly on the size of the input string although only the first character of the string is processed. If instead of StringRegExp a StringLeft or a StringMid is used then the execution times are independent of this. This leads to the assumption that in the implementation of StringRegExp() at some point the input string is passed as "by value". This would require the creation of a local copy of the string and would explain the loss of time. If it is really a "by value" problem, i suggest to switch completely to "by reference" internally if possible. This would mean a massive performance gain for StringRegExp especially with large strings. |
|||
| #3800 | Fixed | Number() - case sensivity with scientific notation by using $NUMBER_AUTO | ||
| Description |
Following Script: $sIntUpper = "12345E5" $sIntLower = "12345e5" $sFloatUpper = "1.2345E5" $sFloatLower = "1.2345e5" ConsoleWrite(StringFormat("\n xxx -> Number(xxx)\n% 8s -> %10d (Type: %s)\n% 8s -> %10.0f (Type: %s)\n% 8s -> %10.0f (Type: %s)\n% 8s -> %10.0f (Type: %s)\n\n", _ $sIntUpper, Number($sIntUpper), VarGetType(Number($sIntUpper)), _ $sIntLower, Number($sIntLower), VarGetType(Number($sIntLower)), _ $sFloatUpper, Number($sFloatUpper), VarGetType(Number($sFloatUpper)), _ $sFloatLower, Number($sFloatLower), VarGetType(Number($sFloatLower)) )) produces: xxx -> Number(xxx) 12345E5 -> 12345 (Type: Int32) 12345e5 -> 1234500000 (Type: Double) 1.2345E5 -> 123450 (Type: Double) 1.2345e5 -> 123450 (Type: Double) The capitalized letter "E" is recognized as an exponential character only if a decimal separator appears before it. This is not the case for the lowercase "e". |
|||
