# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: arithmetic
#evalPartial
-- in.cue --
i1: 1 & int
i2: 2 & int

sum:     -1 + +2     // 1
div1:    2.0 / 3 * 6 // 4
div2:    2 / 3 * 6   // 4
div3:    1.00 / 1.00
divZero: 1.0 / 0
div00:   0 / 0
b:       1 != 4
add:     div1 + 1.0

idiv00: 0 div 0
imod00: 0 mod 0
iquo00: 0 quo 0
irem00: 0 rem 0

v1: 1.0T / 2.0
v2: 2.0 == 2
v3: 2.0 / 3.0
v5: i1 div i2

e0: 2 + "a"
// these are now all alloweed
// e1: 2.0 / i1
// e2: i1 / 2.0
// e3: 3.0 % i2
// e4: i1 % 2.0
e5: 1.0 div 2
e6: 2 rem 2.0
e7: 2 quo 2.0
e8: 1.0 mod 1
-- out/def --
i1:      1
i2:      2
sum:     1
div1:    4.00000000000000000000000
div2:    4.00000000000000000000000
div3:    1.
divZero: _|_ // division by zero
div00:   _|_ // division undefined
b:       true
add:     5.00000000000000000000000
idiv00:  _|_ // division by zero
imod00:  _|_ // division by zero
iquo00:  _|_ // division by zero
irem00:  _|_ // division by zero
v1:      5.0000000000e+11
v2:      true
v3:      0.666666666666666666666667
v5:      0
e0:      _|_ // invalid operation 2 + "a" (mismatched types int and string)
// these are now all alloweed
// e1: 2.0 / i1
// e2: i1 / 2.0
// e3: 3.0 % i2
// e4: i1 % 2.0
e5: _|_ // invalid operation 1.0 div 2 (mismatched types float and int)
e6: _|_ // invalid operation 2 rem 2.0 (mismatched types int and float)
e7: _|_ // invalid operation 2 quo 2.0 (mismatched types int and float)
e8: _|_ // invalid operation 1.0 mod 1 (mismatched types float and int)
-- out/legacy-debug --
<0>{i1: 1, i2: 2, sum: 1, div1: 4.00000000000000000000000, div2: 4.00000000000000000000000, div3: 1., divZero: _|_((1.0 / 0):division by zero), div00: _|_((0 / 0):division undefined), b: true, add: 5.00000000000000000000000, idiv00: _|_((0 div 0):division by zero), imod00: _|_((0 mod 0):division by zero), iquo00: _|_((0 quo 0):division by zero), irem00: _|_((0 rem 0):division by zero), v1: 5.0000000000e+11, v2: true, v3: 0.666666666666666666666667, v5: 0, e0: _|_((2 + "a"):invalid operation 2 + "a" (mismatched types int and string)), e5: _|_((1.0 div 2):invalid operation 1.0 div 2 (mismatched types float and int)), e6: _|_((2 rem 2.0):invalid operation 2 rem 2.0 (mismatched types int and float)), e7: _|_((2 quo 2.0):invalid operation 2 quo 2.0 (mismatched types int and float)), e8: _|_((1.0 mod 1):invalid operation 1.0 mod 1 (mismatched types float and int))}
-- out/compile --
--- in.cue
{
  i1: (1 & int)
  i2: (2 & int)
  sum: (-1 + +2)
  div1: ((2.0 / 3) * 6)
  div2: ((2 / 3) * 6)
  div3: (1.00 / 1.00)
  divZero: (1.0 / 0)
  div00: (0 / 0)
  b: (1 != 4)
  add: (〈0;div1〉 + 1.0)
  idiv00: (0 div 0)
  imod00: (0 mod 0)
  iquo00: (0 quo 0)
  irem00: (0 rem 0)
  v1: (1000000000000 / 2.0)
  v2: (2.0 == 2)
  v3: (2.0 / 3.0)
  v5: (〈0;i1〉 div 〈0;i2〉)
  e0: (2 + "a")
  e5: (1.0 div 2)
  e6: (2 rem 2.0)
  e7: (2 quo 2.0)
  e8: (1.0 mod 1)
}
-- out/eval --
Errors:
divZero: failed arithmetic: division by zero:
    ./in.cue:8:10
div00: failed arithmetic: division undefined:
    ./in.cue:9:10
idiv00: division by zero:
    ./in.cue:13:9
imod00: division by zero:
    ./in.cue:14:9
iquo00: division by zero:
    ./in.cue:15:9
irem00: division by zero:
    ./in.cue:16:9
e0: invalid operands 2 and "a" to '+' (type int and string):
    ./in.cue:23:5
    ./in.cue:23:9
e5: invalid operands 1.0 and 2 to 'div' (type float and int):
    ./in.cue:29:5
    ./in.cue:29:13
e6: invalid operands 2 and 2.0 to 'rem' (type int and float):
    ./in.cue:30:5
    ./in.cue:30:11
e7: invalid operands 2 and 2.0 to 'quo' (type int and float):
    ./in.cue:31:5
    ./in.cue:31:11
e8: invalid operands 1.0 and 1 to 'mod' (type float and int):
    ./in.cue:32:5
    ./in.cue:32:13

Result:
(_|_){
  // [eval]
  i1: (int){ 1 }
  i2: (int){ 2 }
  sum: (int){ 1 }
  div1: (float){ 4.00000000000000000000000 }
  div2: (float){ 4.00000000000000000000000 }
  div3: (float){ 1 }
  divZero: (_|_){
    // [eval] divZero: failed arithmetic: division by zero:
    //     ./in.cue:8:10
  }
  div00: (_|_){
    // [eval] div00: failed arithmetic: division undefined:
    //     ./in.cue:9:10
  }
  b: (bool){ true }
  add: (float){ 5.00000000000000000000000 }
  idiv00: (_|_){
    // [eval] idiv00: division by zero:
    //     ./in.cue:13:9
  }
  imod00: (_|_){
    // [eval] imod00: division by zero:
    //     ./in.cue:14:9
  }
  iquo00: (_|_){
    // [eval] iquo00: division by zero:
    //     ./in.cue:15:9
  }
  irem00: (_|_){
    // [eval] irem00: division by zero:
    //     ./in.cue:16:9
  }
  v1: (float){ 5.0000000000E+11 }
  v2: (bool){ true }
  v3: (float){ 0.666666666666666666666667 }
  v5: (int){ 0 }
  e0: (_|_){
    // [eval] e0: invalid operands 2 and "a" to '+' (type int and string):
    //     ./in.cue:23:5
    //     ./in.cue:23:9
  }
  e5: (_|_){
    // [eval] e5: invalid operands 1.0 and 2 to 'div' (type float and int):
    //     ./in.cue:29:5
    //     ./in.cue:29:13
  }
  e6: (_|_){
    // [eval] e6: invalid operands 2 and 2.0 to 'rem' (type int and float):
    //     ./in.cue:30:5
    //     ./in.cue:30:11
  }
  e7: (_|_){
    // [eval] e7: invalid operands 2 and 2.0 to 'quo' (type int and float):
    //     ./in.cue:31:5
    //     ./in.cue:31:11
  }
  e8: (_|_){
    // [eval] e8: invalid operands 1.0 and 1 to 'mod' (type float and int):
    //     ./in.cue:32:5
    //     ./in.cue:32:13
  }
}
