pushMonopolars method

void pushMonopolars(
  1. List<List<double>> samples
)

Implementation

void pushMonopolars(List<List<double>> samples) {
  _usingOp((arena, opStatus) {
    final rawSamples = arena.allocate<NativeRawChannelsArray>(sizeOf<NativeRawChannelsArray>() * samples.length);

    for (var i = 0; i < samples.length; i++) {
      var data = samples[i];

      final array = arena.allocate<Double>(sizeOf<Double>() * data.length);
      for (var j = 0; j < data.length; j++) {
        array[j] = data[j];
      }

      final chanelArray = arena<NativeRawChannelsArray>();
      chanelArray.ref.channels = array;

      rawSamples[i] = chanelArray.ref;
    }

    bindings.MathLibPushDataArr(_pointer, rawSamples, samples.length, opStatus);
    opStatus.ref.throwIfNotSuccessful();
  });
}