Method: RCSimCinterface.rcsim_get_signal_fixnum

Defined in:
ext/hruby_sim/hruby_rcsim_build.c

.rcsim_get_signal_fixnum(signalV) ⇒ Object

Gets the value of a C signal as a Ruby fixnum. Sets 0 if the value contains x or z bits.



1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
# File 'ext/hruby_sim/hruby_rcsim_build.c', line 1660

VALUE rcsim_get_signal_fixnum(VALUE mod, VALUE signalV) {
    Value value;
    /* Get the C signal from the Ruby value. */
    SignalI signal;
    value_to_rcsim(SignalIS,signalV,signal);
    // printf("rc_sim_get_signal_fixnum for signal=%s\n",signal->name);
    /* Get the value from the signal. */
    value = signal->c_value;
    // /* Is the value a numeric? */
    // if(value->numeric == 1) {
    //     /* Yes, return it as a Ruby fixnum. */
    //     return LONG2FIX(value->data_int);
    // } else {
    //     /* No, return 0. */
    //     return LONG2FIX(0);
    // }
    return LONG2FIX(value2integer(value));
}