Method: RCSimCinterface.rcsim_add_signal_signals
- Defined in:
- ext/hruby_sim/hruby_rcsim_build.c
.rcsim_add_signal_signals(signalIV, sigVs) ⇒ Object
Adds sub signals a C signal.
1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 |
# File 'ext/hruby_sim/hruby_rcsim_build.c', line 1281
VALUE rcsim_add_signal_signals(VALUE mod, VALUE signalIV, VALUE sigVs) {
/* Get the C signal from the Ruby value. */
SignalI signalI;
value_to_rcsim(SignalIS,signalIV,signalI);
// printf("rcsim_add_signal_signals with signalI=%p\n",signalI);
/* Prepare the size for the alternate system types. */
long num = RARRAY_LEN(sigVs);
long old_num = signalI->num_signals;
signalI->num_signals += num;
signalI->signals=realloc(signalI->signals,
sizeof(SignalI[signalI->num_signals]));
// signalI->signals = (SignalI*)my_realloc(signalI->signals,
// sizeof(SignalI[old_num]), sizeof(SignalI[signalI->num_signals]));
/* Get and add the alternate system types from the Ruby value. */
for(long i=0; i< num; ++i) {
SignalI sig;
value_to_rcsim(SignalIS,rb_ary_entry(sigVs,i),sig);
signalI->signals[old_num + i] = sig;
}
return signalIV;
}
|