fromFormat<N extends num, E, T extends Signal<N, E, T>> static method

Signal<N, E, T> fromFormat<N extends num, E, T extends Signal<N, E, T>>(
  1. String format, {
  2. int? size,
  3. List<N>? values,
  4. List<E>? entries,
})

Implementation

static Signal<N, E, T>
    fromFormat<N extends num, E, T extends Signal<N, E, T>>(
  String format, {
  int? size,
  List<N>? values,
  List<E>? entries,
}) {
  switch (format) {
    case 'Float32x4':
      {
        if (values != null) {
          return SignalFloat32x4.from(values.asDoubles()) as Signal<N, E, T>;
        } else if (entries != null) {
          return SignalFloat32x4.fromEntries(
              entries as List<Float32x4>, size!) as Signal<N, E, T>;
        } else {
          return SignalFloat32x4(size!) as Signal<N, E, T>;
        }
      }
    case 'Int32x4':
      {
        if (values != null) {
          return SignalInt32x4.from(values.asInts()) as Signal<N, E, T>;
        } else if (entries != null) {
          return SignalInt32x4.fromEntries(entries as List<Int32x4>, size!)
              as Signal<N, E, T>;
        } else {
          return SignalInt32x4(size!) as Signal<N, E, T>;
        }
      }
    case 'Float32x4Mod4':
      {
        if (values != null) {
          return SignalFloat32x4Mod4.from(values.asDoubles())
              as Signal<N, E, T>;
        } else if (entries != null) {
          return SignalFloat32x4Mod4.fromEntries(
              entries as List<Float32x4>, size!) as Signal<N, E, T>;
        } else {
          return SignalFloat32x4Mod4(size!) as Signal<N, E, T>;
        }
      }
    default:
      throw StateError('Unknown format: $format');
  }
}