Quadratic property

Map<ETTypes, num Function(num, [num?])> Quadratic
getter/setter pair

Implementation

static Map<ETTypes,num Function(num,[num?])> Quadratic = {
  ETTypes.In:(amount,[power]) {
    return amount * amount;
  },
  ETTypes.Out:(amount,[power]) {
    return amount * (2 - amount);
  },
  ETTypes.InOut:(amount,[power]) {
    if ((amount *= 2) < 1) {
      return 0.5 * amount * amount;
    }
    return -0.5 * (--amount * (amount - 2) - 1);
  },
};