...

Text file src/cuelang.org/go/cue/testdata/builtins/intdiv.txtar

Documentation: cuelang.org/go/cue/testdata/builtins

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

View as plain text