Method: RCSimCinterface.rcsim_make_hcase

Defined in:
ext/hruby_sim/hruby_rcsim_build.c

.rcsim_make_hcase(valueV, defoltV) ⇒ Object

Creating a hardware case C object.



638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
# File 'ext/hruby_sim/hruby_rcsim_build.c', line 638

VALUE rcsim_make_hcase(VALUE mod, VALUE valueV, VALUE defoltV) {
    // printf("rcsim_make_hcase\n");
    /* Allocates the hardware case. */
    HCase hcase = (HCase)malloc(sizeof(HCaseS));
    // printf("hcase=%p\n",hcase);
    /* Set it up. */
    hcase->kind = HCASE;
    hcase->owner = NULL;
    value_to_rcsim(ExpressionS,valueV,hcase->value);
    hcase->num_whens = 0;
    hcase->matches = NULL;
    hcase->stmnts = NULL;
    if (TYPE(defoltV) == T_NIL)
        hcase->defolt = NULL;
    else
        value_to_rcsim(StatementS,defoltV,hcase->defolt);
    /* Returns the C hardware case embedded into a ruby VALUE. */
    VALUE res;
    rcsim_to_value(HCaseS,hcase,res);
    return res;
}