Goodbye to the old 12-digit, solar powered desk calculators and welcome BigMath Plugin by our very own Ritesh Pareek. This Appian plugin gives developers the capability to perform a range of mathematical operations on Big Numbers. We are talking about numbers up to Quintillions – 18 digits long.
Growing up with a liking for solving large mathematical equations, creating the BigMath plugin was a personal passion project.
Source: Ritesh Pareek
The exciting part of being an Appian Designer at Procensol is the opportunity to develop an application or a plugin that pushes the boundaries of the Appian platform. Growing up with a liking for solving large mathematical equations, creating the BigMath plugin was a personal passion project.
With BigMath I’ve developed a plugin which enables Appian developers to work with Big Numbers. This plugin can work with numbers in the Quintillions.
Here’s a technical overview of what BigMath is capable of:
BigMath, supports values in the range -2Integer.MAX_VALUE (exclusive) to +2Integer.MAX_VALUE (exclusive) for Integers. Whereas Decimal consists of an arbitrary precision integer unscaled value and a 32-bit integer scale. If zero or positive, the scale is the number of digits to the right of the decimal point. If negative, the unscaled value of the number is multiplied by ten to the power of the negation of the scale.
Semantics of arithmetic operations exactly mimic those of Java’s integer arithmetic operators.
Semantics of shift operations extend those of Java’s shift operators to allow for negative shift distances.
Semantics of bitwise logical operations exactly mimic those of Java’s bitwise integer operators. The binary operators (and, or, xor) implicitly perform sign extension on the shorter of the two operands prior to performing the operation.
Comparison operations perform signed integer comparisons, analogous to those performed by Java’s relational and equality operators.
Modular arithmetic operations are provided to compute residues, perform exponentiation, and compute multiplicative inverses. These methods always return a non-negative result, between 0 and (modulus – 1), inclusive.
Bit operations operate on a single bit of the two’s-complement representation of their operand.
For the sake of brevity and clarity, pseudo-code expression can also be used with limited number of operations. It is applied only on ADD, SUBTRACT, DIVIDE, MULTIPLY, EXPONENT and PERCENTOF. The pseudo-code expression (i + j/(p/k)%l*m) valid expression.