diff options
| author | Shinya Sato <shinnya.sato@gmail.com> | 2023-05-13 20:33:39 +0900 |
|---|---|---|
| committer | Shinya Sato <shinnya.sato@gmail.com> | 2023-05-13 20:33:39 +0900 |
| commit | 08815780ada5aad05bc3156bb23a1c975e3c12f3 (patch) | |
| tree | cbc006b8b4a05c1fb42f9ae8aeddad38b81d471e /comparison/Inpla/src/nqueen-12-reuse.in | |
| parent | 28208263a3f8d6ababb285f1df34df98c2d5d4a0 (diff) | |
| download | inpla-08815780ada5aad05bc3156bb23a1c975e3c12f3.tar.gz inpla-08815780ada5aad05bc3156bb23a1c975e3c12f3.zip | |
v0.11.0
Diffstat (limited to 'comparison/Inpla/src/nqueen-12-reuse.in')
| -rw-r--r-- | comparison/Inpla/src/nqueen-12-reuse.in | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/comparison/Inpla/src/nqueen-12-reuse.in b/comparison/Inpla/src/nqueen-12-reuse.in index 4e5a6b6..c7b06b8 100644 --- a/comparison/Inpla/src/nqueen-12-reuse.in +++ b/comparison/Inpla/src/nqueen-12-reuse.in @@ -20,7 +20,7 @@ member(r, list, int x) >< (int y):ys | x==y => r~1, list~(*R)(y:ys) | _ => - list~(*R)(y:cnt), member(r, cnt, x)~ys; + list~(*R)(y:cnt), (*L)member(r, cnt, x)~ys; /** @@ -35,13 +35,13 @@ len_list(len, done) >< [] => len~0, done~(*R)[]; len_list(len, done) >< x:xs => done~(*R)(x:cnt), - len_list_(len, cnt, 1)~xs; + (*L)len_list_(len, cnt, 1)~xs; len_list_(len, done, int ct) >< [] => len~ct, done~(*R)[]; len_list_(len, done, int ct) >< x:xs => done~(*R)(x:cnt), - len_list_(len, cnt, ct+1) ~ xs; + (*L)len_list_(len, cnt, ct+1) ~ xs; /** * len (non-stream version) @@ -53,7 +53,7 @@ len_list_(len, done, int ct) >< x:xs => len(ret) >< [] => ret~0; len(ret) >< x:xs => - len_list(ret, Eraser)~(*R)(x:xs); + (*L)len_list(ret, Eraser)~(*R)(x:xs); @@ -88,7 +88,7 @@ threat(r, done, int k, int q)><(int x):xs | (k == x-q) or (k == q-x) => r~1, done~(*R)(x:xs) | _ => - done~(*R)(x:cnt), threat(r, cnt, k+1, q)~xs; + done~(*R)(x:cnt), (*L)threat(r, cnt, k+1, q)~xs; @@ -99,14 +99,14 @@ threat(r, done, int k, int q)><(int x):xs // else (queen1 (m::b) n n) @ (queen1 b n (m-1)); // fun queen n = queen1 n [] n; -queen(ret) >< (int n) => queen_(ret, [], n)~n; +queen(ret) >< (int n) => (*L)queen_(ret, [], n)~n; queen_(r, b, int n) >< (int m) | m==0 => - r~[], (*L)Eraser~b + r~(*L)[], Eraser~b | _ => mem_ret, done_b << member(m,b), - queen__chk_m_in_b(r, done_b, n, m)~mem_ret; + (*L)queen__chk_m_in_b(r, done_b, n, m)~mem_ret; queen__chk_m_in_b(r, b, int n, int m) >< (int mem_ret) | mem_ret == 1 => |
