class OOL::Conmin::Function
Public Class Methods
alloc(*args)
click to toggle source
static VALUE rb_ool_conmin_function_alloc(int argc, VALUE *argv, VALUE klass) { ool_conmin_function *F = NULL; VALUE ary, obj; F = ALLOC(ool_conmin_function); F->f = &rb_ool_conmin_function_f; F->df = &rb_ool_conmin_function_df; F->fdf = &rb_ool_conmin_function_fdf; F->Hv = &rb_ool_conmin_function_Hv; F->n = 0; ary = rb_ary_new2(5); F->params = (void *) ary; rb_ary_store(ary, 0, Qnil); /* proc f */ rb_ary_store(ary, 1, Qnil); /* proc df */ rb_ary_store(ary, 2, Qnil); /* proc fdf */ rb_ary_store(ary, 3, Qnil); /* proc Hv */ rb_ary_store(ary, 4, Qnil); /* params */ // set_functions(argc, argv, F); obj = Data_Wrap_Struct(klass, rb_ool_conmin_function_mark, free, F); rb_ool_conmin_function_set(argc, argv, obj); return obj; }
Public Instance Methods
n()
click to toggle source
static VALUE rb_ool_conmin_function_n(VALUE obj) { ool_conmin_function *F = NULL; Data_Get_Struct(obj, ool_conmin_function, F); return INT2FIX((int) F->n); }
params()
click to toggle source
static VALUE rb_ool_conmin_function_params(VALUE obj) { ool_conmin_function *F; Data_Get_Struct(obj, ool_conmin_function, F); return rb_ary_entry((VALUE) F->params, 4);; }
set(*args)
click to toggle source
static VALUE rb_ool_conmin_function_set(int argc, VALUE *argv, VALUE obj) { ool_conmin_function *F; Data_Get_Struct(obj, ool_conmin_function, F); switch (argc) { case 0: break; case 1: rb_ool_conmin_function_set_n(obj, argv[0]); break; case 4: set_functions(argc, argv, F); break; case 5: if (FIXNUM_P(argv[0])) { rb_ool_conmin_function_set_n(obj, argv[0]); set_functions(argc-1, argv+1, F); } else { set_functions(argc-1, argv, F); set_params(F, argv[argc-1]); } break; case 6: rb_ool_conmin_function_set_n(obj, argv[0]); set_functions(argc-2, argv+1, F); set_params(F, argv[argc-1]); break; default: rb_raise(rb_eArgError, "Wrong number of arguments."); } return obj; }
set_Hv(p1)
click to toggle source
static VALUE rb_ool_conmin_function_set_Hv(VALUE obj, VALUE proc) { ool_conmin_function *F; VALUE ary; Data_Get_Struct(obj, ool_conmin_function, F); if (F->params == NULL) { ary = rb_ary_new2(5); F->params = (void *) ary; } else { ary = (VALUE) F->params; } rb_ary_store(ary, 3, proc); return proc; }
Also aliased as: Hv=
set_df(p1)
click to toggle source
static VALUE rb_ool_conmin_function_set_df(VALUE obj, VALUE proc) { ool_conmin_function *F; VALUE ary; Data_Get_Struct(obj, ool_conmin_function, F); if (F->params == NULL) { ary = rb_ary_new2(5); F->params = (void *) ary; } else { ary = (VALUE) F->params; } rb_ary_store(ary, 1, proc); return proc; }
Also aliased as: df=
set_f(p1)
click to toggle source
static VALUE rb_ool_conmin_function_set_f(VALUE obj, VALUE proc) { ool_conmin_function *F; VALUE ary; Data_Get_Struct(obj, ool_conmin_function, F); if (F->params == NULL) { ary = rb_ary_new2(5); F->params = (void *) ary; } else { ary = (VALUE) F->params; } rb_ary_store(ary, 0, proc); return proc; }
Also aliased as: f=
set_fdf(p1)
click to toggle source
static VALUE rb_ool_conmin_function_set_fdf(VALUE obj, VALUE proc) { ool_conmin_function *F; VALUE ary; Data_Get_Struct(obj, ool_conmin_function, F); if (F->params == NULL) { ary = rb_ary_new2(5); F->params = (void *) ary; } else { ary = (VALUE) F->params; } rb_ary_store(ary, 2, proc); return proc; }
Also aliased as: fdf=
set_functions(p1)
click to toggle source
static VALUE rb_ool_conmin_function_set_functions(int argc, VALUE *argv, VALUE obj) { ool_conmin_function *F; Data_Get_Struct(obj, ool_conmin_function, F); set_functions(argc, argv, F); return obj; }
Also aliased as: functions=
set_n(p1)
click to toggle source
static VALUE rb_ool_conmin_function_set_n(VALUE obj, VALUE nn) { ool_conmin_function *F = NULL; if (FIXNUM_P(nn)) { Data_Get_Struct(obj, ool_conmin_function, F); F->n = (size_t) FIX2INT(nn); } else { rb_raise(rb_eArgError, "Wrong argument type %s (Fixnum expected)", rb_class2name(CLASS_OF(nn))); } return nn; }
Also aliased as: n=
set_params(p1)
click to toggle source
static VALUE rb_ool_conmin_function_set_params(VALUE obj, VALUE p) { ool_conmin_function *F; Data_Get_Struct(obj, ool_conmin_function, F); set_params(F, p); return p; }
Also aliased as: params=