1-- in.cue --
2quo1: quo(5, 2) // 2
3quo2: quo(5, -2) // -2
4quo3: quo(-5, 2) // -2
5quo4: quo(-5, -2) // 2
6
7quoDivByZero: quo(2, 0)
8
9quoTypeError1: quo(2.0, 1)
10quoTypeError2: quo(2, 1.0)
11
12rem1: rem(5, 2) // 1
13rem2: rem(5, -2) // 1
14rem3: rem(-5, 2) // -1
15rem4: rem(-5, -2) // -1
16
17remDivByZero: rem(2, 0)
18
19remTypeError1: rem(2.0, 1)
20remTypeError2: rem(2, 1.0)
21
22div1: div(5, 2) // 2
23div2: div(5, -2) // -2
24div3: div(-5, 2) // -3
25div4: div(-5, -2) // 3
26
27divDivByZero: div(2, 0)
28
29divTypeError1: div(2.0, 1)
30divTypeError2: div(2, 1.0)
31
32mod1: mod(5, 2) // 1
33mod2: mod(5, -2) // 1
34mod3: mod(-5, 2) // 1
35mod4: mod(-5, -2) // 1
36
37modDivByZero: mod(2, 0)
38
39modTypeError1: mod(2.0, 1)
40modTypeError2: mod(2, 1.0)
41-- out/eval/stats --
42Leaks: 0
43Freed: 29
44Reused: 27
45Allocs: 2
46Retain: 0
47
48Unifications: 29
49Conjuncts: 29
50Disjuncts: 29
51-- out/eval --
52Errors:
53quoDivByZero: division by zero:
54 ./in.cue:6:15
55quoTypeError1: cannot use 2.0 (type float) as int in argument 1 to quo:
56 ./in.cue:8:20
57quoTypeError2: cannot use 1.0 (type float) as int in argument 2 to quo:
58 ./in.cue:9:23
59remDivByZero: division by zero:
60 ./in.cue:16:15
61remTypeError1: cannot use 2.0 (type float) as int in argument 1 to rem:
62 ./in.cue:18:20
63remTypeError2: cannot use 1.0 (type float) as int in argument 2 to rem:
64 ./in.cue:19:23
65divDivByZero: division by zero:
66 ./in.cue:26:15
67divTypeError1: cannot use 2.0 (type float) as int in argument 1 to div:
68 ./in.cue:28:20
69divTypeError2: cannot use 1.0 (type float) as int in argument 2 to div:
70 ./in.cue:29:23
71modDivByZero: division by zero:
72 ./in.cue:36:15
73modTypeError1: cannot use 2.0 (type float) as int in argument 1 to mod:
74 ./in.cue:38:20
75modTypeError2: cannot use 1.0 (type float) as int in argument 2 to mod:
76 ./in.cue:39:23
77
78Result:
79(_|_){
80 // [eval]
81 quo1: (int){ 2 }
82 quo2: (int){ -2 }
83 quo3: (int){ -2 }
84 quo4: (int){ 2 }
85 quoDivByZero: (_|_){
86 // [eval] quoDivByZero: division by zero:
87 // ./in.cue:6:15
88 }
89 quoTypeError1: (_|_){
90 // [eval] quoTypeError1: cannot use 2.0 (type float) as int in argument 1 to quo:
91 // ./in.cue:8:20
92 }
93 quoTypeError2: (_|_){
94 // [eval] quoTypeError2: cannot use 1.0 (type float) as int in argument 2 to quo:
95 // ./in.cue:9:23
96 }
97 rem1: (int){ 1 }
98 rem2: (int){ 1 }
99 rem3: (int){ -1 }
100 rem4: (int){ -1 }
101 remDivByZero: (_|_){
102 // [eval] remDivByZero: division by zero:
103 // ./in.cue:16:15
104 }
105 remTypeError1: (_|_){
106 // [eval] remTypeError1: cannot use 2.0 (type float) as int in argument 1 to rem:
107 // ./in.cue:18:20
108 }
109 remTypeError2: (_|_){
110 // [eval] remTypeError2: cannot use 1.0 (type float) as int in argument 2 to rem:
111 // ./in.cue:19:23
112 }
113 div1: (int){ 2 }
114 div2: (int){ -2 }
115 div3: (int){ -3 }
116 div4: (int){ 3 }
117 divDivByZero: (_|_){
118 // [eval] divDivByZero: division by zero:
119 // ./in.cue:26:15
120 }
121 divTypeError1: (_|_){
122 // [eval] divTypeError1: cannot use 2.0 (type float) as int in argument 1 to div:
123 // ./in.cue:28:20
124 }
125 divTypeError2: (_|_){
126 // [eval] divTypeError2: cannot use 1.0 (type float) as int in argument 2 to div:
127 // ./in.cue:29:23
128 }
129 mod1: (int){ 1 }
130 mod2: (int){ 1 }
131 mod3: (int){ 1 }
132 mod4: (int){ 1 }
133 modDivByZero: (_|_){
134 // [eval] modDivByZero: division by zero:
135 // ./in.cue:36:15
136 }
137 modTypeError1: (_|_){
138 // [eval] modTypeError1: cannot use 2.0 (type float) as int in argument 1 to mod:
139 // ./in.cue:38:20
140 }
141 modTypeError2: (_|_){
142 // [eval] modTypeError2: cannot use 1.0 (type float) as int in argument 2 to mod:
143 // ./in.cue:39:23
144 }
145}
146-- out/compile --
147--- in.cue
148{
149 quo1: quo(5, 2)
150 quo2: quo(5, -2)
151 quo3: quo(-5, 2)
152 quo4: quo(-5, -2)
153 quoDivByZero: quo(2, 0)
154 quoTypeError1: quo(2.0, 1)
155 quoTypeError2: quo(2, 1.0)
156 rem1: rem(5, 2)
157 rem2: rem(5, -2)
158 rem3: rem(-5, 2)
159 rem4: rem(-5, -2)
160 remDivByZero: rem(2, 0)
161 remTypeError1: rem(2.0, 1)
162 remTypeError2: rem(2, 1.0)
163 div1: div(5, 2)
164 div2: div(5, -2)
165 div3: div(-5, 2)
166 div4: div(-5, -2)
167 divDivByZero: div(2, 0)
168 divTypeError1: div(2.0, 1)
169 divTypeError2: div(2, 1.0)
170 mod1: mod(5, 2)
171 mod2: mod(5, -2)
172 mod3: mod(-5, 2)
173 mod4: mod(-5, -2)
174 modDivByZero: mod(2, 0)
175 modTypeError1: mod(2.0, 1)
176 modTypeError2: mod(2, 1.0)
177}
View as plain text