# 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:
failed arithmetic: division by zero:
    ./in.cue:8:10
failed arithmetic: division undefined:
    ./in.cue:9:10
division by zero:
    ./in.cue:13:9
division by zero:
    ./in.cue:14:9
division by zero:
    ./in.cue:15:9
division by zero:
    ./in.cue:16:9
invalid operands 2 and "a" to '+' (type int and string):
    ./in.cue:23:5
invalid operands 1.0 and 2 to 'div' (type float and int):
    ./in.cue:29:5
invalid operands 2 and 2.0 to 'rem' (type int and float):
    ./in.cue:30:5
invalid operands 2 and 2.0 to 'quo' (type int and float):
    ./in.cue:31:5
invalid operands 1.0 and 1 to 'mod' (type float and int):
    ./in.cue:32:5

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