Method: Vdsp::UnsafeDouble.vtabi

Defined in:
ext/vdsp/vdsp.c

.vtabi(a, a_offset, a_stride, s1, s2, c, m, d, d_offset, d_stride, n) ⇒ Object



2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
# File 'ext/vdsp/vdsp.c', line 2243

VALUE rb_double_vtabi(
  VALUE cls,
  VALUE a, VALUE a_offset, VALUE a_stride,
  VALUE s1,
  VALUE s2,
  VALUE c,
  VALUE m,
  VALUE d, VALUE d_offset, VALUE d_stride,
  VALUE n)
{
  VdspArrayParam _a;
  VdspArrayParam _d;

  array_param(&_a, a, a_offset, a_stride);
  double _s1 = NUM2DBL(s1);
  double _s2 = NUM2DBL(s2);
  VdspArrayNativeResource *_c = get_vdsp_array_native_resource(c);

  vDSP_Length _m = NUM2LONG(m);
  vDSP_Length _n = NUM2LONG(n);

  array_param(&_d, d, d_offset, d_stride);

  vDSP_vtabiD(
    _a.res0->v.d+_a.offset, _a.stride,
    &_s1,
    &_s2,
    _c->v.d,
    _m,
    _d.res0->v.d+_d.offset, _d.stride,
    _n
  );

  return d;
}