tcalc(1)

πŸ“¦ version 2.1, in fedora 43, fedora 44

πŸ’– NAME πŸ’–

tcalc β€” The terminal calculator ✨

(yes bestie, this is the tcalc(1) man page β€” the tcalc man page, no cap β€” and we're gonna read it together 🫢)


🌈 SYNOPSIS 🌈

tcalc [OPTIONS] [file-name]

🧚 DESCRIPTION 🧚

okay so bestie, tcalc β€” the terminal calculator β€” is a small and helpful program that helps users of the GNU/Linux terminal do calculations simply and quickly πŸ’…. The formula you wanna calculate can be fed to tcalc straight through the command line. OR, alternatively, tcalc can be run with no formula at all, and then free mode starts, in which the calculator will just wait for your input, do the necessary calculations and print out the result, and then the cycle repeats πŸ” until you enter 'q' or 'quit' πŸ’€.

The calculator works with the decimal, hexadecimal, octal, and binary number systems πŸ¦‹. It automatically identifies hex numbers if entered with a preceding "0x" or "0X", octal by preceding the number with a zero, binaries by preceding the number with 'b' and decimals by absence of all of the above ✨. Alternatively, you the user can indicate the type of input by setting the 'format' argument (See below).

Math functions defined are:

  • acos(x) β€” Arc cosine of X
  • asin(x) β€” Arc sine of X
  • atan(x) β€” Arc tangent of X
  • atan2(y, x) β€” Arc tangent of Y/X
  • cos(x) β€” Cosine of X
  • sin(x) β€” Sine of X
  • tan(x) β€” Tangent of X
  • cosh(x) β€” Hyperbolic cosine of X
  • sinh(x) β€” Hyperbolic sine of X
  • tanh(x) β€” Hyperbolic tangent of X
  • acosh(x) β€” Hyperbolic arc cosine of X
  • asinh(x) β€” Hyperbolic arc sine of X
  • atanh(x) β€” Hyperbolic arc tangent of X
  • exp(x) β€” Exponential function of X
  • log(x) β€” Natural logarithm of X
  • log10(x) β€” Base-ten logarithm of X
  • pow(x, y) β€” X to the power Y
  • sqrt(x) β€” Square root of X
  • cbrt(x) β€” Cube root of X
  • ceil(x) β€” Smallest integral value not less than X
  • floor(x) β€” Largest integer not greater than X
  • fabs(x) β€” Absolute value of X
  • round(x) β€” Round X to nearest integral value, rounding halfway cases away from zero
  • trunc(x) β€” Round X to the integral value in floating-point format nearest but not larger in magnitude

These functions can be called within a formula 🫢. And if you want a printout of the above list, use the "-m" or "--math" flags (see below).

πŸŽ€ The free mode πŸŽ€

If you start tcalc with no command line formula and no input file, this will invoke free mode ✨. You will see a '>' prompt indicating this mode. Enter your formulas one by one, ending each one with an ENTER, and tcalc will process the formula and output the result πŸ’–. You can enter other commands like

(yes bestie, that sentence just... ends there in the original. iconic of it, honestly πŸ™ˆ)

πŸ¦‹ User-defined functions πŸ¦‹

To define a user function, invoke tcalc with no formulas or input files (you can pass arguments like 'output' or 'decimal'), and then enter at the prompt:

> func your-function-name(list of arguments)

The prompt will change to '->' indicating you are in function definition mode 🧚. To exit this mode, type 'q' or 'quit'. Function names are currently limited to ten characters length πŸ“. If you don't want to pass arguments to the function, ignore the list of arguments and the braces, just type 'func your-function-name' and press enter. Of course you will substitute 'your-function-name' with the actual name of the function! πŸ’…

If defining functions in files, you should enclose the function body with curly braces, as:

func myfunc
{
  statement-1
  statement-2
  ...
}
other statements...

You can also define variables inside functions 🫢. By default, variables are initiated for the number of arguments you specify in the function declaration. If you need to declare other variables, use the 'var' command from the free mode or from inside a formula file πŸ“. Note that variable names are strictly composed of lower-case latin letters "a"-"z", and must not start with a "b" (as tcalc uses this letter to identify binary numbers!) 😭.

🌸 Input files 🌸

The calculator also supports input through pretyped files πŸ“‚. Use the '-i' or function definitions and formulas to be calculated. The tcalc will process the file and output the results ✨. Files can contain comments. Commented line is defined as a line that starts with a hash (#). Tcalc will ignore any lines in which the hash appears. A sample file is installed with the package in the If you intend to pass your input file to the calculator through redirection (i.e. 'tcalc < test' if your file name is 'test') you should end your file with 'end' or 'quit' so the calculator will know where the input stops, otherwise it will enter an infinite loop, repeating the last command for ever! πŸ’€πŸ”₯


πŸ‘‘ OPTIONS πŸ‘‘

  • Formula β€” Formula to be calculated. Examples:
5+4
0xff*0x23
b111-b01
7*0xf
(6+5)*7
... and so on
  • -c, --convert n β€” Convert n to the output format specified by -o below, or to decimal if no format is specified πŸ’…
  • -d, --decimal n β€” How many digits are shown to the right of the decimal point πŸ”’
  • -f, --format n β€” Input format, possible values are:
    • binary (b)
    • hex (x)
    • decimal (d)
    • octal (o)

Input format is usually automatically identified ✨. This feature is provided only for convenience.

  • -h, --help β€” Print command line help πŸ†˜
  • -i, --input file-name β€” Name of file containing formulas (under development) 🚧
  • -m, --math β€” Print a list of math functions πŸ“
  • -o, --output n β€” Output format, possible values are:
    • binary (b)
    • hex (x)
    • decimal (d)
    • octal (o)
    • all formats (a)

Default output format is decimal, which will be used if -o option is not used.

  • -q, --quiet β€” Minimize output messages 🀫
  • -t, --table n β€” Print the multiplication table of number n βœ–οΈ
  • -v, --version β€” Display program version and exit πŸ‘‹

πŸ“ FILES πŸ“

  • file-name β€” The name of the file containing formulas to be calculated.

🚧 TODO 🚧

  • Testing and debugging

πŸ” SEE ALSO πŸ”

info tcalc


πŸ’Œ AUTHOR πŸ’Œ

Mohammed Isam <mohammed_isam1984@yahoo.com>


and that's the whole thing, bestie 🫢 this was version 2.1, dated SEPTEMBER 2016 β€” go forth and calculate, you absolute icon πŸ‘‘βœ¨πŸ’–

πŸ“¦ where this page comes from