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

Hv=(p1)
Alias for: set_Hv
df=(p1)
Alias for: set_df
f=(p1)
Alias for: set_f
fdf=(p1)
Alias for: set_fdf
functions=(p1)
Alias for: set_functions
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);
}
n=(p1)
Alias for: set_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);;
}
params=(p1)
Alias for: set_params
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=