irParser function

List<double> irParser(
  1. String formula
)

Returns a list of double values, containing, a,b, and c, if present.

Implementation

List<double> irParser(String formula) {
  List<double> result = [];
  if (astParser(formula) != 'NONE') {
    List<dynamic> parsedTokens = patternParser(formula);
    Map<String, dynamic> cosmetics = cosmeticStatements();
    for (int i = 0; i < parsedTokens.length; i++) {
      for (int x = 0; x < cosmetics.length; x++) {
        String key = cosmetics.keys.elementAt(x);
        if (cosmetics[key].hasMatch(parsedTokens[i][1])) {
          parsedTokens.remove(parsedTokens[i]);
        } else {}
      }
    }
    for (int y = 0; y < parsedTokens.length; y++) {
      if (RegExp(r'[0-9]+\.[0-9]+').hasMatch(parsedTokens[y][1]) == true) {
        result.add(double.parse(parsedTokens[y][1]));
      } else {}
    }
  } else {}
  return result;
}