# Roman Abacus

## Version 1.4 24 June 2020

## Summary

This is an emulation of a Roman Abacus which probably never existed.
It is based on a Roman variant of the Salamis Tablet, and is designed to match my Roman Calculator.

## Instructions

When the widget is started, it displays an abacus.
Click on the background to place a pebble on the abacus.
Click on a pebble to remove it from the abacus.
The number represented by the pebbles is displayed in both Roman and decimal notation.

Enter a Roman number (in compact format) into the upper field, then press RETURN.
The decimal equivalent is displayed and corresponding pebbles are placed on the abacus.

Enter a non-negative (decimal) number into the lower field, then press RETURN.
The Roman equivalent is displayed and corresponding pebbles are placed on the abacus.
The widget accepts non-negative javascript numbers.

If the alt-key is down when the RETURN key is pressed, the number is added to the number in the display and corresponding pebbles are placed on the abacus.

If the shift-key is down when the RETURN key is pressed, the number is subtracted from the number in the display and corresponding pebbles are placed on the abacus.
The shift-key takes priority if the alt-key and shift-key are both down.

## On-screen Shift and Alt Keys

There are on-screen shift and alt keys primarily for use on tablet computers that do not have these keys available. They act as locking keys.

## Splay Button

This is used to move the pebbles to the edges of the abacus, so that additional pebbles can be placed near to the centre line.

## Normalization

The display can be returned to a normal state by pressing RETURN in either the Roman or the decimal entry field. This generally reduces the number of pebbles and also moves the pebbles back to the centre line.

## Roman Numerals

Roman numerals are M, D, C, L, X, V, I, S, ●, £, $, ℈ and ».

    Fractions:
    »       1/1728  siliqua			enter as "
    ℈       1/288   scripulum		enter as €
    $       1/144   dimidia sextula
    £       1/24    semuncia

    ●       1/12    uncia			enter as u or U
    ●●      1/6     sextans
    ●●●     1/4     quadrans
    ●●●●    1/3     triens
    ●●●●●   5/12    quincunx
    S       1/2     semis
    S●      7/12    septunx
    S●●     2/3     bes
    S●●●    3/4     dodrans
    S●●●●   5/6     dextans
    S●●●●●  11/12   deinx

    Numerals:
    I       1
    V       5
    X       10
    L       50
    C       100
    D       500
    M       1000

    (V)     5000    see note below
    ...
    (M)     1000000

    ((V))   5000000
    ...
    ((M))   1000000000

## Note on Notation of Large Numbers

The notation used here for numbers of 5000 and above is not standard.
Parentheses () are used to indicate 1000 times the value of the number they enclose.
So 5000 is denoted by (V), 5000000 by ((V)) and so on.
10^9 is denoted by ((M)), not by (((I))).

## Limitations

The abacus displays Roman numbers of magnitude up to four billion ( < 4e9 ).
Roman numbers less than 1/3456 = 0.0002893519 (other than zero) cannot be displayed.
Roman numbers (other than zero) are rounded up by 1/3456.

## Reference

Ancient Computers, Part I - Rediscovery, Edition 2 by Stephen Kent Stephenson, ISBN 9781490964379.

## License

The Roman Abacus Web Widget is Copyright © 2020 Harry Whitfield (G6AUC).

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

## Widget Concept, Coding and Documentation

Harry Whitfield (G6AUC)