JavaScript BABBAGE Difference Engine - Version 0.201 (not pipelined!)
( with Internet Explorer 7 and up, need to enable Active X )
(return or details Babbage Intro), for instructions, User Setup
Oper. Number in Axis neg Available functions
1   0's x^2 x^3
2 sin(x) (UserSetUp)
3 Available operations
8 Phase=, Cycle=

cycle #
(sometimes x)
printed, y=f(x) % error
ref. good to 15 places

The above page is an illustration of a operation of a difference engine similar to that designed by Charles Babbage. (This one is not pipelined for easier understanding.)


1) select the function to set up
x^2, or x^3, or sin(x)
2) Operate the selected function
a) one axis at a time
b) one full cycle at a time
c) 10 full cycles at a time (if you get inpatent)

Fun to note: the sin polynomial covers the range of 0 to 23 degrees. It is fun to watch the errors increase when the angle is outside of this range.
Lable Function
Axis # This is the axis number as used by Babbage, the output axis is # 8. The value of that axis is printed in the y=f(x) field.
Oper. This shows what operation occured when you click on the "1 axis" button
Number in Axis This is the number on the axis. Negative values must be in 10s complement form, just like the Babbage design
neg A click on the button performs a 10s complement on the register. (This permits the user to enter the absolute value of a negative number and have the program do the conversion.)
Radio Buttons x^2 x^3 sin(x) - clicking one of these buttons loads the machine with starting values for those functions
x^2 - starting with x=0
x^3 - starting with x=0
sin(x) - sine function of x, in degrees, starting at 0, 0 to 23 degrees, step one minute
"1 axis" button adds the next register, sets the operation in "Add" above
"1 cycle" button performs one complete set of additions to get the next output value
"10 cycles button performs 10 cycles - see "1 cycle" above This can speed operations
Phase shows which registers get added next
Cycle shows "x"
X shows "x" in convenient form, in trig in degrees and minutes
y=f(x) shows the output function
% error shows the percent error of the Babbage machine calculation relative to the value calculated by your computer.
a) If the "correct" value is less than 1 (sin & cos), % error is relative to full scale, i.e. 1
b) Else it is relative to the "correct" value
Please send comments/corrections to
Ed Thelen.

This is user setup, input values, output Babbage Engine Coefficients
STEP 1, | Click Step 1 - then User Inputs X, Y values, format ±n.nnne±nn
STEP 2, | Computer shows # of pairs found (if none, test values used)
STEP 3, | Computer forms Polynomial, User inputs Starting X and Step Size now
STEP 4, | Using polynomial from Step 3, computer forms first 8 values
STEP 5, | Using Y values from Step 4, computer does differencing -
STEP 6, | Using Step 5, computer scales, 10s comp, -> values to Babbage Engine

Next step
Status of prev step