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;
}
|