1
2mlr put -q @sum     += $x; end{emitp @sum} ./reg-test/input/abixy
3sum=4.536293840335763
4
5mlr put -q @sum[$a] += $x; end{emitp @sum, "a"} ./reg-test/input/abixy
6a=pan,sum=0.8494161498792961
7a=eks,sum=1.75186341922895
8a=wye,sum=0.7778922255683036
9a=zee,sum=1.1256801691982772
10a=hat,sum=0.03144187646093577
11
12mlr put $nonesuch = @nonesuch ./reg-test/input/abixy
13a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
14a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
15a=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
16a=eks,b=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
17a=wye,b=pan,i=5,x=0.5732889198020006,y=0.8636244699032729
18a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
19a=eks,b=zee,i=7,x=0.6117840605678454,y=0.1878849191181694
20a=zee,b=wye,i=8,x=0.5985540091064224,y=0.976181385699006
21a=hat,b=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
22a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
23
24mlr put -q @sum     += $x; end{emitp @sum} ./reg-test/input/abixy-het
25sum=3.9630049205337627
26
27mlr put -q @sum[$a] += $x; end{emitp @sum, "a"} ./reg-test/input/abixy-het
28a=pan,sum=0.8494161498792961
29a=eks,sum=1.75186341922895
30a=zee,sum=1.1256801691982772
31
32mlr put $nonesuch = @nonesuch ./reg-test/input/abixy-het
33a=pan,b=pan,i=1,x=0.3467901443380824,y=0.7268028627434533
34a=eks,b=pan,i=2,x=0.7586799647899636,y=0.5221511083334797
35aaa=wye,b=wye,i=3,x=0.20460330576630303,y=0.33831852551664776
36a=eks,bbb=wye,i=4,x=0.38139939387114097,y=0.13418874328430463
37a=wye,b=pan,i=5,xxx=0.5732889198020006,y=0.8636244699032729
38a=zee,b=pan,i=6,x=0.5271261600918548,y=0.49322128674835697
39a=eks,b=zee,iii=7,x=0.6117840605678454,y=0.1878849191181694
40a=zee,b=wye,i=8,x=0.5985540091064224,yyy=0.976181385699006
41aaa=hat,bbb=wye,i=9,x=0.03144187646093577,y=0.7495507603507059
42a=pan,b=wye,i=10,x=0.5026260055412137,y=0.9526183602969864
43
44mlr put -q @sum += $x; @sumtype = typeof(@sum); @xtype = typeof($x); emitf @sumtype, @xtype, @sum; end{emitp @sum} ./reg-test/input/abixy
45sumtype=float,xtype=float,sum=0.3467901443380824
46sumtype=float,xtype=float,sum=1.105470109128046
47sumtype=float,xtype=float,sum=1.3100734148943491
48sumtype=float,xtype=float,sum=1.6914728087654902
49sumtype=float,xtype=float,sum=2.264761728567491
50sumtype=float,xtype=float,sum=2.7918878886593457
51sumtype=float,xtype=float,sum=3.403671949227191
52sumtype=float,xtype=float,sum=4.0022259583336135
53sumtype=float,xtype=float,sum=4.033667834794549
54sumtype=float,xtype=float,sum=4.536293840335763
55sum=4.536293840335763
56
57mlr put -q @sum += $x; @sumtype = typeof(@sum); @xtype = typeof($x); emitf @sumtype, @xtype, @sum; end{emitp @sum} ./reg-test/input/abixy-het
58sumtype=float,xtype=float,sum=0.3467901443380824
59sumtype=float,xtype=float,sum=1.105470109128046
60sumtype=float,xtype=float,sum=1.3100734148943491
61sumtype=float,xtype=float,sum=1.6914728087654902
62sumtype=float,xtype=absent,sum=1.6914728087654902
63sumtype=float,xtype=float,sum=2.218598968857345
64sumtype=float,xtype=float,sum=2.8303830294251906
65sumtype=float,xtype=float,sum=3.428937038531613
66sumtype=float,xtype=float,sum=3.460378914992549
67sumtype=float,xtype=float,sum=3.9630049205337627
68sum=3.9630049205337627
69
70mlr put $z = $x + $y ./reg-test/input/typeof.dkvp
71x=1,y=2,z=3
72x=1,y=,z=
73x=,y=2,z=
74x=,y=,z=
75a=1,y=2,z=2
76a=1,y=
77a=,y=2,z=2
78a=,y=
79x=1,b=2,z=1
80x=1,b=,z=1
81x=,b=2
82x=,b=
83
84mlr put $z = $x + $u ./reg-test/input/typeof.dkvp
85x=1,y=2,z=1
86x=1,y=,z=1
87x=,y=2
88x=,y=
89a=1,y=2
90a=1,y=
91a=,y=2
92a=,y=
93x=1,b=2,z=1
94x=1,b=,z=1
95x=,b=2
96x=,b=
97
98mlr put @s = @s + $y; emitp @s ./reg-test/input/typeof.dkvp
99s=2
100x=1,y=2
101s=
102x=1,y=
103s=
104x=,y=2
105s=
106x=,y=
107s=
108a=1,y=2
109s=
110a=1,y=
111s=
112a=,y=2
113s=
114a=,y=
115s=
116x=1,b=2
117s=
118x=1,b=
119s=
120x=,b=2
121s=
122x=,b=
123
124mlr put @s = @s + $u; emitp @s ./reg-test/input/typeof.dkvp
125
126x=1,y=2
127
128x=1,y=
129
130x=,y=2
131
132x=,y=
133
134a=1,y=2
135
136a=1,y=
137
138a=,y=2
139
140a=,y=
141
142x=1,b=2
143
144x=1,b=
145
146x=,b=2
147
148x=,b=
149
150mlr put $z = $x + $y; $x=typeof($x);$y=typeof($y);$z=typeof($z) ./reg-test/input/typeof.dkvp
151x=int,y=int,z=int
152x=int,y=empty,z=empty
153x=empty,y=int,z=empty
154x=empty,y=empty,z=empty
155a=1,y=int,z=int,x=absent
156a=1,y=empty,x=absent,z=absent
157a=,y=int,z=int,x=absent
158a=,y=empty,x=absent,z=absent
159x=int,b=2,z=int,y=absent
160x=int,b=,z=int,y=absent
161x=empty,b=2,y=absent,z=absent
162x=empty,b=,y=absent,z=absent
163
164mlr put $z = $x + $u; $x=typeof($x);$y=typeof($y);$z=typeof($z) ./reg-test/input/typeof.dkvp
165x=int,y=int,z=int
166x=int,y=empty,z=int
167x=empty,y=int,z=absent
168x=empty,y=empty,z=absent
169a=1,y=int,x=absent,z=absent
170a=1,y=empty,x=absent,z=absent
171a=,y=int,x=absent,z=absent
172a=,y=empty,x=absent,z=absent
173x=int,b=2,z=int,y=absent
174x=int,b=,z=int,y=absent
175x=empty,b=2,y=absent,z=absent
176x=empty,b=,y=absent,z=absent
177
178mlr put @s = @s + $y; $x=typeof($x);$y=typeof($y);$z=typeof($z);$s=typeof(@s) ./reg-test/input/typeof.dkvp
179x=int,y=int,z=absent,s=int
180x=int,y=empty,z=absent,s=empty
181x=empty,y=int,z=absent,s=empty
182x=empty,y=empty,z=absent,s=empty
183a=1,y=int,x=absent,z=absent,s=empty
184a=1,y=empty,x=absent,z=absent,s=empty
185a=,y=int,x=absent,z=absent,s=empty
186a=,y=empty,x=absent,z=absent,s=empty
187x=int,b=2,y=absent,z=absent,s=empty
188x=int,b=,y=absent,z=absent,s=empty
189x=empty,b=2,y=absent,z=absent,s=empty
190x=empty,b=,y=absent,z=absent,s=empty
191
192mlr put @s = @s + $u; $x=typeof($x);$y=typeof($y);$z=typeof($z);$s=typeof(@s) ./reg-test/input/typeof.dkvp
193x=int,y=int,z=absent,s=absent
194x=int,y=empty,z=absent,s=absent
195x=empty,y=int,z=absent,s=absent
196x=empty,y=empty,z=absent,s=absent
197a=1,y=int,x=absent,z=absent,s=absent
198a=1,y=empty,x=absent,z=absent,s=absent
199a=,y=int,x=absent,z=absent,s=absent
200a=,y=empty,x=absent,z=absent,s=absent
201x=int,b=2,y=absent,z=absent,s=absent
202x=int,b=,y=absent,z=absent,s=absent
203x=empty,b=2,y=absent,z=absent,s=absent
204x=empty,b=,y=absent,z=absent,s=absent
205
206mlr cat
207x=1
208x=
209x=7
210
211mlr --ofs tab put $osum=@sum; $ostype=typeof(@sum);$xtype=typeof($x);@sum+=$x; $nstype=typeof(@sum);$nsum=@sum; end { emit @sum }
212x=1	ostype=absent	xtype=int	nstype=int	nsum=1
213x=	osum=1	ostype=int	xtype=empty	nstype=empty	nsum=
214x=7	osum=	ostype=empty	xtype=int	nstype=empty	nsum=
215sum=
216
217mlr --ofs tab put $osum=@sum; $ostype=typeof(@sum);$xtype=typeof($x);is_present($x){@sum+=$x}; $nstype=typeof(@sum);$nsum=@sum; end { emit @sum }
218x=1	ostype=absent	xtype=int	nstype=int	nsum=1
219x=	osum=1	ostype=int	xtype=empty	nstype=empty	nsum=
220x=7	osum=	ostype=empty	xtype=int	nstype=empty	nsum=
221sum=
222
223mlr cat
224x=1
225xxx=
226x=7
227
228mlr --ofs tab put $osum=@sum; $ostype=typeof(@sum);$xtype=typeof($x);@sum+=$x; $nstype=typeof(@sum);$nsum=@sum; end { emit @sum }
229x=1	ostype=absent	xtype=int	nstype=int	nsum=1
230xxx=	osum=1	ostype=int	xtype=absent	nstype=int	nsum=1
231x=7	osum=1	ostype=int	xtype=int	nstype=int	nsum=8
232sum=8
233
234mlr --ofs tab put $osum=@sum; $ostype=typeof(@sum);$xtype=typeof($x);is_present($x){@sum+=$x}; $nstype=typeof(@sum);$nsum=@sum; end { emit @sum }
235x=1	ostype=absent	xtype=int	nstype=int	nsum=1
236xxx=	osum=1	ostype=int	xtype=absent	nstype=int	nsum=1
237x=7	osum=1	ostype=int	xtype=int	nstype=int	nsum=8
238sum=8
239
240mlr cat
241x=1
242x=
243y=
244x=7
245
246mlr --ofs tab put $xtype=typeof($x);$sum = $x + 10; $stype=typeof($sum)
247x=1	xtype=int	sum=11	stype=int
248x=	xtype=empty	sum=	stype=empty
249y=	xtype=absent	sum=10	stype=int
250x=7	xtype=int	sum=17	stype=int
251
252mlr --ofs tab put $xtype=typeof($x);$sum = is_present($x) ? $x + 10 : 999; $stype=typeof($sum)
253x=1	xtype=int	sum=11	stype=int
254x=	xtype=empty	sum=	stype=empty
255y=	xtype=absent	sum=999	stype=int
256x=7	xtype=int	sum=17	stype=int
257
258