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