InvertibleRealFunction.parse constructor

InvertibleRealFunction.parse(
  1. String source
)

Parse source as an instance of InvertibleRealFunction and return

Implementation

factory InvertibleRealFunction.parse(String source) {
  source = source.trim();
  final List<String> parts = source.split(';');

  InvertibleRealFunction irf = Identity<num>().toIRF();

  for (String part in parts) {
    part = part.trim();

    final List<String> f =
        part.split(' ').where((String s) => s.isNotEmpty).toList();
    if (f.isEmpty) continue;

    final IRFSymbol<dynamic> symbol = IRFSymbol._of(f[0]);
    final List<String> props = f.sublist(1);

    irf >>= symbol.createFunction(props);
  }

  return InvertibleRealFunction.of(irf);
}