Hewlett-Packard HP-15C

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: 1982-1989 Display type: Numeric display  
New price: USD 135.00   Display color: Black  
    Display technology: Liquid crystal display 
Size: 3"×5"×½" Display size: 10(7+2) digits
Weight: 4 oz    
    Entry method: Reverse Polish Notation 
Batteries: 3×"LR44" button cell Advanced functions: Trig Exp Lreg Intg Cplx Cmem Mtrx 
External power:   Memory functions: +/-/×/÷ 
I/O:      
    Programming model: Fully-merged keystroke entry 
Precision: 10 digits Program functions: Jump Cond Subr Lbl Ind  
Memories: 65(0) numbers Program display: Keycode display  
Program memory: 455 program steps Program editing: Auto-insert program entry  
Chipset: Nut   Forensic result: 9.000417403  

hp15c.jpg (23224 bytes)It is easy to see why the HP-15C was a very popular scientific calculator. In addition to a rich set of scientific and engineering functions, the calculator also provided support for complex numbers and matrices; not only basic arithmetic, but also more esoteric features such as transcendental functions with complex arguments, or sophisticated matrix operations. The unit, like all HP 10C-series calculators, is robust, well designed, a pleasure to use, and unlike some of today's ultra high-end calculators, you can actually make sense of most of the calculator's functions without a 300-page manual. Add to this the fact that many 15-year old 10C-series calculators still run on their original set of three watch batteries, and one begins to wonder why these calculators are no longer made. (Then again, the financial calculator in the series, the HP-12C, is still being made. Can it be that in this one case, business folks have more common sense than engineers?)

Although other calculators that preceded the HP-15C also provided support for complex numbers, I believe the HP-15C was the first in which such support was fully integrated with other calculator functions. For instance, the Texas Instruments TI-59 had complex number support, but you needed to explicitly call special solid state library programs for this functionality. Once the HP-15C was in complex mode, however, all the buttons worked in the usual way; for instance, if you took the square root of -1, the calculator correctly yielded a complex result without you having to invoke any special function or subroutine.

The HP-15C provided, as one of its built-in functions, an extended factorial function that in fact calculated the Gamma function of x+1 for any real argument x. It did not, however, work for complex arguments. The impressive integration of complex functionality, however, makes it possible to create a complex implementation of the Gamma function on this calculator  with quite a few bytes of memory to spare. In fact, with the exception of the TI-59 (on which such a program is possible, but much more complex, a lot slower, and requires use of a solid state library module), the HP-15C was the first programmable calculator on which such a complex implementation became feasible.

The program presented here calculates the Gamma function for any complex argument, with the exception of negative integers for which the function has no value. For instance, to calculate the Gamma function for i, key in the following: 1 I A. After a few seconds, the calculator displays the real part of the result (-0.154949828); to view the imaginary part (-0.498015669), press Re-Im. If you wish to clear complex mode after using the program, press CF 8.

001 -    42,21,11  LBL A
002 -    1         1
003 -    34        x-y
004 -    42,21, 2  LBL 2
005 -    43,30, 1  x>0
006 -    22  1     GTO 1
007 -    36        ENTER
008 -    33        Rv
009 -    20        ×
010 -    43 33     R^
011 -    1         1
012 -    40        +
013 -    22  2     GTO 2
014 -    42,21, 1  LBL 1
015 -    44  1     STO 1
016 -    42 30     Re-Im
017 -    44  3     STO 3
018 -    42 30     Re-Im
019 -    34        x-y
020 -    44  0     STO 0
021 -    42 30     Re-Im
022 -    44  2     STO 2
023 -    42 30     Re-Im
024 -     7        7
025 -     6        6
026 -    48        .
027 -     1        1
028 -     8        8
029 -     0        0
030 -     0        0
031 -     9        9
032 -     1        1
033 -     7        7
034 -     3        3
035 -    45  3     RCL 3
036 -    42 30     Re-Im
037 -    43 35     CLX
038 -    45  1     RCL 1
039 -     1        1
040 -    40        +
041 -    10        ÷
042 -     8        8
043 -     6        6
044 -    48        .
045 -     5        5
046 -     0        0
047 -     5        5
048 -     3        3
049 -     2        2
050 -     0        0
051 -     3        3
052 -     3        3
053 -    45  3     RCL 3
054 -    42 30     Re-Im
055 -    43 35     CLX
056 -    45  1     RCL 1
057 -     2        2
058 -    40        +
059 -    10        ÷
060 -    30        -
061 -     2        2
062 -     4        4
063 -    48        .
064 -     0        0
065 -     1        1
066 -     4        4
067 -     0        0
068 -     9        9
069 -     8        8
070 -     2        2
071 -     4        4
072 -    45  3     RCL 3
073 -    42 30     Re-Im
074 -    43 35     CLX
075 -    45  1     RCL 1
076 -     3        3
077 -    40        +
078 -    10        ÷
079 -    40        +
080 -     1        1
081 -    48        .
082 -     2        2
083 -     3        3
084 -     1        1
085 -     7        7
086 -     3        3
087 -     9        9
088 -     5        5
089 -     7        7
090 -     2        2
091 -    45  3     RCL 3
092 -    42 30     Re-Im
093 -    43 35     CLX
094 -    45  1     RCL 1
095 -     4        4
096 -    40        +
097 -    10        ÷
098 -    30        -
099 -     1        1
100 -    48        .
101 -     2        2
102 -     0        0
103 -     8        8
104 -     6        6
105 -     5        5
106 -     0        0
107 -     9        9
108 -     7        7
109 -     4        4
110 -    26        EEX
111 -     3        3
112 -    16        CHS
113 -    45  3     RCL 3
114 -    42 30     Re-Im
115 -    43 35     CLX
116 -    45  1     RCL 1
117 -     5        5
118 -    40        +
119 -    10        ÷
120 -    40        +
121 -     5        5
122 -    48        .
123 -     3        3
124 -     9        9
125 -     5        5
126 -     2        2
127 -     3        3
128 -     9        9
129 -     3        3
130 -     8        8
131 -     5        5
132 -    26        EEX
133 -     6        6
134 -    16        CHS
135 -    45  3     RCL 3
136 -    42 30     Re-Im
137 -    43 35     CLX
138 -    45  1     RCL 1
139 -     6        6
140 -    40        +
141 -    10        ÷
142 -    30        -
143 -     1        1
144 -    40        +
145 -    43 26     π
146 -     2        2
147 -    20        ×
148 -    11        √
149 -    20        ×
150 -    45  3     RCL 3
151 -    42 30     Re-Im
152 -    43 35     CLX
153 -    45  1     RCL 1
154 -    10        ÷
155 -    43 12     LN
156 -    45  3     RCL 3
157 -    42 30     Re-Im
158 -    43 35     CLX
159 -    45  1     RCL 1
160 -     5        5
161 -    48        .
162 -     5        5
163 -    40        +
164 -    43 12     LN
165 -    45  3     RCL 3
166 -    42 30     Re-Im
167 -    43 35     CLX
168 -    45  1     RCL 1
169 -    48        .
170 -     5        5
171 -    40        +
172 -    20        ×
173 -    40        +
174 -    45  3     RCL 3
175 -    42 30     Re-Im
176 -    43 35     CLX
177 -    45  1     RCL 1
178 -    30        -
179 -     5        5
180 -    48        .
181 -     5        5
182 -    30        -
183 -    12        ex
184 -    45  2     RCL 2
185 -    42 30     Re-Im
186 -    43 35     CLX
187 -    45  0     RCL 0
188 -    10        ÷
189 -    43 32     RTN