Hi Mat Great, glad you like it! This is a new implementation that emerged from discussions about a different issue on GitHub (see https://github.com/Jermolene/TiddlyWiki5/pull/3572#issuecomment-460958193 <https://github.com/Jermolene/TiddlyWiki5/pull/3572#issuecomment-460958193>).
It is a bit different than Matt’s Calc plugin <https://github.com/mklauber/tiddly-calc <https://github.com/mklauber/tiddly-calc>> and Evan’s Formula plugin <https://github.com/EvanBalster/TiddlyWikiFormula <https://github.com/EvanBalster/TiddlyWikiFormula>>. It doesn’t use conventional “postfix” maths notation (ie, the familiar stuff like (2+2)/3 etc.). Instead, it implements maths operations as filter operators that work the same way as others except that they interpret their arguments as numbers and numeric results are converted to strings. I went for this approach because it makes things really, really small and simple: by re-using all the existing filter operator infrastructure we avoid having to add or implement a new expression parser. On the other hand, it means that it isn’t much use for formulae that have been entered by users not familiar with TiddlyWiki’s filter syntax. We’ll still need plugins like those above for those applications. I haven’t quite finished the documentation, but the list of new operators is as follows - there are new string operators like split and join as well as the maths operators: negate - negation abs - absolute value ceil - smallest integer greater than or equal to a given number floor - the largest integer less than or equal to a given number round - the value of a number rounded to the nearest integer trunc - the integer part of a number by removing any fractional digits sign - the sign of a number, indicating whether the number is positive, negative or zero add - add an operand to every number in the input list subtract - subtract an operand from every number in the input list multiply - multiply every number in the input list by an operand divide - divide every number in the input list by an operand remainder - replace each item in the input list with the remainder when dividing that number by an operand max - replace any number in the input list larger than the operand with the operand min - replace any number in the input list smaller than the operand with the operand fixed - formats a number using fixed-point notation with the number of fractional digits after the decimal point given by the operand precision - returns a string representing the number to the precision specified in the operand exponential - returns a string representing the Number object in exponential notation with the number of digits after the decimal point specified in the operand sum - replaces the input list with the sum of all the entries product - replaces the input list with the product of all the entries maxall - replaces the input list with the maximum value of all the entries minall - replaces the input list with the minimum value of all the entries length - replaces each item in the input list with its string length in characters uppercase - replaces each item in the input with its uppercase equivalent lowercase - replaces each item in the input with its lowercase equivalent trim - trims each item in the input list concat - concatenates all of the items in the input list into a single string split - splits each of the items in the input list by a given separator join - joins all of the items in the input list with a given separator As usual, any comments and thoughts welcome, Best wishes Jeremy > On 7 Feb 2019, at 20:42, Mat <[email protected]> wrote: > > Hi guys! ...in spite of my absence I do 'peek by' occasionally and I just > noted that math operators are added to the prerelease > <https://tiddlywiki.com/prerelease/#Mathematics%20Operators>! > > I just want to thank whoever is behind this (Evan?), plus Jeremy for > including it in core! Basic math ops is one of those things that anyone needs > either sooner or later in a utility tool like TW, so: THANK YOU! > > Also, anyone curious about TW should hear about this right away so it > deserves a mention in HelloThere. > > IMO, "basic math" was the missing piece to fulfill the "minimum of a fully > general note-taking tool" - i.e: produce text, produce images, do > calculations. > > Wonderful! > > <:-) > > P.S sorry for my absence but it will continue for a while. > > -- > You received this message because you are subscribed to the Google Groups > "TiddlyWiki" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To post to this group, send email to [email protected] > <mailto:[email protected]>. > Visit this group at https://groups.google.com/group/tiddlywiki > <https://groups.google.com/group/tiddlywiki>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/tiddlywiki/1eaad72c-4e80-4999-926c-13cf7ea16ba8%40googlegroups.com > > <https://groups.google.com/d/msgid/tiddlywiki/1eaad72c-4e80-4999-926c-13cf7ea16ba8%40googlegroups.com?utm_medium=email&utm_source=footer>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/tiddlywiki. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/8FED9310-FE33-4BB1-97FD-4530A1A5226E%40gmail.com. For more options, visit https://groups.google.com/d/optout.

