go-hep.org/x/hep@v0.38.1/groot/rtree/rfunc/rfunc_bool_gen.go (about)

     1  // Copyright ©2020 The go-hep Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Automatically generated. DO NOT EDIT.
     6  
     7  package rfunc
     8  
     9  import (
    10  	"fmt"
    11  )
    12  
    13  // FuncToBool implements rfunc.Formula
    14  type FuncToBool struct {
    15  	fct func() bool
    16  }
    17  
    18  // NewFuncToBool return a new formula, from the provided function.
    19  func NewFuncToBool(rvars []string, fct func() bool) *FuncToBool {
    20  	return &FuncToBool{
    21  		fct: fct,
    22  	}
    23  }
    24  
    25  // RVars implements rfunc.Formula
    26  func (f *FuncToBool) RVars() []string { return nil }
    27  
    28  // Bind implements rfunc.Formula
    29  func (f *FuncToBool) Bind(args []any) error {
    30  	if got, want := len(args), 0; got != want {
    31  		return fmt.Errorf(
    32  			"rfunc: invalid number of bind arguments (got=%d, want=%d)",
    33  			got, want,
    34  		)
    35  	}
    36  	return nil
    37  }
    38  
    39  // Func implements rfunc.Formula
    40  func (f *FuncToBool) Func() any {
    41  	return func() bool {
    42  		return f.fct()
    43  	}
    44  }
    45  
    46  var (
    47  	_ Formula = (*FuncToBool)(nil)
    48  )
    49  
    50  // FuncF32ToBool implements rfunc.Formula
    51  type FuncF32ToBool struct {
    52  	rvars []string
    53  	arg0  *float32
    54  	fct   func(arg00 float32) bool
    55  }
    56  
    57  // NewFuncF32ToBool return a new formula, from the provided function.
    58  func NewFuncF32ToBool(rvars []string, fct func(arg00 float32) bool) *FuncF32ToBool {
    59  	return &FuncF32ToBool{
    60  		rvars: rvars,
    61  		fct:   fct,
    62  	}
    63  }
    64  
    65  // RVars implements rfunc.Formula
    66  func (f *FuncF32ToBool) RVars() []string { return f.rvars }
    67  
    68  // Bind implements rfunc.Formula
    69  func (f *FuncF32ToBool) Bind(args []any) error {
    70  	if got, want := len(args), 1; got != want {
    71  		return fmt.Errorf(
    72  			"rfunc: invalid number of bind arguments (got=%d, want=%d)",
    73  			got, want,
    74  		)
    75  	}
    76  	{
    77  		ptr, ok := args[0].(*float32)
    78  		if !ok {
    79  			return fmt.Errorf(
    80  				"rfunc: argument type 0 (name=%s) mismatch: got=%T, want=*float32",
    81  				f.rvars[0], args[0],
    82  			)
    83  		}
    84  		f.arg0 = ptr
    85  	}
    86  	return nil
    87  }
    88  
    89  // Func implements rfunc.Formula
    90  func (f *FuncF32ToBool) Func() any {
    91  	return func() bool {
    92  		return f.fct(
    93  			*f.arg0,
    94  		)
    95  	}
    96  }
    97  
    98  var (
    99  	_ Formula = (*FuncF32ToBool)(nil)
   100  )
   101  
   102  // FuncF32F32ToBool implements rfunc.Formula
   103  type FuncF32F32ToBool struct {
   104  	rvars []string
   105  	arg0  *float32
   106  	arg1  *float32
   107  	fct   func(arg00 float32, arg01 float32) bool
   108  }
   109  
   110  // NewFuncF32F32ToBool return a new formula, from the provided function.
   111  func NewFuncF32F32ToBool(rvars []string, fct func(arg00 float32, arg01 float32) bool) *FuncF32F32ToBool {
   112  	return &FuncF32F32ToBool{
   113  		rvars: rvars,
   114  		fct:   fct,
   115  	}
   116  }
   117  
   118  // RVars implements rfunc.Formula
   119  func (f *FuncF32F32ToBool) RVars() []string { return f.rvars }
   120  
   121  // Bind implements rfunc.Formula
   122  func (f *FuncF32F32ToBool) Bind(args []any) error {
   123  	if got, want := len(args), 2; got != want {
   124  		return fmt.Errorf(
   125  			"rfunc: invalid number of bind arguments (got=%d, want=%d)",
   126  			got, want,
   127  		)
   128  	}
   129  	{
   130  		ptr, ok := args[0].(*float32)
   131  		if !ok {
   132  			return fmt.Errorf(
   133  				"rfunc: argument type 0 (name=%s) mismatch: got=%T, want=*float32",
   134  				f.rvars[0], args[0],
   135  			)
   136  		}
   137  		f.arg0 = ptr
   138  	}
   139  	{
   140  		ptr, ok := args[1].(*float32)
   141  		if !ok {
   142  			return fmt.Errorf(
   143  				"rfunc: argument type 1 (name=%s) mismatch: got=%T, want=*float32",
   144  				f.rvars[1], args[1],
   145  			)
   146  		}
   147  		f.arg1 = ptr
   148  	}
   149  	return nil
   150  }
   151  
   152  // Func implements rfunc.Formula
   153  func (f *FuncF32F32ToBool) Func() any {
   154  	return func() bool {
   155  		return f.fct(
   156  			*f.arg0,
   157  			*f.arg1,
   158  		)
   159  	}
   160  }
   161  
   162  var (
   163  	_ Formula = (*FuncF32F32ToBool)(nil)
   164  )
   165  
   166  // FuncF32F32F32ToBool implements rfunc.Formula
   167  type FuncF32F32F32ToBool struct {
   168  	rvars []string
   169  	arg0  *float32
   170  	arg1  *float32
   171  	arg2  *float32
   172  	fct   func(arg00 float32, arg01 float32, arg02 float32) bool
   173  }
   174  
   175  // NewFuncF32F32F32ToBool return a new formula, from the provided function.
   176  func NewFuncF32F32F32ToBool(rvars []string, fct func(arg00 float32, arg01 float32, arg02 float32) bool) *FuncF32F32F32ToBool {
   177  	return &FuncF32F32F32ToBool{
   178  		rvars: rvars,
   179  		fct:   fct,
   180  	}
   181  }
   182  
   183  // RVars implements rfunc.Formula
   184  func (f *FuncF32F32F32ToBool) RVars() []string { return f.rvars }
   185  
   186  // Bind implements rfunc.Formula
   187  func (f *FuncF32F32F32ToBool) Bind(args []any) error {
   188  	if got, want := len(args), 3; got != want {
   189  		return fmt.Errorf(
   190  			"rfunc: invalid number of bind arguments (got=%d, want=%d)",
   191  			got, want,
   192  		)
   193  	}
   194  	{
   195  		ptr, ok := args[0].(*float32)
   196  		if !ok {
   197  			return fmt.Errorf(
   198  				"rfunc: argument type 0 (name=%s) mismatch: got=%T, want=*float32",
   199  				f.rvars[0], args[0],
   200  			)
   201  		}
   202  		f.arg0 = ptr
   203  	}
   204  	{
   205  		ptr, ok := args[1].(*float32)
   206  		if !ok {
   207  			return fmt.Errorf(
   208  				"rfunc: argument type 1 (name=%s) mismatch: got=%T, want=*float32",
   209  				f.rvars[1], args[1],
   210  			)
   211  		}
   212  		f.arg1 = ptr
   213  	}
   214  	{
   215  		ptr, ok := args[2].(*float32)
   216  		if !ok {
   217  			return fmt.Errorf(
   218  				"rfunc: argument type 2 (name=%s) mismatch: got=%T, want=*float32",
   219  				f.rvars[2], args[2],
   220  			)
   221  		}
   222  		f.arg2 = ptr
   223  	}
   224  	return nil
   225  }
   226  
   227  // Func implements rfunc.Formula
   228  func (f *FuncF32F32F32ToBool) Func() any {
   229  	return func() bool {
   230  		return f.fct(
   231  			*f.arg0,
   232  			*f.arg1,
   233  			*f.arg2,
   234  		)
   235  	}
   236  }
   237  
   238  var (
   239  	_ Formula = (*FuncF32F32F32ToBool)(nil)
   240  )
   241  
   242  // FuncF64ToBool implements rfunc.Formula
   243  type FuncF64ToBool struct {
   244  	rvars []string
   245  	arg0  *float64
   246  	fct   func(arg00 float64) bool
   247  }
   248  
   249  // NewFuncF64ToBool return a new formula, from the provided function.
   250  func NewFuncF64ToBool(rvars []string, fct func(arg00 float64) bool) *FuncF64ToBool {
   251  	return &FuncF64ToBool{
   252  		rvars: rvars,
   253  		fct:   fct,
   254  	}
   255  }
   256  
   257  // RVars implements rfunc.Formula
   258  func (f *FuncF64ToBool) RVars() []string { return f.rvars }
   259  
   260  // Bind implements rfunc.Formula
   261  func (f *FuncF64ToBool) Bind(args []any) error {
   262  	if got, want := len(args), 1; got != want {
   263  		return fmt.Errorf(
   264  			"rfunc: invalid number of bind arguments (got=%d, want=%d)",
   265  			got, want,
   266  		)
   267  	}
   268  	{
   269  		ptr, ok := args[0].(*float64)
   270  		if !ok {
   271  			return fmt.Errorf(
   272  				"rfunc: argument type 0 (name=%s) mismatch: got=%T, want=*float64",
   273  				f.rvars[0], args[0],
   274  			)
   275  		}
   276  		f.arg0 = ptr
   277  	}
   278  	return nil
   279  }
   280  
   281  // Func implements rfunc.Formula
   282  func (f *FuncF64ToBool) Func() any {
   283  	return func() bool {
   284  		return f.fct(
   285  			*f.arg0,
   286  		)
   287  	}
   288  }
   289  
   290  var (
   291  	_ Formula = (*FuncF64ToBool)(nil)
   292  )
   293  
   294  // FuncF64F64ToBool implements rfunc.Formula
   295  type FuncF64F64ToBool struct {
   296  	rvars []string
   297  	arg0  *float64
   298  	arg1  *float64
   299  	fct   func(arg00 float64, arg01 float64) bool
   300  }
   301  
   302  // NewFuncF64F64ToBool return a new formula, from the provided function.
   303  func NewFuncF64F64ToBool(rvars []string, fct func(arg00 float64, arg01 float64) bool) *FuncF64F64ToBool {
   304  	return &FuncF64F64ToBool{
   305  		rvars: rvars,
   306  		fct:   fct,
   307  	}
   308  }
   309  
   310  // RVars implements rfunc.Formula
   311  func (f *FuncF64F64ToBool) RVars() []string { return f.rvars }
   312  
   313  // Bind implements rfunc.Formula
   314  func (f *FuncF64F64ToBool) Bind(args []any) error {
   315  	if got, want := len(args), 2; got != want {
   316  		return fmt.Errorf(
   317  			"rfunc: invalid number of bind arguments (got=%d, want=%d)",
   318  			got, want,
   319  		)
   320  	}
   321  	{
   322  		ptr, ok := args[0].(*float64)
   323  		if !ok {
   324  			return fmt.Errorf(
   325  				"rfunc: argument type 0 (name=%s) mismatch: got=%T, want=*float64",
   326  				f.rvars[0], args[0],
   327  			)
   328  		}
   329  		f.arg0 = ptr
   330  	}
   331  	{
   332  		ptr, ok := args[1].(*float64)
   333  		if !ok {
   334  			return fmt.Errorf(
   335  				"rfunc: argument type 1 (name=%s) mismatch: got=%T, want=*float64",
   336  				f.rvars[1], args[1],
   337  			)
   338  		}
   339  		f.arg1 = ptr
   340  	}
   341  	return nil
   342  }
   343  
   344  // Func implements rfunc.Formula
   345  func (f *FuncF64F64ToBool) Func() any {
   346  	return func() bool {
   347  		return f.fct(
   348  			*f.arg0,
   349  			*f.arg1,
   350  		)
   351  	}
   352  }
   353  
   354  var (
   355  	_ Formula = (*FuncF64F64ToBool)(nil)
   356  )
   357  
   358  // FuncF64F64F64ToBool implements rfunc.Formula
   359  type FuncF64F64F64ToBool struct {
   360  	rvars []string
   361  	arg0  *float64
   362  	arg1  *float64
   363  	arg2  *float64
   364  	fct   func(arg00 float64, arg01 float64, arg02 float64) bool
   365  }
   366  
   367  // NewFuncF64F64F64ToBool return a new formula, from the provided function.
   368  func NewFuncF64F64F64ToBool(rvars []string, fct func(arg00 float64, arg01 float64, arg02 float64) bool) *FuncF64F64F64ToBool {
   369  	return &FuncF64F64F64ToBool{
   370  		rvars: rvars,
   371  		fct:   fct,
   372  	}
   373  }
   374  
   375  // RVars implements rfunc.Formula
   376  func (f *FuncF64F64F64ToBool) RVars() []string { return f.rvars }
   377  
   378  // Bind implements rfunc.Formula
   379  func (f *FuncF64F64F64ToBool) Bind(args []any) error {
   380  	if got, want := len(args), 3; got != want {
   381  		return fmt.Errorf(
   382  			"rfunc: invalid number of bind arguments (got=%d, want=%d)",
   383  			got, want,
   384  		)
   385  	}
   386  	{
   387  		ptr, ok := args[0].(*float64)
   388  		if !ok {
   389  			return fmt.Errorf(
   390  				"rfunc: argument type 0 (name=%s) mismatch: got=%T, want=*float64",
   391  				f.rvars[0], args[0],
   392  			)
   393  		}
   394  		f.arg0 = ptr
   395  	}
   396  	{
   397  		ptr, ok := args[1].(*float64)
   398  		if !ok {
   399  			return fmt.Errorf(
   400  				"rfunc: argument type 1 (name=%s) mismatch: got=%T, want=*float64",
   401  				f.rvars[1], args[1],
   402  			)
   403  		}
   404  		f.arg1 = ptr
   405  	}
   406  	{
   407  		ptr, ok := args[2].(*float64)
   408  		if !ok {
   409  			return fmt.Errorf(
   410  				"rfunc: argument type 2 (name=%s) mismatch: got=%T, want=*float64",
   411  				f.rvars[2], args[2],
   412  			)
   413  		}
   414  		f.arg2 = ptr
   415  	}
   416  	return nil
   417  }
   418  
   419  // Func implements rfunc.Formula
   420  func (f *FuncF64F64F64ToBool) Func() any {
   421  	return func() bool {
   422  		return f.fct(
   423  			*f.arg0,
   424  			*f.arg1,
   425  			*f.arg2,
   426  		)
   427  	}
   428  }
   429  
   430  var (
   431  	_ Formula = (*FuncF64F64F64ToBool)(nil)
   432  )