Casio fx3600P
Datasheet legend
Ab/c:
Fractions calculation
AC: Alternating current BaseN: Number base calculations Card: Magnetic card storage Cmem: Continuous memory Cond: Conditional execution Const: Scientific constants Cplx: Complex number arithmetic DC: Direct current Eqlib: Equation library Exp: Exponential/logarithmic functions Fin: Financial functions Grph: Graphing capability Hyp: Hyperbolic functions Ind: Indirect addressing Intg: Numerical integration Jump: Unconditional jump (GOTO) Lbl: Program labels LCD: Liquid Crystal Display LED: LightEmitting Diode Liion: Lithiumion rechargeable battery Lreg: Linear regression (2variable statistics) mA: Milliamperes of current Mtrx: Matrix support NiCd: NickelCadmium rechargeable battery NiMH: Nickelmetalhydrite rechargeable battery Prnt: Printer RTC: Realtime clock Sdev: Standard deviation (1variable statistics) Solv: Equation solver Subr: Subroutine call capability Symb: Symbolic computing Tape: Magnetic tape storage Trig: Trigonometric functions Units: Unit conversions VAC: Volts AC VDC: Volts DC 
 
Casio fx3600P
I just received this calculator today, a gift from a friend in Hungary (thank you, István!) Battered as it may look, this older Casio machine still works perfectly. Like other lowerend Casio programmable machines of the same vintage, the fx3600P offers a full complement of scientific functions, but its programming model is very limited. Program storage is limited to 38 program steps. A simple set of conditional instructions allows the program to be restarted from the beginning, but no other control transfer is possible. No facilities are provided for reviewing or editing programs.
The use of conditional instructions is neatly demonstrated by the following simple implementation of the factorial:
Min
×
(
MR

1
)
x>0
1
=
Not too long ago, I thought that 38 program steps and a limited branching capability make this calculator inadequate for a problem as complex as my favorite programming example, the Gamma function. But then I received an email from Herman van Elburg who pointed out that this calculator offers full memory arithmetic (all four functions) on its six Kregisters; moreover, the operations are fully merged (i.e., Kin × 6 uses only one step in program memory.) Herman quickly followed up with another email, a working implementation of the incomplete Gamma function, and a pretty good one at that! Unlike the algorithms I used for the incomplete Gamma function elsewhere, Herman's even works for negative arguments. Needless to say, I am suitably amazed.
Herman's program is reproduced below. To use the program, clear all registers (INV KAC; needed only when the program is run for the first time), enter the integration limit, hit INV x<>y, enter the argument, and hit P1. The result should usually appear within a minute or so. Choosing a high enough integration limit closely approximates the Gamma function; Herman reports that in integration limit of 1.5z+25 on the fx3600P provides suitably accurate results.