Skip to content

Commit

Permalink
Documentation, add more examples (#13825)
Browse files Browse the repository at this point in the history
  • Loading branch information
juancarlospaco authored Apr 1, 2020
1 parent 484548c commit 4816984
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 12 deletions.
10 changes: 10 additions & 0 deletions lib/posix/inotify.nim
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,13 @@ proc inotify_add_watch*(fd: cint; name: cstring; mask: uint32): cint{.
# Remove the watch specified by WD from the inotify instance FD.
proc inotify_rm_watch*(fd: cint; wd: cint): cint{.cdecl,
importc: "inotify_rm_watch", header: "<sys/inotify.h>".}


runnableExamples:
when defined(linux):
block:
let inoty: cint = inotify_init() ## Create 1 Inotify.
doAssert inoty >= 0 ## Check for errors.
let watchdoge: cint = inotify_add_watch(inoty, ".", IN_ALL_EVENTS) ## Add directory to watchdog.
doAssert watchdoge >= 0 ## Check for errors.
doAssert inotify_rm_watch(inoty, watchdoge) >= 0 ## Remove directory from the watchdog
8 changes: 5 additions & 3 deletions lib/pure/concurrency/cpuinfo.nim
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,6 @@ when defined(haiku):
proc countProcessors*(): int {.rtl, extern: "ncpi$1".} =
## returns the number of the processors/cores the machine has.
## Returns 0 if it cannot be detected.
##
## .. code-block:: nim
## block: doAssert countProcessors() >= 0
when defined(windows):
type
SYSTEM_INFO {.final, pure.} = object
Expand Down Expand Up @@ -98,3 +95,8 @@ proc countProcessors*(): int {.rtl, extern: "ncpi$1".} =
else:
result = sysconf(SC_NPROCESSORS_ONLN)
if result <= 0: result = 0


runnableExamples:
block:
doAssert countProcessors() > 0
1 change: 1 addition & 0 deletions lib/pure/osproc.nim
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,7 @@ proc errorHandle*(p: Process): FileHandle {.rtl, extern: "nosp$1",
proc countProcessors*(): int {.rtl, extern: "nosp$1".} =
## Returns the number of the processors/cores the machine has.
## Returns 0 if it cannot be detected.
## It is implemented just calling `cpuinfo.countProcessors`.
result = cpuinfo.countProcessors()

proc execProcesses*(cmds: openArray[string],
Expand Down
15 changes: 8 additions & 7 deletions lib/pure/stats.nim
Original file line number Diff line number Diff line change
Expand Up @@ -327,13 +327,14 @@ runnableExamples:
var statistics: RunningStat ## Must be "var"
statistics.push(@[1.0, 2.0, 1.0, 4.0, 1.0, 4.0, 1.0, 2.0])
doAssert statistics.n == 8
doAssert statistics.mean() is SomeFloat
doAssert statistics.variance() is SomeFloat
doAssert statistics.varianceS() is SomeFloat
doAssert statistics.skewness() is SomeFloat
doAssert statistics.skewnessS() is SomeFloat
doAssert statistics.kurtosis() is SomeFloat
doAssert statistics.kurtosisS() is SomeFloat
template `===`(a, b: float): bool = (abs(a - b) < 1e-9)
doAssert statistics.mean() === 2.0
doAssert statistics.variance() === 1.5
doAssert statistics.varianceS() === 1.714285714285715
doAssert statistics.skewness() === 0.8164965809277261
doAssert statistics.skewnessS() === 1.018350154434631
doAssert statistics.kurtosis() === -1.0
doAssert statistics.kurtosisS() === -0.7000000000000008


when isMainModule:
Expand Down
4 changes: 2 additions & 2 deletions lib/system/assertions.nim
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,15 @@ template assert*(cond: untyped, msg = "") =
## `command line switches <nimc.html#compiler-usage-command-line-switches>`_.
##
## .. code-block:: nim
## static: assert 1 == 9, "This works when not built with -d:danger or --assertions:off"
## static: assert 1 == 9, "This assertion generates code when not built with -d:danger or --assertions:off"
const expr = astToStr(cond)
assertImpl(cond, msg, expr, compileOption("assertions"))

template doAssert*(cond: untyped, msg = "") =
## Similar to ``assert`` but is always turned on regardless of ``--assertions``.
##
## .. code-block:: nim
## static: assert 1 == 9, "This works when built with/without -d:danger or --assertions:off"
## static: doAssert 1 == 9, "This assertion generates code when built with/without -d:danger or --assertions:off"
const expr = astToStr(cond)
assertImpl(cond, msg, expr, true)

Expand Down

0 comments on commit 4816984

Please sign in to comment.