github.com/joomcode/cue@v0.4.4-0.20221111115225-539fe3512047/pkg/math/bits/pkg.go (about)

     1  // Code generated by go generate. DO NOT EDIT.
     2  
     3  //go:generate rm pkg.go
     4  //go:generate go run ../../gen/gen.go
     5  
     6  package bits
     7  
     8  import (
     9  	"github.com/joomcode/cue/internal/core/adt"
    10  	"github.com/joomcode/cue/pkg/internal"
    11  )
    12  
    13  func init() {
    14  	internal.Register("math/bits", pkg)
    15  }
    16  
    17  var _ = adt.TopKind // in case the adt package isn't used
    18  
    19  var pkg = &internal.Package{
    20  	Native: []*internal.Builtin{{
    21  		Name: "Lsh",
    22  		Params: []internal.Param{
    23  			{Kind: adt.IntKind},
    24  			{Kind: adt.IntKind},
    25  		},
    26  		Result: adt.IntKind,
    27  		Func: func(c *internal.CallCtxt) {
    28  			x, n := c.BigInt(0), c.Uint(1)
    29  			if c.Do() {
    30  				c.Ret = Lsh(x, n)
    31  			}
    32  		},
    33  	}, {
    34  		Name: "Rsh",
    35  		Params: []internal.Param{
    36  			{Kind: adt.IntKind},
    37  			{Kind: adt.IntKind},
    38  		},
    39  		Result: adt.IntKind,
    40  		Func: func(c *internal.CallCtxt) {
    41  			x, n := c.BigInt(0), c.Uint(1)
    42  			if c.Do() {
    43  				c.Ret = Rsh(x, n)
    44  			}
    45  		},
    46  	}, {
    47  		Name: "At",
    48  		Params: []internal.Param{
    49  			{Kind: adt.IntKind},
    50  			{Kind: adt.IntKind},
    51  		},
    52  		Result: adt.IntKind,
    53  		Func: func(c *internal.CallCtxt) {
    54  			x, i := c.BigInt(0), c.Uint(1)
    55  			if c.Do() {
    56  				c.Ret, c.Err = At(x, i)
    57  			}
    58  		},
    59  	}, {
    60  		Name: "Set",
    61  		Params: []internal.Param{
    62  			{Kind: adt.IntKind},
    63  			{Kind: adt.IntKind},
    64  			{Kind: adt.IntKind},
    65  		},
    66  		Result: adt.IntKind,
    67  		Func: func(c *internal.CallCtxt) {
    68  			x, i, bit := c.BigInt(0), c.Int(1), c.Uint(2)
    69  			if c.Do() {
    70  				c.Ret = Set(x, i, bit)
    71  			}
    72  		},
    73  	}, {
    74  		Name: "And",
    75  		Params: []internal.Param{
    76  			{Kind: adt.IntKind},
    77  			{Kind: adt.IntKind},
    78  		},
    79  		Result: adt.IntKind,
    80  		Func: func(c *internal.CallCtxt) {
    81  			a, b := c.BigInt(0), c.BigInt(1)
    82  			if c.Do() {
    83  				c.Ret = And(a, b)
    84  			}
    85  		},
    86  	}, {
    87  		Name: "Or",
    88  		Params: []internal.Param{
    89  			{Kind: adt.IntKind},
    90  			{Kind: adt.IntKind},
    91  		},
    92  		Result: adt.IntKind,
    93  		Func: func(c *internal.CallCtxt) {
    94  			a, b := c.BigInt(0), c.BigInt(1)
    95  			if c.Do() {
    96  				c.Ret = Or(a, b)
    97  			}
    98  		},
    99  	}, {
   100  		Name: "Xor",
   101  		Params: []internal.Param{
   102  			{Kind: adt.IntKind},
   103  			{Kind: adt.IntKind},
   104  		},
   105  		Result: adt.IntKind,
   106  		Func: func(c *internal.CallCtxt) {
   107  			a, b := c.BigInt(0), c.BigInt(1)
   108  			if c.Do() {
   109  				c.Ret = Xor(a, b)
   110  			}
   111  		},
   112  	}, {
   113  		Name: "Clear",
   114  		Params: []internal.Param{
   115  			{Kind: adt.IntKind},
   116  			{Kind: adt.IntKind},
   117  		},
   118  		Result: adt.IntKind,
   119  		Func: func(c *internal.CallCtxt) {
   120  			a, b := c.BigInt(0), c.BigInt(1)
   121  			if c.Do() {
   122  				c.Ret = Clear(a, b)
   123  			}
   124  		},
   125  	}, {
   126  		Name: "OnesCount",
   127  		Params: []internal.Param{
   128  			{Kind: adt.IntKind},
   129  		},
   130  		Result: adt.IntKind,
   131  		Func: func(c *internal.CallCtxt) {
   132  			x := c.BigInt(0)
   133  			if c.Do() {
   134  				c.Ret = OnesCount(x)
   135  			}
   136  		},
   137  	}, {
   138  		Name: "Len",
   139  		Params: []internal.Param{
   140  			{Kind: adt.IntKind},
   141  		},
   142  		Result: adt.IntKind,
   143  		Func: func(c *internal.CallCtxt) {
   144  			x := c.BigInt(0)
   145  			if c.Do() {
   146  				c.Ret = Len(x)
   147  			}
   148  		},
   149  	}},
   150  }