Canon F-300P

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: Light-Emitting Diode
Li-ion: Lithium-ion rechargeable battery
Lreg: Linear regression (2-variable statistics)
mA: Milliamperes of current
Mtrx: Matrix support
NiCd: Nickel-Cadmium rechargeable battery
NiMH: Nickel-metal-hydrite rechargeable battery
Prnt: Printer
RTC: Real-time clock
Sdev: Standard deviation (1-variable 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
Years of production:   Display type: Graphical display  
New price:   Display color: Black  
    Display technology: Liquid crystal display 
Size: 3½"×8"×1" Display size: 120×32 pixels
Weight: 6 oz    
    Entry method: Formula entry 
Batteries: 3×"LR44" button cell Advanced functions: Trig Exp Hyp Lreg Cmem 
External power:   Memory functions:
I/O: Printer port     
    Programming model: Formula programming 
Precision: 12 digits Program functions: Cond  
Memories: 48(6) numbers Program display: Formula display  
Program memory: 336 program steps Program editing: Formula entry  
Chipset:   Forensic result: 9.00002785901  

Look what the mailman just brought! Well, not the mailman, but the UPS deliveryman, a very likeable chap whose services I do not use more often only because of the exorbitant customs brokerage fee that UPS charges on cross-border shipments from the US.

Anyway, never mind UPS, look at this calculator! The Canon F-300P is unusual in more ways than one. This machine is both highly useful and quite frustrating at the same time. Useful because it has a multitude of functions, a large display, a clean and logical layout. Frustrating because - you guessed it - the darn thing has no program flow control! Although it has plenty of room in its program memory, all you can enter is plain formulas, nothing more. Well, a little bit more: apparently, one memory register can be used to implement a simple loop. But even this feature is not really meant for program control, but more to permit the operator to perform the same calculation interactively multiple times.

What can I say? I never understood back then, and I don't understand now why such artificial limitations had to be incorporated into the design of some otherwise very nice and pleasant-feeling calculators. Especially since, at the same time, other manufacturers came forth with calculators with remarkably flexible functionality.

Because of its inflexibility, my example program for the F-300P is just a simple formula computing the logarithm of the Gamma function for positive arguments. Well, at least it's accurate! Using the Lanczos-approximation, the following program computes the logarithm of the Gamma function to 10+ digits of precision:

LN (2.50662828350+92.2070484521÷(ZRM01)-
83.1776370829÷(RM01+1)+14.8028319308÷(RM
01+2)-.220849707953÷(RM01+3))+(RM01-.5)×
LN (RM01+3.85)-RM01-3.85

One thing to be said in favor of the F-300P is that despite its frustratingly limited programming model, it comes with a comprehensive set of program examples in the form of a program library booklet. All straightforward formulae of course, but nevertheless a useful collection from various areas of mathematics, science, and engineering.