Skip to content
Paul Lipkowski edited this page Dec 9, 2023 · 52 revisions

Yod (v.0.5.0) is a stable version of RPN Calculator (now Papaj). Its release date is August 14, 2020. It is named after the tenth letter of Hebrew alphabet – yod (Χ™). It is the first Gen3 build of RPN Calculator. Since August 25 some features were updated and minor bugs were fixed.

Details and features

  • Name: Yod
  • Version Code: 0.5.0
  • Version Type: Generation 3 build
  • Release Date: August 14, 2020
  • Stable precedessor: Tet (v.0.4.3)
  • Stable successor: Khaf (v.0.5.1)
  • Language: FreePascal
  • Lines of code: 6,900
  • Number of functions: 322 + user-defined ones
  • Maximum number of instructions: de facto no limit (depends how many you can put in AnsiString, which has limit of either 2,147,483,647 (32 bit) or 9,223,372,036,854,775,807 chars (64 bit))
  • Number of entity types: 7 (9 with quasitypes)
  • Number of packages: 5
  • Tested on:
    • systems: Windows (Win2000, Win7, Win8.1, Win10), Linux (Ubuntu 18-20, Debian 8-9)
    • architectures: x86 (32 bit), amd64/x64 (64 bit)

Code and binaries

  • You can download the binaries/executables of Yod here.
  • You can find its source code here.

List of changes

Base – version 0.5.0.0

  • new random functions – rand and random
  • Math functions of probability distribution: CDF, PDF/PMF, random numbers generator. Distributions: normal, standard normal, binomial, exponential, geometrical, Poisson
  • Math functions: arcsin, arccos, arctan, arccot
  • Introduction of the static implementation of Array
  • Array functions of arrays' reduction: reduceSum, reduceProduct, reduceAvg, reduceMean, reduceMeanGeom, reduceMeanHarmonic, reduceMeanSq, reducePowerMean, reduceMedian, reduceVariance, reduceStddev, reduceMin, reduceMax
  • Introduction of @infmode and infinite values INF, +INF, -INF
  • Math functions: sinh, cosh, tanh, coth, sech, csch, arcsinh, arccosh, arctanh, arccoth
  • Array functions of sorting: sortNumbers, sortStrings
  • Console package with functions: clrscr, clearScreen, whereX, whereY, gotoXY, textBackground, textColor, textBackgroundANSI, textColorANSI, textBackgroundRGB, textColorRGB, textReset, textBold, textItalic, textUnderline, textBlink, textFastBlink, textInverse, textBoldOff, textItalicOff, textUnderlineOff, textBlinkOff, textFastBlinkOff, textInverseOff, delay, startSound, stopSound, runCommand
  • Math.toDegrees, Math.toRadians
  • callTimes
  • syntax changes:
    • if β†’ if:
    • else β†’ else:
    • unless β†’ unless:
  • new syntax:
    • function{ }
  • new C-like conditionals and loops
    • if ( ) { } elif ( ) { } else { }
    • while ( ) { }
    • do { } while ( )
    • do { } until ( )
    • for ( ; ; ) { }
  • Array package functions like
    • reduceMin
    • reduceMax
    • findMin
    • findMax
  • Array package functions like
    • belongs
    • reduceMode

Update #1 of August 25, 2020 – version 0.5.0.1

  • fix installREPL.sh scripts
  • fix checkParentheses() function

Update #2 of October 1, 2020 – version 0.5.0.2

  • fix elif bug and some other minor ones

Update #3 of October 13, 2020 – version 0.5.0.3

  • fix empty string bug

Update #4 of January 14, 2021 – version 0.5.0.4

  • fix cmod and cdiv behavior
  • fix genNorm constraints
Clone this wiki locally