This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| discard """ | |
| disabled: false | |
| """ | |
| import math, algorithm | |
| proc sorted[T](a: openArray[T], order: TSortOrder): bool = | |
| result = true | |
| for i in 0 .. < a.high: | |
| if cmp(a[i], a[i+1]) * order > 0: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import os | |
| type | |
| TUtf16Char = distinct int16 | |
| WideCString = ptr array[0.. 1_000_000, TUtf16Char] | |
| const | |
| utf8Encoding = 65001 | |
| proc len(w: WideCString): int = |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| proc allocCStringArray*(a: openArray[string]): cstringArray = | |
| ## creates a NULL terminated cstringArray from `a`. The result has to | |
| ## be freed with `deallocCStringArray` after it's not needed anymore. | |
| result = cast[cstringArray](alloc0((a.len+1) * sizeof(cstring))) | |
| for i in 0 .. a.high: | |
| # XXX get rid of this string copy here: | |
| var x = a[i] | |
| result[i] = cast[cstring](alloc0(x.len+1)) | |
| copyMem(result[i], addr(x[0]), x.len) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # module A | |
| when not defined(dolog): | |
| template dolog(msg: string) = nil | |
| proc whatever() = | |
| dolog "start of whatever" | |
| doSomeWork | |
| dolog "end of whatever" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # | |
| # | |
| # Nimrod's Runtime Library | |
| # (c) Copyright 2011 Andreas Rumpf | |
| # | |
| # See the file "copying.txt", included in this | |
| # distribution, for details about the copyright. | |
| # | |
| ## This module implements big integers for Nimrod. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| proc parseBool(s: string): bool = | |
| case normalize(s) | |
| of "y", "yes", "true", "1", "on": result = true | |
| of "n", "no", "false", "0", "off": result = false | |
| else: raise newException(EInvalidValue, "cannot interpret as a bool: " & s) |
NewerOlder