Quick Reference
The Calcpad language includes the following elements (click an item to insert):
Real numbers: digits "0" - "9" and decimal point ".";
Complex numbers: re ± imi (e.g. 3 - 2i);
Variables:
- Latin letters a - z, A - Z;
- Greek letters α - ω, Α - Ω;
- digits 0 - 9;
- comma ",";
- superscripts: ⁰ , ¹ , ² , ³ , ⁴ , ⁵ , ⁶ , ⁷ , ⁸ , ⁹ , ⁿ , ⁺ , ⁻ ;
- prime symbols: ′ , ″ , ‴ , ⁗ ;
- special symbols: ‾ , ø , Ø , ° , ∡ ;
- " _ " for subscript;
A variable name must start with a letter. Names are case sensitive.
Constants:
π,
e,
φ,
γ,
g,
G,
ME,
MS,
c,
h,
μ0,
ε0,
ke,
e,
me,
mp,
mn,
NA,
σ,
kB,
R,
F,
γc,
γs,
γa,
γg,
γw;
Operators:
"!" - factorial;
"^" - exponent;
"/" - division;
"÷" - force division bar;
"\" - division;
"⦼" - modulo (reminder);
"*" - multiplication;
"-" - minus;
"+" - plus;
"≡" - equal to;
"≠" - not equal to;
"<" - less than;
">" - greater than;
"≤" - less or equal;
"≥" - greater or equal;
"∧" - logical "AND";
"∨" - logical "OR";
"⊕" - logical "XOR";
"=" - assignment;
Custom functions of type f (x; y; z; ...);
Built-in functions:
Trigonometric:
sin(x) - sine;
cos(x) - cosine;
tan(x) - tangent;
csc(x) - cosecant;
sec(x) - secant;
cot(x) - cotangent;
Hyperbolic:
sinh(x) - hyperbolic sine;
cosh(x) - hyperbolic cosine;
tanh(x) - hyperbolic tangent;
csch(x) - hyperbolic cosecant;
sech(x) - hyperbolic secant;
coth(x) - hyperbolic cotangent;
Inverse trigonometric:
asin(x) - inverse sine;
acos(x) - inverse cosine;
atan(x) - inverse tangent;
atan2(x; y) - the angle whose tangent is the quotient of x and y;
acsc(x) - inverse cosecant;
asec(x) - inverse secant;
acot(x) - inverse cotangent;
Inverse hyperbolic:
asinh(x) - inverse hyperbolic sine;
acosh(x) - inverse hyperbolic cosine;
atanh(x) - inverse hyperbolic tangent;
acsch(x) - inverse hyperbolic cosecant;
asech(x) - inverse hyperbolic secant;
acoth(x) - inverse hyperbolic cotangent;
Logarithmic, exponential and roots:
log(x) - decimal logarithm;
ln(x) - natural logarithm;
exp(x) - natural exponent = eˣ;
log_2(x) - binary logarithm;
sqrt(x) - square root;
cbrt(x) - cubic root;
root(x; y) - n-th root;
Rounding:
round(x) - round to the nearest integer;
floor(x) - round to the lower integer;
ceiling(x) - round to the greater integer;
trunc(x) - round to the nearest integer towards zero;
Integer:
mod(x) - the reminder of an integer division;
gcd(x) - the greatest common divisor of two integers;
lcm(x) - the least common multiple of two integers;
Complex:
abs(x) - absolute value/magnitude;
re(x) - rhe real part of a complex number;
im(x) - rhe imaginary part of a complex number;
phase(x) - rhe phase of a complex number;
Aggregate and interpolation:
min(x; y; z...) - minimum of multiple values;
max(x; y; z...) - maximum of multiple values;
sum(x; y; z...) - sum of multiple values = x + y + z...;
sumsq(x; y; z...) - sum of squares = x² + y² + z²...;
srss(x; y; z...) - square root of sum of squares = sqrt(x² + y² + z²...);
average(x; y; z...) - average of multiple values = (x + y + z...)/n;
product(x; y; z...) - product of multiple values = x·y·z...;
mean(x; y; z...) - geometric mean = n-th root(x·y·z...);
take(n; a; b; c...) - returns the n-th element from the list;
line(x; a; b; c...) - linear interpolation;
spline(x; a; b; c...) - Hermite spline interpolation;
Conditional and logical:
if(<cond>; <value-if-true>; <value-if-false>) - conditional evaluation;
switch(<cond1>; <value1>; <cond2>; <value2>;...; <default>) - selective evaluation;
not(x - logical "not";
and(x; y; z...) - logical "AND";
or(x; y; z...) - logical "OR";
xor(x; y; z...) - logical "XOR";
Other:
sign(x) - sign of a number;
random(x) - a random number between 0 and x;
Comments: "Title" or 'text' in double or single quotes, respectively.
HTML, CSS, JS and SVG are allowed.
Graphing and plotting:
$Plot{ f(x) @ x = a : b } - simple plot;
$Plot{ x(t) | y(t) @ t = a : b } - parametric;
$Plot{ f1(x) & f2(x) & ... @ x = a : b } - multiple;
$Plot{ x1(t) | y1(t) & x2(t) | y2(t) & ... @ t = a : b } - multiple parametric;
$Map{ f(x; y) @ x = a : b & y = c : d } - 2D color map of a 3D surface;
PlotHeight - height of plot area in pixels;
PlotWidth - width of plot area in pixels;
Iterative and numerical methods:
$Root{ f(x) = const @ x = a : b } - root finding for f(x) = const;
$Root{ f(x) @ x = a : b } - root finding for f(x) = 0;
$Find{ f(x) @ x = a : b } - similar to previous, but x is not required to be a precise solution;
$Sup{ f(x) @ x = a : b } - local maximum of a function;
$Inf{ f(x) @ x = a : b } - local minimum of a function;
$Area{ f(x) @ x = a : b } - numerical integration;
$Slope{ f(x) @ x = a } - numerical differentiation;
$Sum{ f(k) @ k = a : b } - iterative sum;
$Product{ f(k) @ k = a : b } - iterative product;
$Repeat{ f(k) @ k = a : b } - general inline iterative procedure;
Precision - relative precision for numerical methods [10-2; 10-16] (default is 10-12)
Program flow control:
Simple:
#if <condition>
<Your code here>
#end if
Alternative:
#if <condition>
<Your code here>
#else
<Some other code>
#end if
Complete:
#if <condition1>
<Your code here>
#else if <condition2>
<Your code here>
#else
<Some other code>
#end if
You can add or omit as many "#else if's" as needed. Only one "#else" is allowed. You can omit this too.
Iteration blocks:
Simple:
#repeat <number of repetitions>
<Your code here>
#loop
With conditional break:
#repeat <number of repetitions>
<Your code here>
#if <condition>
#break
#end if
<Some more code>
#loop
Output control:
#hide - hide the report contents;
#show - always show the contents (default);
#pre - show the next contents only before calculations;
#post - show the next contents only after calculations;
#val - show only the calculated results;
#equ - show the complete equations (default);
#noc - show only equations without results (no calculations);
#round n - rounds to n digits after the decimal point.
Each of the above commands is effective after the current line until the end of the report or another command that overwrites it.
Breakpoints for step-by-step execution:
#pause - calculates to the current line and waits until resumed manually;
#input - renders an input form to the current line and waits for user input.
Units for trigonometric functions:
#deg - degrees,
#rad - radians;
#gra - grades;
Separator for target units: |;
Return angles with units:
ReturnAngleUnits = 1;
Dimensionless units:
%,
‰;
Angle units:
°,
′,
″,
deg,
rad,
grad,
rev;
Metric units (SI and compatible):
Mass:
g,
hg,
kg,
t,
kt,
Mt,
Gt,
dg,
cg,
mg,
μg,
ng,
pg,
Da,
u;
Length:
m,
km,
dm,
cm,
mm,
μm,
nm,
pm,
AU,
pm;
Time:
s,
ms,
μs,
ns,
ps,
min,
h,
d,
w,
y;
Frequency:
Hz,
kHz,
MHz,
GHz,
THz,
mHz,
μHz,
nHz,
pHz,
rpm;
Speed:
kmh;
Electric current:
A,
kA,
MA,
GA,
TA,
mA,
μA,
nA,
pA;
Temperature:
°C,
Δ°C,
K;
Amount of substance:
mol;
Luminous intensity:
cd;
Area:
a,
daa,
ha;
Volume:
L,
daL,
hL,
dL,
cL,
mL,
μL,
nL,
pL;
Force:
N,
daN,
hN,
kN,
MN,
GN,
TN,
kgf,
tf,
dyn;
Moment:
Nm,
kNm;
Pressure:
Pa,
daPa,
hPa,
kPa,
MPa,
GPa,
TPa,
dPa,
cPa,
mPa,
μPa,
nPa,
pPa,
bar,
mbar,
μbar,
atm,
at,
Torr,
mmHg;
Viscosity:
P,
cP,
St,
cSt;
Energy work:
J,
kJ,
MJ,
GJ,
TJ,
mJ,
μJ,
nJ,
pJ,
Wh,
kWh,
MWh,
GWh,
TWh,
mWh,
μWh,
nWh,
pWh,
eV,
keV,
MeV,
GeV,
TeV,
PeV,
EeV,
cal,
kcal,
erg;
Power:
W,
kW,
MW,
GW,
TW,
mW,
μW,
nW,
pW,
hpM,
ks,
VA,
kVA,
MVA,
GVA,
TVA,
mVA,
μVA,
nVA,
pVA,
VAR,
kVA,
MVA,
GVA,
TVA,
mVA,
μVA,
nVA,
pVA;
Electric charge:
C,
kC,
MC,
GC,
TC,
mC,
μC,
nC,
pC,
Ah,
mAh;
Potential:
V,
kV,
MV,
GV,
TV,
mV,
μV,
nV,
pV;
Capacitance:
F,
kF,
MF,
GF,
TF,
mF,
μF,
nF,
pF;
Resistance:
Ω,
kΩ,
MΩ,
GΩ,
TΩ,
mΩ,
μΩ,
nΩ,
pΩ;
Conductance:
S,
kS,
MS,
GS,
TS,
mS,
μS,
nS,
pS,
℧,
k℧,
M℧,
G℧,
T℧,
m℧,
μ℧,
n℧,
p℧;
Magnetic flux:
Wb,
kWb,
MWb,
GWb,
TWb,
mWb,
μWb,
nWb,
pWb;
Magnetic flux density:
T,
kT,
MT,
GT,
TT,
mT,
μT,
nT,
pT;
Inductance:
H,
kH,
MH,
GH,
TH,
mH,
μH,
nH,
pH;
Luminous flux:
lm;
Illuminance:
lx;
Radioactivity:
Bq,
kBq,
MBq,
GBq,
TBq,
mBq,
μBq,
nBq,
pBq,
Ci,
Rd;
Absorbed dose:
Gy,
kGy,
MGy,
GGy,
TGy,
mGy,
μGy,
nGy,
pGy;
Equivalent dose:
Sv,
kSv,
MSv,
GSv,
TSv,
mSv,
μSv,
nSv,
pSv;
Catalytic activity:
kat;
Non-metric units (Imperial/US):
Mass:
gr,
dr,
oz,
lb
(or lbm,
lb_m),
klb
(or kipm,
kip_m),
st,
qr,
cwt_UK,
cwt_US,
ton_UK,
ton_US,
slug;
Length:
th,
in,
ft,
yd,
ch,
fur,
mi,
ftm,
ftm_UK,
ftm_US,
cable,
cable_UK,
cable_US,
nmi,
li,
rod,
pole,
perch,
lea;
Speed:
mph,
knot;
Temperature:
°F,
Δ°F,
°R;
Area:
rood,
ac;
Volume, fluid:
fl_oz_UK,
gi_UK,
pt_UK,
qt_UK,
gal_UK,
bbl_UK,
fl_oz_US,
gi_US,
pt_US,
qt_US,
gal_US,
bbl_US;
Volume, dry:
(US) pt_dry,
(US) qt_dry,
(US) gal_dry,
(US) bbl_dry,
pk_UK,
pk_US,
bu_UK,
bu_US;
Force:
ozf
or (oz_f ),
lbf
or (lb_f ),
kipf
or (kipf,
kip_f ),
tonf
or (ton_f ),
pdl;
Pressure:
osi,
osf,
psi,
psf,
ksi,
ksf,
tsi,
tsf,
inHg;
Energy work:
BTU,
therm_UK,
therm_US,
quad;
Power:
hp,
hpE,
hpS.
Custom units - .Name = expression.
Names can include currency symbols:
€,
£,
₤,
¥,
¢,
₽,
₹,
₩,
₪.