patches for stricteffects (#24)
This commit is contained in:
parent
17e8479a74
commit
74ae5a71fa
|
@ -17,7 +17,7 @@ when not defined(windows):
|
|||
|
||||
var tp: Taskpool
|
||||
|
||||
proc dfs(depth, breadth: int): uint32 =
|
||||
proc dfs(depth, breadth: int): uint32 {.gcsafe.} =
|
||||
if depth == 0:
|
||||
return 1
|
||||
|
||||
|
|
|
@ -133,7 +133,7 @@ var
|
|||
odd: Matrix[float64]
|
||||
even: Matrix[float64]
|
||||
|
||||
proc heat(m: Matrix[float64], il, iu: int32): bool {.discardable.}=
|
||||
proc heat(m: Matrix[float64], il, iu: int32): bool {.discardable, gcsafe.}=
|
||||
# TODO to allow awaiting `heat` we return a dummy bool
|
||||
# The parallel spawns are updating the same matrix cells otherwise
|
||||
if iu - il > 1:
|
||||
|
@ -160,7 +160,7 @@ proc heat(m: Matrix[float64], il, iu: int32): bool {.discardable.}=
|
|||
row[j] = f(xu + i*dx, yu + j*dy)
|
||||
row[ny - 1] = randb(xu + i*dx, 0)
|
||||
|
||||
proc diffuse(output: Matrix[float64], input: Matrix[float64], il, iu: int32, t: float64): bool {.discardable.} =
|
||||
proc diffuse(output: Matrix[float64], input: Matrix[float64], il, iu: int32, t: float64): bool {.discardable, gcsafe.} =
|
||||
# TODO to allow awaiting `diffuse` we return a dummy bool
|
||||
# The parallel spawns are updating the same matrix cells otherwise
|
||||
if iu - il > 1:
|
||||
|
|
|
@ -111,7 +111,7 @@ proc nqueens_ser(n, j: int32, a: CharArray): int32 =
|
|||
if isValid(j+1, a):
|
||||
result += nqueens_ser(n, j+1, a)
|
||||
|
||||
proc nqueens_par(n, j: int32, a: CharArray): int32 =
|
||||
proc nqueens_par(n, j: int32, a: CharArray): int32 {.gcsafe.} =
|
||||
|
||||
if n == j:
|
||||
# Good solution, count it
|
||||
|
|
|
@ -21,7 +21,7 @@ block: # Async/Await
|
|||
var tp: Taskpool
|
||||
|
||||
|
||||
proc asyncFib(n: int): int =
|
||||
proc asyncFib(n: int): int {.gcsafe.} =
|
||||
if n < 2:
|
||||
return n
|
||||
|
||||
|
|
Loading…
Reference in New Issue