github.com/joomcode/cue@v0.4.4-0.20221111115225-539fe3512047/pkg/math/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 math
     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", 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:  "MaxExp",
    22  		Const: "2147483647",
    23  	}, {
    24  		Name:  "MinExp",
    25  		Const: "-2147483648",
    26  	}, {
    27  		Name:  "MaxPrec",
    28  		Const: "4294967295",
    29  	}, {
    30  		Name:  "ToNearestEven",
    31  		Const: "0",
    32  	}, {
    33  		Name:  "ToNearestAway",
    34  		Const: "1",
    35  	}, {
    36  		Name:  "ToZero",
    37  		Const: "2",
    38  	}, {
    39  		Name:  "AwayFromZero",
    40  		Const: "3",
    41  	}, {
    42  		Name:  "ToNegativeInf",
    43  		Const: "4",
    44  	}, {
    45  		Name:  "ToPositiveInf",
    46  		Const: "5",
    47  	}, {
    48  		Name:  "Below",
    49  		Const: "-1",
    50  	}, {
    51  		Name:  "Exact",
    52  		Const: "0",
    53  	}, {
    54  		Name:  "Above",
    55  		Const: "1",
    56  	}, {
    57  		Name: "Jacobi",
    58  		Params: []internal.Param{
    59  			{Kind: adt.IntKind},
    60  			{Kind: adt.IntKind},
    61  		},
    62  		Result: adt.IntKind,
    63  		Func: func(c *internal.CallCtxt) {
    64  			x, y := c.BigInt(0), c.BigInt(1)
    65  			if c.Do() {
    66  				c.Ret = Jacobi(x, y)
    67  			}
    68  		},
    69  	}, {
    70  		Name:  "MaxBase",
    71  		Const: "62",
    72  	}, {
    73  		Name: "Floor",
    74  		Params: []internal.Param{
    75  			{Kind: adt.NumKind},
    76  		},
    77  		Result: adt.IntKind,
    78  		Func: func(c *internal.CallCtxt) {
    79  			x := c.Decimal(0)
    80  			if c.Do() {
    81  				c.Ret, c.Err = Floor(x)
    82  			}
    83  		},
    84  	}, {
    85  		Name: "Ceil",
    86  		Params: []internal.Param{
    87  			{Kind: adt.NumKind},
    88  		},
    89  		Result: adt.IntKind,
    90  		Func: func(c *internal.CallCtxt) {
    91  			x := c.Decimal(0)
    92  			if c.Do() {
    93  				c.Ret, c.Err = Ceil(x)
    94  			}
    95  		},
    96  	}, {
    97  		Name: "Trunc",
    98  		Params: []internal.Param{
    99  			{Kind: adt.NumKind},
   100  		},
   101  		Result: adt.IntKind,
   102  		Func: func(c *internal.CallCtxt) {
   103  			x := c.Decimal(0)
   104  			if c.Do() {
   105  				c.Ret, c.Err = Trunc(x)
   106  			}
   107  		},
   108  	}, {
   109  		Name: "Round",
   110  		Params: []internal.Param{
   111  			{Kind: adt.NumKind},
   112  		},
   113  		Result: adt.IntKind,
   114  		Func: func(c *internal.CallCtxt) {
   115  			x := c.Decimal(0)
   116  			if c.Do() {
   117  				c.Ret, c.Err = Round(x)
   118  			}
   119  		},
   120  	}, {
   121  		Name: "RoundToEven",
   122  		Params: []internal.Param{
   123  			{Kind: adt.NumKind},
   124  		},
   125  		Result: adt.IntKind,
   126  		Func: func(c *internal.CallCtxt) {
   127  			x := c.Decimal(0)
   128  			if c.Do() {
   129  				c.Ret, c.Err = RoundToEven(x)
   130  			}
   131  		},
   132  	}, {
   133  		Name: "MultipleOf",
   134  		Params: []internal.Param{
   135  			{Kind: adt.NumKind},
   136  			{Kind: adt.NumKind},
   137  		},
   138  		Result: adt.BoolKind,
   139  		Func: func(c *internal.CallCtxt) {
   140  			x, y := c.Decimal(0), c.Decimal(1)
   141  			if c.Do() {
   142  				c.Ret, c.Err = MultipleOf(x, y)
   143  			}
   144  		},
   145  	}, {
   146  		Name: "Abs",
   147  		Params: []internal.Param{
   148  			{Kind: adt.NumKind},
   149  		},
   150  		Result: adt.NumKind,
   151  		Func: func(c *internal.CallCtxt) {
   152  			x := c.Decimal(0)
   153  			if c.Do() {
   154  				c.Ret, c.Err = Abs(x)
   155  			}
   156  		},
   157  	}, {
   158  		Name: "Acosh",
   159  		Params: []internal.Param{
   160  			{Kind: adt.NumKind},
   161  		},
   162  		Result: adt.NumKind,
   163  		Func: func(c *internal.CallCtxt) {
   164  			x := c.Float64(0)
   165  			if c.Do() {
   166  				c.Ret = Acosh(x)
   167  			}
   168  		},
   169  	}, {
   170  		Name: "Asin",
   171  		Params: []internal.Param{
   172  			{Kind: adt.NumKind},
   173  		},
   174  		Result: adt.NumKind,
   175  		Func: func(c *internal.CallCtxt) {
   176  			x := c.Float64(0)
   177  			if c.Do() {
   178  				c.Ret = Asin(x)
   179  			}
   180  		},
   181  	}, {
   182  		Name: "Acos",
   183  		Params: []internal.Param{
   184  			{Kind: adt.NumKind},
   185  		},
   186  		Result: adt.NumKind,
   187  		Func: func(c *internal.CallCtxt) {
   188  			x := c.Float64(0)
   189  			if c.Do() {
   190  				c.Ret = Acos(x)
   191  			}
   192  		},
   193  	}, {
   194  		Name: "Asinh",
   195  		Params: []internal.Param{
   196  			{Kind: adt.NumKind},
   197  		},
   198  		Result: adt.NumKind,
   199  		Func: func(c *internal.CallCtxt) {
   200  			x := c.Float64(0)
   201  			if c.Do() {
   202  				c.Ret = Asinh(x)
   203  			}
   204  		},
   205  	}, {
   206  		Name: "Atan",
   207  		Params: []internal.Param{
   208  			{Kind: adt.NumKind},
   209  		},
   210  		Result: adt.NumKind,
   211  		Func: func(c *internal.CallCtxt) {
   212  			x := c.Float64(0)
   213  			if c.Do() {
   214  				c.Ret = Atan(x)
   215  			}
   216  		},
   217  	}, {
   218  		Name: "Atan2",
   219  		Params: []internal.Param{
   220  			{Kind: adt.NumKind},
   221  			{Kind: adt.NumKind},
   222  		},
   223  		Result: adt.NumKind,
   224  		Func: func(c *internal.CallCtxt) {
   225  			y, x := c.Float64(0), c.Float64(1)
   226  			if c.Do() {
   227  				c.Ret = Atan2(y, x)
   228  			}
   229  		},
   230  	}, {
   231  		Name: "Atanh",
   232  		Params: []internal.Param{
   233  			{Kind: adt.NumKind},
   234  		},
   235  		Result: adt.NumKind,
   236  		Func: func(c *internal.CallCtxt) {
   237  			x := c.Float64(0)
   238  			if c.Do() {
   239  				c.Ret = Atanh(x)
   240  			}
   241  		},
   242  	}, {
   243  		Name: "Cbrt",
   244  		Params: []internal.Param{
   245  			{Kind: adt.NumKind},
   246  		},
   247  		Result: adt.NumKind,
   248  		Func: func(c *internal.CallCtxt) {
   249  			x := c.Decimal(0)
   250  			if c.Do() {
   251  				c.Ret, c.Err = Cbrt(x)
   252  			}
   253  		},
   254  	}, {
   255  		Name:  "E",
   256  		Const: "2.71828182845904523536028747135266249775724709369995957496696763",
   257  	}, {
   258  		Name:  "Pi",
   259  		Const: "3.14159265358979323846264338327950288419716939937510582097494459",
   260  	}, {
   261  		Name:  "Phi",
   262  		Const: "1.61803398874989484820458683436563811772030917980576286213544861",
   263  	}, {
   264  		Name:  "Sqrt2",
   265  		Const: "1.41421356237309504880168872420969807856967187537694807317667974",
   266  	}, {
   267  		Name:  "SqrtE",
   268  		Const: "1.64872127070012814684865078781416357165377610071014801157507931",
   269  	}, {
   270  		Name:  "SqrtPi",
   271  		Const: "1.77245385090551602729816748334114518279754945612238712821380779",
   272  	}, {
   273  		Name:  "SqrtPhi",
   274  		Const: "1.27201964951406896425242246173749149171560804184009624861664038",
   275  	}, {
   276  		Name:  "Ln2",
   277  		Const: "0.693147180559945309417232121458176568075500134360255254120680009",
   278  	}, {
   279  		Name:  "Log2E",
   280  		Const: "1.442695040888963407359924681001892137426645954152985934135449408",
   281  	}, {
   282  		Name:  "Ln10",
   283  		Const: "2.3025850929940456840179914546843642076011014886287729760333278",
   284  	}, {
   285  		Name:  "Log10E",
   286  		Const: "0.43429448190325182765112891891660508229439700580366656611445378",
   287  	}, {
   288  		Name: "Copysign",
   289  		Params: []internal.Param{
   290  			{Kind: adt.NumKind},
   291  			{Kind: adt.NumKind},
   292  		},
   293  		Result: adt.NumKind,
   294  		Func: func(c *internal.CallCtxt) {
   295  			x, y := c.Decimal(0), c.Decimal(1)
   296  			if c.Do() {
   297  				c.Ret = Copysign(x, y)
   298  			}
   299  		},
   300  	}, {
   301  		Name: "Dim",
   302  		Params: []internal.Param{
   303  			{Kind: adt.NumKind},
   304  			{Kind: adt.NumKind},
   305  		},
   306  		Result: adt.NumKind,
   307  		Func: func(c *internal.CallCtxt) {
   308  			x, y := c.Decimal(0), c.Decimal(1)
   309  			if c.Do() {
   310  				c.Ret, c.Err = Dim(x, y)
   311  			}
   312  		},
   313  	}, {
   314  		Name: "Erf",
   315  		Params: []internal.Param{
   316  			{Kind: adt.NumKind},
   317  		},
   318  		Result: adt.NumKind,
   319  		Func: func(c *internal.CallCtxt) {
   320  			x := c.Float64(0)
   321  			if c.Do() {
   322  				c.Ret = Erf(x)
   323  			}
   324  		},
   325  	}, {
   326  		Name: "Erfc",
   327  		Params: []internal.Param{
   328  			{Kind: adt.NumKind},
   329  		},
   330  		Result: adt.NumKind,
   331  		Func: func(c *internal.CallCtxt) {
   332  			x := c.Float64(0)
   333  			if c.Do() {
   334  				c.Ret = Erfc(x)
   335  			}
   336  		},
   337  	}, {
   338  		Name: "Erfinv",
   339  		Params: []internal.Param{
   340  			{Kind: adt.NumKind},
   341  		},
   342  		Result: adt.NumKind,
   343  		Func: func(c *internal.CallCtxt) {
   344  			x := c.Float64(0)
   345  			if c.Do() {
   346  				c.Ret = Erfinv(x)
   347  			}
   348  		},
   349  	}, {
   350  		Name: "Erfcinv",
   351  		Params: []internal.Param{
   352  			{Kind: adt.NumKind},
   353  		},
   354  		Result: adt.NumKind,
   355  		Func: func(c *internal.CallCtxt) {
   356  			x := c.Float64(0)
   357  			if c.Do() {
   358  				c.Ret = Erfcinv(x)
   359  			}
   360  		},
   361  	}, {
   362  		Name: "Exp",
   363  		Params: []internal.Param{
   364  			{Kind: adt.NumKind},
   365  		},
   366  		Result: adt.NumKind,
   367  		Func: func(c *internal.CallCtxt) {
   368  			x := c.Decimal(0)
   369  			if c.Do() {
   370  				c.Ret, c.Err = Exp(x)
   371  			}
   372  		},
   373  	}, {
   374  		Name: "Exp2",
   375  		Params: []internal.Param{
   376  			{Kind: adt.NumKind},
   377  		},
   378  		Result: adt.NumKind,
   379  		Func: func(c *internal.CallCtxt) {
   380  			x := c.Decimal(0)
   381  			if c.Do() {
   382  				c.Ret, c.Err = Exp2(x)
   383  			}
   384  		},
   385  	}, {
   386  		Name: "Expm1",
   387  		Params: []internal.Param{
   388  			{Kind: adt.NumKind},
   389  		},
   390  		Result: adt.NumKind,
   391  		Func: func(c *internal.CallCtxt) {
   392  			x := c.Float64(0)
   393  			if c.Do() {
   394  				c.Ret = Expm1(x)
   395  			}
   396  		},
   397  	}, {
   398  		Name: "Gamma",
   399  		Params: []internal.Param{
   400  			{Kind: adt.NumKind},
   401  		},
   402  		Result: adt.NumKind,
   403  		Func: func(c *internal.CallCtxt) {
   404  			x := c.Float64(0)
   405  			if c.Do() {
   406  				c.Ret = Gamma(x)
   407  			}
   408  		},
   409  	}, {
   410  		Name: "Hypot",
   411  		Params: []internal.Param{
   412  			{Kind: adt.NumKind},
   413  			{Kind: adt.NumKind},
   414  		},
   415  		Result: adt.NumKind,
   416  		Func: func(c *internal.CallCtxt) {
   417  			p, q := c.Float64(0), c.Float64(1)
   418  			if c.Do() {
   419  				c.Ret = Hypot(p, q)
   420  			}
   421  		},
   422  	}, {
   423  		Name: "J0",
   424  		Params: []internal.Param{
   425  			{Kind: adt.NumKind},
   426  		},
   427  		Result: adt.NumKind,
   428  		Func: func(c *internal.CallCtxt) {
   429  			x := c.Float64(0)
   430  			if c.Do() {
   431  				c.Ret = J0(x)
   432  			}
   433  		},
   434  	}, {
   435  		Name: "Y0",
   436  		Params: []internal.Param{
   437  			{Kind: adt.NumKind},
   438  		},
   439  		Result: adt.NumKind,
   440  		Func: func(c *internal.CallCtxt) {
   441  			x := c.Float64(0)
   442  			if c.Do() {
   443  				c.Ret = Y0(x)
   444  			}
   445  		},
   446  	}, {
   447  		Name: "J1",
   448  		Params: []internal.Param{
   449  			{Kind: adt.NumKind},
   450  		},
   451  		Result: adt.NumKind,
   452  		Func: func(c *internal.CallCtxt) {
   453  			x := c.Float64(0)
   454  			if c.Do() {
   455  				c.Ret = J1(x)
   456  			}
   457  		},
   458  	}, {
   459  		Name: "Y1",
   460  		Params: []internal.Param{
   461  			{Kind: adt.NumKind},
   462  		},
   463  		Result: adt.NumKind,
   464  		Func: func(c *internal.CallCtxt) {
   465  			x := c.Float64(0)
   466  			if c.Do() {
   467  				c.Ret = Y1(x)
   468  			}
   469  		},
   470  	}, {
   471  		Name: "Jn",
   472  		Params: []internal.Param{
   473  			{Kind: adt.IntKind},
   474  			{Kind: adt.NumKind},
   475  		},
   476  		Result: adt.NumKind,
   477  		Func: func(c *internal.CallCtxt) {
   478  			n, x := c.Int(0), c.Float64(1)
   479  			if c.Do() {
   480  				c.Ret = Jn(n, x)
   481  			}
   482  		},
   483  	}, {
   484  		Name: "Yn",
   485  		Params: []internal.Param{
   486  			{Kind: adt.IntKind},
   487  			{Kind: adt.NumKind},
   488  		},
   489  		Result: adt.NumKind,
   490  		Func: func(c *internal.CallCtxt) {
   491  			n, x := c.Int(0), c.Float64(1)
   492  			if c.Do() {
   493  				c.Ret = Yn(n, x)
   494  			}
   495  		},
   496  	}, {
   497  		Name: "Ldexp",
   498  		Params: []internal.Param{
   499  			{Kind: adt.NumKind},
   500  			{Kind: adt.IntKind},
   501  		},
   502  		Result: adt.NumKind,
   503  		Func: func(c *internal.CallCtxt) {
   504  			frac, exp := c.Float64(0), c.Int(1)
   505  			if c.Do() {
   506  				c.Ret = Ldexp(frac, exp)
   507  			}
   508  		},
   509  	}, {
   510  		Name: "Log",
   511  		Params: []internal.Param{
   512  			{Kind: adt.NumKind},
   513  		},
   514  		Result: adt.NumKind,
   515  		Func: func(c *internal.CallCtxt) {
   516  			x := c.Decimal(0)
   517  			if c.Do() {
   518  				c.Ret, c.Err = Log(x)
   519  			}
   520  		},
   521  	}, {
   522  		Name: "Log10",
   523  		Params: []internal.Param{
   524  			{Kind: adt.NumKind},
   525  		},
   526  		Result: adt.NumKind,
   527  		Func: func(c *internal.CallCtxt) {
   528  			x := c.Decimal(0)
   529  			if c.Do() {
   530  				c.Ret, c.Err = Log10(x)
   531  			}
   532  		},
   533  	}, {
   534  		Name: "Log2",
   535  		Params: []internal.Param{
   536  			{Kind: adt.NumKind},
   537  		},
   538  		Result: adt.NumKind,
   539  		Func: func(c *internal.CallCtxt) {
   540  			x := c.Decimal(0)
   541  			if c.Do() {
   542  				c.Ret, c.Err = Log2(x)
   543  			}
   544  		},
   545  	}, {
   546  		Name: "Log1p",
   547  		Params: []internal.Param{
   548  			{Kind: adt.NumKind},
   549  		},
   550  		Result: adt.NumKind,
   551  		Func: func(c *internal.CallCtxt) {
   552  			x := c.Float64(0)
   553  			if c.Do() {
   554  				c.Ret = Log1p(x)
   555  			}
   556  		},
   557  	}, {
   558  		Name: "Logb",
   559  		Params: []internal.Param{
   560  			{Kind: adt.NumKind},
   561  		},
   562  		Result: adt.NumKind,
   563  		Func: func(c *internal.CallCtxt) {
   564  			x := c.Float64(0)
   565  			if c.Do() {
   566  				c.Ret = Logb(x)
   567  			}
   568  		},
   569  	}, {
   570  		Name: "Ilogb",
   571  		Params: []internal.Param{
   572  			{Kind: adt.NumKind},
   573  		},
   574  		Result: adt.IntKind,
   575  		Func: func(c *internal.CallCtxt) {
   576  			x := c.Float64(0)
   577  			if c.Do() {
   578  				c.Ret = Ilogb(x)
   579  			}
   580  		},
   581  	}, {
   582  		Name: "Mod",
   583  		Params: []internal.Param{
   584  			{Kind: adt.NumKind},
   585  			{Kind: adt.NumKind},
   586  		},
   587  		Result: adt.NumKind,
   588  		Func: func(c *internal.CallCtxt) {
   589  			x, y := c.Float64(0), c.Float64(1)
   590  			if c.Do() {
   591  				c.Ret = Mod(x, y)
   592  			}
   593  		},
   594  	}, {
   595  		Name: "Pow",
   596  		Params: []internal.Param{
   597  			{Kind: adt.NumKind},
   598  			{Kind: adt.NumKind},
   599  		},
   600  		Result: adt.NumKind,
   601  		Func: func(c *internal.CallCtxt) {
   602  			x, y := c.Decimal(0), c.Decimal(1)
   603  			if c.Do() {
   604  				c.Ret, c.Err = Pow(x, y)
   605  			}
   606  		},
   607  	}, {
   608  		Name: "Pow10",
   609  		Params: []internal.Param{
   610  			{Kind: adt.IntKind},
   611  		},
   612  		Result: adt.NumKind,
   613  		Func: func(c *internal.CallCtxt) {
   614  			n := c.Int32(0)
   615  			if c.Do() {
   616  				c.Ret = Pow10(n)
   617  			}
   618  		},
   619  	}, {
   620  		Name: "Remainder",
   621  		Params: []internal.Param{
   622  			{Kind: adt.NumKind},
   623  			{Kind: adt.NumKind},
   624  		},
   625  		Result: adt.NumKind,
   626  		Func: func(c *internal.CallCtxt) {
   627  			x, y := c.Float64(0), c.Float64(1)
   628  			if c.Do() {
   629  				c.Ret = Remainder(x, y)
   630  			}
   631  		},
   632  	}, {
   633  		Name: "Signbit",
   634  		Params: []internal.Param{
   635  			{Kind: adt.NumKind},
   636  		},
   637  		Result: adt.BoolKind,
   638  		Func: func(c *internal.CallCtxt) {
   639  			x := c.Decimal(0)
   640  			if c.Do() {
   641  				c.Ret = Signbit(x)
   642  			}
   643  		},
   644  	}, {
   645  		Name: "Cos",
   646  		Params: []internal.Param{
   647  			{Kind: adt.NumKind},
   648  		},
   649  		Result: adt.NumKind,
   650  		Func: func(c *internal.CallCtxt) {
   651  			x := c.Float64(0)
   652  			if c.Do() {
   653  				c.Ret = Cos(x)
   654  			}
   655  		},
   656  	}, {
   657  		Name: "Sin",
   658  		Params: []internal.Param{
   659  			{Kind: adt.NumKind},
   660  		},
   661  		Result: adt.NumKind,
   662  		Func: func(c *internal.CallCtxt) {
   663  			x := c.Float64(0)
   664  			if c.Do() {
   665  				c.Ret = Sin(x)
   666  			}
   667  		},
   668  	}, {
   669  		Name: "Sinh",
   670  		Params: []internal.Param{
   671  			{Kind: adt.NumKind},
   672  		},
   673  		Result: adt.NumKind,
   674  		Func: func(c *internal.CallCtxt) {
   675  			x := c.Float64(0)
   676  			if c.Do() {
   677  				c.Ret = Sinh(x)
   678  			}
   679  		},
   680  	}, {
   681  		Name: "Cosh",
   682  		Params: []internal.Param{
   683  			{Kind: adt.NumKind},
   684  		},
   685  		Result: adt.NumKind,
   686  		Func: func(c *internal.CallCtxt) {
   687  			x := c.Float64(0)
   688  			if c.Do() {
   689  				c.Ret = Cosh(x)
   690  			}
   691  		},
   692  	}, {
   693  		Name: "Sqrt",
   694  		Params: []internal.Param{
   695  			{Kind: adt.NumKind},
   696  		},
   697  		Result: adt.NumKind,
   698  		Func: func(c *internal.CallCtxt) {
   699  			x := c.Float64(0)
   700  			if c.Do() {
   701  				c.Ret = Sqrt(x)
   702  			}
   703  		},
   704  	}, {
   705  		Name: "Tan",
   706  		Params: []internal.Param{
   707  			{Kind: adt.NumKind},
   708  		},
   709  		Result: adt.NumKind,
   710  		Func: func(c *internal.CallCtxt) {
   711  			x := c.Float64(0)
   712  			if c.Do() {
   713  				c.Ret = Tan(x)
   714  			}
   715  		},
   716  	}, {
   717  		Name: "Tanh",
   718  		Params: []internal.Param{
   719  			{Kind: adt.NumKind},
   720  		},
   721  		Result: adt.NumKind,
   722  		Func: func(c *internal.CallCtxt) {
   723  			x := c.Float64(0)
   724  			if c.Do() {
   725  				c.Ret = Tanh(x)
   726  			}
   727  		},
   728  	}},
   729  }