Changelog



Version 0.1.3

  • Functions now work with units.
    • max(), min(), abs(), ceil(), floor(), and round() all preserve the unit of their arguments.
    • Trig functions still only work on unitless values which is correct since angles are unitless.
    • sqrt(), cbrt(), ln(), log2(), and log10() still don't work with unit-ed values. This will be fixed in a future update but likely not soon.
  • You can alias hard to type variables now.
    Ex:
    alias dx \frac{dx}{dt}
    alias dt \Delta{t}

    dx = 5 m/s
    x = dx * dt = ?

    is equivalent to
    \frac{dx}{dt} = 5 m/s
    x = \frac{dx}{dt} * \Delta{t} = ?

Version 0.1.2

This update is really small but it improves the experience a bit so I thought I'd push it quickly.
  • Fixed redundant parenthesis placement on addition and subtraction.
  • Fixed a bug with unit parsing

Version 0.1.1

  • Added constants \pi and e
  • Added mathematical functions:
    • max(a, b, c, ...): returns the maximum value of all arguments
    • min(a, b, c, ...): returns the minimum value of all arguments
    • abs(n): returns the absolute value of n
    • Trig functions: acos, acosh, asin, asinh, atan, atanh, cos, cosh, sin, sinh, tan, tanh,
      Remember to specify degrees when applicable, e.g. cos(\pi) is equivalent to cos(180 deg).
    • cbrt(n): returns the cube root of n
    • sqrt: returns the square root of n
    • ceil(n): returns the ceiling of n
    • floor(n): returns the floor of n
    • ln: returns the natural log of n
    • log10: returns the log base 10 of n
    • log2: returns the log base 2 of n
    • round: returns n rounded to the nearest integer
    Functions currently only work on values that do not have units. This should hopefully be fixed in the next update.
  • Fixed unnecessary spaces appearing sometimes
  • Fixed trailing zeros showing up on integers sometimes
Thanks to @Tyilo on GitHub for his work on functions and trailing zeros!