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