forked from rescript-lang/rescript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtailcall_inline_test.js
85 lines (78 loc) · 1.73 KB
/
tailcall_inline_test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
'use strict';
var Mt = require("./mt.js");
var $$Array = require("../../lib/js/array.js");
var Block = require("../../lib/js/block.js");
var Caml_array = require("../../lib/js/caml_array.js");
function f(param) {
var f$1 = function (_acc, _n) {
while(true) {
var n = _n;
var acc = _acc;
if (n > 0) {
_n = n - 1 | 0;
_acc = acc + n | 0;
continue ;
} else {
return acc;
}
};
};
var v = Caml_array.caml_make_vect(10, 0);
for(var i = 0; i <= 9; ++i){
Caml_array.caml_array_set(v, i, f$1(0, i));
}
return v;
}
var suites_000 = /* tuple */[
"acc",
(function (param) {
return /* Eq */Block.__(0, [
f(/* () */0),
/* array */[
0,
1,
3,
6,
10,
15,
21,
28,
36,
45
]
]);
})
];
var suites_001 = /* :: */[
/* tuple */[
"array_to_list",
(function (param) {
return /* Eq */Block.__(0, [
/* :: */[
1,
/* :: */[
2,
/* :: */[
3,
/* [] */0
]
]
],
$$Array.to_list(/* array */[
1,
2,
3
])
]);
})
],
/* [] */0
];
var suites = /* :: */[
suites_000,
suites_001
];
Mt.from_pair_suites("Tailcall_inline_test", suites);
exports.f = f;
exports.suites = suites;
/* Not a pure module */