diff options
author | Zajcev Evgeny <zevlg@yandex.ru> | 2016-11-07 13:21:17 +0300 |
---|---|---|
committer | Zajcev Evgeny <zevlg@yandex.ru> | 2016-11-07 13:21:17 +0300 |
commit | b1a369d2fbb89112d90e54a34f94d4aae1bd1bc6 (patch) | |
tree | ab6a8f778e4791dda611366888992f8161b9ab70 | |
parent | 8b30506f724186625d8799989e5ee403d158c0b6 (diff) | |
download | Nim-b1a369d2fbb89112d90e54a34f94d4aae1bd1bc6.tar.gz |
[enh] isUpperAscii*, isLowerAscii* speedup execution by stopping
iteration as soon as possible
-rw-r--r-- | lib/pure/strutils.nim | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/pure/strutils.nim b/lib/pure/strutils.nim index bfc32bc71..129869373 100644 --- a/lib/pure/strutils.nim +++ b/lib/pure/strutils.nim @@ -179,9 +179,10 @@ proc isLowerAscii*(s: string): bool {.noSideEffect, procvar, if s.len() == 0: return false - result = true for c in s: - result = c.isLowerAscii() and result + if not c.isLowerAscii(): + return false + true proc isUpperAscii*(s: string): bool {.noSideEffect, procvar, rtl, extern: "nsuIsUpperAsciiStr".}= @@ -193,9 +194,10 @@ proc isUpperAscii*(s: string): bool {.noSideEffect, procvar, if s.len() == 0: return false - result = true for c in s: - result = c.isUpperAscii() and result + if not c.isUpperAscii(): + return false + true proc toLowerAscii*(c: char): char {.noSideEffect, procvar, rtl, extern: "nsuToLowerAsciiChar".} = |