File: xabacus.html

package info (click to toggle)
xabacus 8.5.1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 2,100 kB
  • sloc: ansic: 26,339; xml: 6,012; sh: 3,539; makefile: 702
file content (834 lines) | stat: -rw-r--r-- 30,942 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
Content-type: text/html; charset=UTF-8

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of XABACUS</TITLE>
</HEAD><BODY>
<H1>XABACUS</H1>
Section: Games and Demos (6)<BR>Updated: 23 Apr 2021<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>

<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>

xabacus - Abacus X widget
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>

<B>/usr/games/xabacus</B>

[-geometry [{width}][x{height}][{+-}{xoff}[{+-}{yoff}]]]
[-display [{host}]:[{vs}]] [-[no]mono] [-[no]{reverse|rv}]
[-{foreground|fg} {color}] [-{background|bg} {color}]
[-{border|bd} {color}] [-frame {color}]
[-primaryBeadColor {color}] [-leftAuxBeadColor {color}]
[-rightAuxBeadColor {color}] [-secondaryBeadColor {color}]
[-highlightBeadColor {color}]
[-primaryRailColor {color}] [-secondaryRailColor {color}]
[-highlightRailColor {color}] [-lineRailColor {color}]
[-bumpSound {filename}] [-moveSound {filename}]
[-dripSound {filename}] [-[no]sound]
[-delay msecs] [-[no]script] [-[no]demo]
[-demopath {path}] [-{demofont|demofn} {fontname}]
[-{demoforeground|demofg} {color}]
[-[no]teach] [-[no]rightToLeftAdd] [-[no]rightToLeftMult]
[-[no]lee] [-rails {int}] [-leftAuxRails {int}]
[-rightAuxRails {int}] [-[no]vertical]
[-colorScheme {int}] [-[no]slot] [-[no]diamond]
[-railIndex {int}] [-[no]topOrient] [-[no]bottomOrient]
[-topNumber {int}] [-bottomNumber {int}] [-topFactor {int}]
[-bottomFactor {int}] [-topSpaces {int}] [-bottomSpaces {int}]
[-topPiece {int}] [-bottomPiece {int}] [-topPiecePercent {int}]
[-bottomPiecePercent {int}] [-shiftPercent {int}]
[-subdeck {int}] [-subbead {int}] [-[no]sign]
[-decimalPosition {int}] [-[no]group] [-groupSize {int}]
[-[no]placeOnRail] [-[no]decimalComma] [-base {int}]
[-subbase {int}] [-[no]subdecksSeparated]
[-[no]altSubbeadPlacement] [-anomaly {int}] [-shiftAnomaly {int}]
[-anomalySq {int}] [-shiftAnomalySq {int}] [-displayBase {int}]
[-[no]pressOffset] [-romanNumerals {none|ancient|modern}]
[-[no]latin] [-romanMarkers {none|ancient|modern|late|alt}]
[-{chinese|japanese|korean|russian|danish|roman|medieval|generic}]
[-museum {it|uk|fr}] [-version]
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>

This is an implementation of the classic Chinese Abacus
(Suanpan) which has its origins in the 12th century.
<P>
The device has two decks.  Each deck, separated by a
partition, normally has 13 rails on which are mounted beads.
Each rail on the top deck contains 1 or 2 beads, and each
rod on the bottom deck contains 4 or 5 beads.  Each bead on
the upper deck has a value of five, while each bead on the
lower deck has value of one.  Beads are considered counted,
when moved <I>towards</I> the partition separating the decks, i.e.
to add a value of one, a bead in the bottom deck is moved
up, and to add a value of 5, a bead in the top deck is moved
down.
<P>
The basic operations of the abacus are addition and subtraction.
Multiplication can be done by mentally multiplying the
digits and adding up the intermediate results on the abacus.
Division would be similar where the intermediate results
are subtracted.  There are techniques like using your thumb
and forefinger which does not apply with mouse entry.
Also with multiplication, one can carry out calculations on
different parts of the abacus for scratch work, here it is
nice to have a long abacus.
<P>
The pre-WWII Japanese Abacus (Soroban) (or Korean Jupan)
is similar to the Chinese Abacus but has only one bead
per rail on the top deck.  The later Japanese Abacus was
further simplified to have only 4 beads per rail on the
bottom deck.
<P>
The Roman Hand-Abacus predates the Chinese Abacus and is
very similar to the later Japanese Abacus, but seems to
have fallen out of use with the Fall of the Roman Empire
(at least 3 are in existence).  The Roman Abaci are brass
plates where the beads move in slots.  In addition to the
normal 7 columns of beads, they generally have 2 special
columns on the right side.  In two examples: the first
special column was for 12ths (12 uncia (ounces) = 1 as) and
had one extra bead in the bottom deck.  Also the last column
was a combination of halves, quarters, and twelfths of an
ounce and had no beads in the top deck and 4 beads at the
bottom (beads did not have to come to the top to be
counted but at one of 3 marked points where the top bead
was for halves, the next bead for quarters, and the last two
beads for twelfths).  In another surviving example: the 2
special columns were switched and the combination column
was broken into 3 separate slots.  If available, decimal
input is ignored.
<P>
The Russian Abacus was invented in the 17th century, here
the beads are moved from right to left.  It has colored
beads in the middle for ease of use.  Quarters represent
1/4 Rubles and are only present historically on the Russian
Abacus (Schoty).  Some of the older Schoty have a extra place
for the 1/4 Kopek (quarter percent) as well as the 1/4
Ruble (quarter).
<P>
The Danish Abacus was used in the early 20th century in
elementary schools as a teaching aid.
<P>
The Medieval Counter is a primitive form of the abacus and
was used in Europe as late as the 1600s.  It was useful
considering they were using it with Roman Numerals.   This
is similar to the Salamis Greek Tablet from 4th or 5th
Century BCE.
<P>
The Mesoamerican Nepohualtzintzin is a Japanese Abacus
base 20.  The Mesoamericans had base 20 with the
exception of the 3rd decimal place where instead of
20*20=400 the third place marked 360 and the 4th place was
20*360, etc..  They independently created their own zero
(only the Sumerian and early Babylonian culture (base 60)
and India (base 10) have done this) but the anomaly took
away its true power.
<P>
An easy way of figuring out time in seconds given hours,
minutes, and seconds, can be done on the abacus with
Sumerian abacus with topFactor 10, topNumber 5 and
bottomNumber 9 using base 60.  No written record of such a
device exits but its plausible that one did.
<P>
The Chinese Solid-and-Broken-Bar System is a base 12
numbering system and not really an abacus.  When the
abacus is setup in this way though (topFactor 3, topNumber 3,
bottomNumber 2, base 12, displayBase 12), it is easy to
relate the two.
<P>
The signed bead is an invention of the author, and is not
present on any historical abacus (to his knowledge) and is
used to represent negatives.  &quot;New &amp; Improved&quot; abacus
models have two auxiliary decks stacked above the principal
deck that enable multiplication, division, square-root, and
cube-root computations to be performed with equal ease as
addition and subtraction  (well, so I have read).
<A NAME="lbAE">&nbsp;</A>
<H2>FEATURES</H2>

Click &quot;<B>mouse-left</B>&quot; button on a bead you want to move.  The
beads will shift themselves to vacate the area of the
column that was clicked.
<P>

Click &quot;<B>mouse-right</B>&quot; button, or press &quot;<B>C</B>&quot; or &quot;<B>c</B>&quot; keys,
to clear the abacus.
<P>

Press &quot;<B>-</B>&quot; or &quot;<B>_</B>&quot; keys to complement the beads on the rails.
<P>

Press &quot;<B>U</B>&quot; or &quot;<B>u</B>&quot; keys to undo last move.
<P>

Press &quot;<B>R</B>&quot; or &quot;<B>r</B>&quot; keys to redo the last undo.
<P>

Press &quot;<B>I</B>&quot; or &quot;<B>i</B>&quot; keys to increment the number of rails.
Press &quot;<B>D</B>&quot; or &quot;<B>d</B>&quot; keys to decrement the number of rails.
<P>

Press &quot;<B>F</B>&quot; or &quot;<B>f</B>&quot; keys to switch between Chinese,
Japanese, Korean, Russian, Danish, Roman, and Medieval formats.
There is an extra &quot;Generic&quot; format, this allows one to
break some rules binding the other formats (for example, if
one wanted more beads on top deck than on bottom deck you
would use this, in addition to resource option changes).
<P>

Press &quot;<B>V</B>&quot; or &quot;<B>v</B>&quot; keys to change the Roman Nvmerals
format. (Pardon typo/humor, but ran out of letters).
<P>

Press &quot;<B>~</B>&quot; key to toggle Latin Numerals (when Roman
Nvmerals and quarter beads or twelfth beads are activated).
<P>

Press &quot;<B>G</B>&quot; or &quot;<B>g</B>&quot; keys to toggle (usu.) commas
between groups of digits.
<P>

Press &quot;<B>#</B>&quot; key to toggle place on rail (or between rails)
for group and decimal separators.
<P>

Press &quot;<B>|</B>&quot; key to toggle vertical placement (best for
Russian and Danish Abacus, and Medieval Counters).
<P>

Press &quot;<B>S</B>&quot; or &quot;<B>s</B>&quot; keys to toggle the sign bead.
<P>

Press &quot;<B>P</B>&quot; or &quot;<B>p</B>&quot; keys to change the piece setting
from none|quarter|eighth|twelfth beads.  Originally
intended for the Roman Hand Abacus (twelfths) and the
Russian Abacus (quarter rubles).
<P>

Press &quot;<B>T</B>&quot; or &quot;<B>t</B>&quot; keys to change piece percent
setting for none|quarter|eighth|twelfth beads.  Originally
intended for the older Russian Abacus (quarter kopeks).
<P>

Press &quot;<B>B</B>&quot; or &quot;<B>b</B>&quot; keys to change subdeck setting
to be interpretted as none|quarter|eighth|twelfth beads.
Originally intended for Roman Hand Abacus twelfths
and possibly eighths.  For twelfths, the the lowest
value of two at bottom of the rightmost column of beads
are a twelfth of the column second from right.  Middle
is worth a quarter and the top is worth a half.  For
eighths, middle and bottom are both worth an eight and
the top a half.  (For quarters, all are worth a quarter.)
<P>

Press &quot;<B>K</B>&quot; or &quot;<B>k</B>&quot; to toggle the subdeck separation
<P>

Press &quot;<B>L</B>&quot; or &quot;<B>l</B>&quot; to toggle which side the subdeck
symbols are placed.
<P>

Press &quot;<B>M</B>&quot; or &quot;<B>m</B>&quot; keys to switch between it, uk, and
fr museum formats.
<P>

Press &quot;<B>Z</B>&quot; or &quot;<B>z</B>&quot; keys to change the Roman markerz
on the frame.
<P>

Press &quot;<B>O</B>&quot; or &quot;<B>o</B>&quot; keys to toggle the demo mode.
<P>

Press &quot;<B>$</B>&quot; key to toggle the teach mode.
<P>

In teach mode, &quot;<B>+</B>&quot; key toggles starting side to sum,
&quot;<B>&quot;*</B>&quot; key toggles for starting side for multiplicand.
<P>

Press &quot;<B>&gt;</B>&quot; or &quot;<B>.</B>&quot; keys to speed up the movement of beads.
Press &quot;<B>&lt;</B>&quot; or &quot;<B>,</B>&quot; keys to slow down this movement.
<P>

Press &quot;<B>@</B>&quot; key to toggle the sound.
<P>

Press &quot;<B>Esc</B>&quot; key to hide program.
<P>

Press &quot;<B>Q</B>&quot;, &quot;<B>q</B>&quot;, or &quot;<B>CTRL-C</B>&quot; keys to kill program.
<P>

The abacus may be resized.  Beads will reshape depending on the room they
have.
<I>Demo Mode:</I>
In this mode, the abacus is controlled by the
program.  When started with the demo option, a second
window is presented that should be placed directly below the
abacus-window. Descriptive text, and user prompts are
displayed in this window.  Pressing 'q' during the demo will
quit it.  Clicking the left mouse-button with the pointer in
the window will restart the demo (beginning of current lesson).
<A NAME="lbAF">&nbsp;</A>
<H2>OPTIONS</H2>

<DL COMPACT>
<DT><B>-geometry {+|-}</B><I>X</I>{+|-}<I>Y</I>

<DD>
This option sets the initial position of the abacus window (resource
name &quot;<I>geometry</I>&quot;).
<DT><B>-display </B><I>host</I>:<I>dpy</I>

<DD>
This option specifies the X server to contact.
<DT><B>-[no]mono</B>

<DD>
This option allows you to display the abacus window on a color screen as
if it were monochrome (resource name &quot;<I>mono</I>&quot;).
<DT><B>-[no]{reverse|rv}</B>

<DD>
This option allows you to see the abacus window in reverse video (resource
name &quot;<I>reverseVideo</I>&quot;).
<DT><B>-{foreground|fg} </B><I>color</I>

<DD>
This option specifies the foreground of the abacus window (resource name
&quot;<I>foreground</I>&quot;).
<DT><B>-{background|bg} </B><I>color</I>

<DD>
This option specifies the background of the abacus window (resource name
&quot;<I>background</I>&quot;).
<DT><B>-{border|bd} </B><I>color</I>

<DD>
This option specifies the foreground of the bead border (resource
name &quot;<I>borderColor</I>&quot;).
<DT><B>-frame </B><I>color</I>

<DD>
This option specifies the foreground of the frame (resource name
&quot;<I>frameColor</I>&quot;).
<DT><B>-primaryBeadColor </B><I>color</I>

<DD>
This option specifies the foreground of the beads (resource name
&quot;<I>primaryBeadColor</I>&quot;).
<DT><B>-leftAuxBeadColor </B><I>color</I>

<DD>
This option specifies the foreground of the beads for the left
auxiliary abacus in Lee's Abacus (resource name
&quot;<I>leftAuxBeadColor</I>&quot;).
<DT><B>-rightAuxBeadColor </B><I>color</I>

<DD>
This option specifies the foreground of the beads for the right
auxiliary abacus in Lee's Abacus (resource name
&quot;<I>rightBeadColor</I>&quot;).
<DT><B>-secondaryBeadColor </B><I>color</I>

<DD>
This option specifies the secondary color of the beads (resource name
&quot;<I>secondaryBeadColor</I>&quot;).
<DT><B>-highlightBeadColor </B><I>color</I>

<DD>
This option specifies the highlight color of the beads (resource name
&quot;<I>highlightBeadColor</I>&quot;).
<DT><B>-primaryRailColor </B><I>color</I>

<DD>
This option specifies the foreground of the rails (resource name
&quot;<I>primaryRailColor</I>&quot;).
<DT><B>-secondaryRailColor </B><I>color</I>

<DD>
This option specifies the secondary color of the rails (resource name
&quot;<I>secondaryRailColor</I>&quot;).
<DT><B>-highlightRailColor </B><I>color</I>

<DD>
This option specifies the highlight color of the rails (resource name
&quot;<I>highlightRailColor</I>&quot;).
<DT><B>-lineRailColor </B><I>color</I>

<DD>
This option specifies the color of the lines when using checkers
(resource name &quot;<I>lineRailColor</I>&quot;).
<DT><B>-bumpSound </B><I>filename</I>

<DD>
This option specifies the file for the bump sound for the movement
of the beads (resource name &quot;<I>bumpSound</I>&quot;).
<DT><B>-moveSound </B><I>filename</I>

<DD>
This option specifies the file for the move sound for the sliding
of the decimal point marker (resource name &quot;<I>moveSound</I>&quot;).
<DT><B>-dripSound </B><I>filename</I>

<DD>
This option specifies the file for the drip sound for changing the
format (resource name &quot;<I>dripSound</I>&quot;).
<DT><B>-[no]sound</B>

<DD>
This option specifies if a sliding bead should make a sound or not
(resource name &quot;<I>sound</I>&quot;).
<DT><B>-delay </B><I>msecs</I>

<DD>
This option specifies the number of milliseconds it takes to move a
bead or a group of beads one space (resource name &quot;<I>delay</I>&quot;).
<DT><B>-[no]script</B>

<DD>
This option specifies to log application to <I>stdout</I>, every time
the user clicks to move the beads (resource name &quot;<I>script</I>&quot;). The
output is a set of auxiliary, deck, rail, beads added or subtracted, and
the number of text lines (4).  This can be edited to add text to the
lesson and used as a new demo keeping the generated numbers and the
number of lines constant.  (Windows version writes to abacus.xml.)
<DT><B>-[no]demo</B>

<DD>
This option specifies to run in demo mode.  In this mode, the abacus is
controlled by the current lesson (resource name &quot;<I>demo</I>&quot;).
When started with the demo option, a window contains descriptive text,
and user prompts are displayed in this window.  Pressing 'q' during the
demo will quit it.  Clicking the left mouse-button with the pointer in
the window will restart the demo (beginning of current lesson).
The demo uses abacusDemo.xml and currently there are 4 editions
possible (Chinese, Japanese (and Roman), Korean, and Russian (and
Danish)).
<DT><B>-demopath </B><I>path</I>

<DD>
This option specifies the path for the demo, possibly something like
/usr/local/share/games/xabacus (resource name &quot;<I>demoPath</I>&quot;), with
the file name of abacusDemo.xml.  For this to work, the program must be
compiled with XML2 or else will use a brief static fallback demo.
<DT><B>-demofont </B><I>fontstring</I>

<DD>
This option specifies the font for the explanatory text that appears in
the secondary window, during the demo.  The default font is 18 point
Times-Roman (-*-times-*-r-*-*-*-180-*). The alternate font is 8x13.
<DT><B>-demofg </B><I>color</I>

<DD>
This option specifies the foreground of the abacus demo window (resource
name &quot;<I>demoForeground</I>&quot;).
<DT><B>-demobg </B><I>color</I>

<DD>
This option specifies the background of the abacus demo window (resource
name &quot;<I>demoBackground</I>&quot;).
<DT><B>-[no]teach</B>

<DD>
This option specifies to run in teach mode.  In this mode, the abacus is
controlled by 2 numbers separated by an operator: &quot;+&quot; for addition,
&quot;-&quot; for subtraction, &quot;*&quot; for multiplication, and  &quot;/&quot; for division.
The square root operation is represented by the number to
be operated on followed by the character &quot;v&quot; (this leaves you
with an answer from which you must divide by 2).  Similarly, the
cube root operation is represented by the number to be operated on
followed by the character &quot;u&quot; (this leaves you with an answer from
which you must divide by 3).  Press return key to progress through
the steps (resource name &quot;<I>teach</I>&quot;).
<DT><B>-[no]rightToLeftAdd</B>

<DD>
This option specifies the order for teach starting side for addition and
subtraction.  The default is the traditional left to right.  Right to
left seems easier though (resource name &quot;<I>rightToLeftAdd</I>&quot;).
<DT><B>-[no]rightToLeftMult</B>

<DD>
This option specifies the order for teach starting side for
multiplication.  The default is the traditional left to right.  Right to
left seems more straight forward (resource name &quot;<I>rightToLeftMult</I>&quot;).
<DT><B>-[no]lee</B>

<DD>
This option allows you to turn on and off the two extra auxiliary abaci
(resource name &quot;<I>lee</I>&quot;).
<DT><B>-rails </B><I>int</I>

<DD>
This option specifies the number of rails (resource name &quot;<I>rails</I>&quot;).
<DT><B>-leftAuxRails </B><I>int</I>

<DD>
This option allows you to set the number of the rails for the left
auxiliary abacus in Lee's Abacus (resource name &quot;<I>leftAuxRails</I>&quot;).
<DT><B>-rightAuxRails </B><I>int</I>

<DD>
This option allows you to set the number of the rails for the right
auxiliary abacus in Lee's Abacus (resource name &quot;<I>rightAuxRails</I>&quot;).
<DT><B>-[no]vertical</B>

<DD>
This option allows you to set the abacus to allow a Russian orientation
(resource name &quot;<I>vertical</I>&quot;).
<DT><B>-colorScheme </B><I>int</I>

<DD>
This option specifies the color scheme for the abacus (resource
name &quot;<I>colorScheme</I>&quot;) where 0-&gt; none, 1-&gt; darken middle bead (2
beads if even), 2-&gt; darken  first bead of a group, 4-&gt; use secondary
color for second half of a row of beads (but if odd color middle bead),
8-&gt; use secondary color for second third of a row of beads, 16-&gt;
use secondary color in alternate groups.  Use a mask of 31 for
combinations.
<DT><B>-[no]slot</B>

<DD>
This option allows you to have either slots or rails (resource name
&quot;<I>slot</I>&quot;).
<DT><B>-[no]diamond</B>

<DD>
This option allows you to have either diamond or round beads (resource
name &quot;<I>diamond</I>&quot;).
<DT><B>-railIndex </B><I>int</I>

<DD>
This option specifies the index of color for the rails of the
abacus (resource name &quot;<I>railIndex</I>&quot;) where a value is 0 or 1.
<DT><B>-[no]topOrient</B>

<DD>
This option specifies the orientation of the beads on top (resource name
&quot;<I>topOrient</I>&quot;).
<DT><B>-[no]bottomOrient</B>

<DD>
This option specifies the orientation of the beads on bottom (resource name
&quot;<I>bottomOrient</I>&quot;).
<DT><B>-topNumber </B><I>int</I>

<DD>
This option specifies the number of beads on top (resource name
&quot;<I>topNumber</I>&quot;).
<DT><B>-bottomNumber </B><I>int</I>

<DD>
This option specifies the number of beads on bottom (resource name
&quot;<I>bottomNumber</I>&quot;).
<DT><B>-topFactor </B><I>int</I>

<DD>
This option specifies the multiply factor for the beads on top (resource
name &quot;<I>topFactor</I>&quot;).
<DT><B>-bottomFactor </B><I>int</I>

<DD>
This option specifies the multiply factor for the beads on bottom
(resource name &quot;<I>bottomFactor</I>&quot;).
<DT><B>-topSpaces </B><I>int</I>

<DD>
This option specifies the number of spaces on top (resource name
&quot;<I>topSpaces</I>&quot;).
<DT><B>-bottomSpaces </B><I>int</I>

<DD>
This option specifies the number of spaces on bottom (resource name
&quot;<I>bottomSpaces</I>&quot;).
<DT><B>-topPiece </B><I>int</I>

<DD>
This option specifies the number of pieces on top (resource name
&quot;<I>topPiece</I>&quot;).
<DT><B>-bottomPiece </B><I>int</I>

<DD>
This option specifies the number of pieces on bottom (resource name
&quot;<I>bottomPiece</I>&quot;).
<DT><B>-topPiecePercent </B><I>int</I>

<DD>
This option specifies the number of piece percents on top (resource name
&quot;<I>topPiecePercent</I>&quot;).
<DT><B>-bottomPiecePercent </B><I>int</I>

<DD>
This option specifies the number of piece percents on bottom (resource
name &quot;<I>bottomPiecePercent</I>&quot;).
<DT><B>-shiftPercent </B><I>int</I>

<DD>
This option specifies the shift of rails for piece percents and also
may influence the precision of the calculation (resource name
&quot;<I>shiftPercent</I>&quot;).
<DT><B>-subdeck </B><I>int</I>

<DD>
This option specifies the special subdecks column (resource name
&quot;<I>subdeck</I>&quot;).
<DT><B>-subbead </B><I>int</I>

<DD>
This option specifies the special subbeads (resource name
&quot;<I>subbead</I>&quot;).
<DT><B>-[no]sign</B>

<DD>
This option allows you to set the abacus to allow negatives (resource
name &quot;<I>sign</I>&quot;).
<DT><B>-decimalPosition </B><I>int</I>

<DD>
This option specifies the number of rails to the right of the decimal
point (normally 2) (resource name &quot;<I>decimalPosition</I>&quot;).
<DT><B>-[no]group</B>

<DD>
This option allows you to group the displayed digits for readability
(resource name &quot;<I>group</I>&quot;).
<DT><B>-groupSize </B><I>int</I>

<DD>
This option specifies the group size to the left of the decimal point
(normally 3) (resource name &quot;<I>groupSize</I>&quot;).
<DT><B>-[no]placeOnRail</B>

<DD>
This option allows you to place the decimal and group separators on
rail (or just after) (resource name &quot;<I>placeOnRail</I>&quot;).
<DT><B>-[no]decimalComma</B>

<DD>
This option allows you to swap &quot;.&quot; for &quot;,&quot; to allow for different display
format (resource name &quot;<I>decimalComma</I>&quot;).
<DT><B>-base </B><I>int</I>

<DD>
This option specifies the base used on abacus (default is base 10)
(resource name &quot;<I>base</I>&quot;).
<DT><B>-subbase </B><I>int</I>

<DD>
This option specifies the base for the Roman subdeck, can set
to 8 or default of 12) (resource name &quot;<I>subbase</I>&quot;).
<DT><B>-[no]subdecksSeparated</B>

<DD>
This option allows you to have the subdecks separated
(resource name &quot;<I>subdecksSeparated</I>&quot;).
<DT><B>-[no]subdecksSeparated</B>

<DD>
This option allows you to have the subdecks separated
(resource name &quot;<I>placeOnRail</I>&quot;).
<DT><B>-anomaly </B><I>int</I>

<DD>
This option specifies the offset from the base for a multiplicative
factor of the rail with the anomaly (if none, this is set to 0)
(resource name &quot;<I>anomaly</I>&quot;).
<DT><B>-shiftAnomaly </B><I>int</I>

<DD>
This option specifies the offset from decimal point for the anomaly
(usually 2) (resource name &quot;<I>shiftAnomaly</I>&quot;).
<DT><B>-anomalySq </B><I>int</I>

<DD>
This option specifies the offset from base for the second anomaly
(if none, this is set to 0) (resource name &quot;<I>anomalySq</I>&quot;).
<DT><B>-shiftAnomalySq </B><I>int</I>

<DD>
This option specifies the offset in rails from the first anomaly
(usually 2) (resource name &quot;<I>shiftAnomalySq</I>&quot;).
doing).
<DT><B>-displayBase </B><I>int</I>

<DD>
This option specifies the base displayed (default is base 10) (resource
name &quot;<I>displayBase</I>&quot;).  If this is different then &quot;<I>base</I>&quot;
then it is implemented using &quot;long long&quot; and the calculation is limited
by its bounds.  Also the fractional part does not scale with the
&quot;<I>displayBase</I>&quot; so if the &quot;<I>displayBase</I>&quot; is greater than the
&quot;<I>base</I>&quot; it looses some precision.  Also no rounding is done.
<DT><B>-[no]pressOffset</B>

<DD>
This option allows you to put a pixel space between all the beads so
there is room for the bead to move when pressed (resource name
&quot;<I>pressOffset</I>&quot;).
<DT><B>-romanNumerals {none|ancient|modern}</B>

<DD>
This option allows you to set the abacus to allow Roman Numerals
(resource name &quot;<I>romanNumerals</I>&quot;).  Modern Roman Numerals above 3999
are normally represented with bars on top, due to ASCII constraints this
is represented instead in lower case (historically case was ignored).
Roman Numerals above 3,999,999 were not represented historically.  Roman
numerals change with displayBase in an &quot;experimental&quot; way.  When used
with twelfths and subdecks, named fraction symbols are used.  Due to ASCII
constraints the sigma is represented as E, the backwards C is represented
as a Q, the mu as a u, and the Z with a - through the center as a z.
If available, decimal input is ignored.
<DT><B>-[no]latin</B>

<DD>
This option allows you to set the abacus to allow latin fractions
instead of symbolic in the Roman numeral output (resource name
&quot;<I>latin</I>&quot;).
<DT><B>-romanMarkers {none|ancient|modern|late|alt}</B>

<DD>
This option allows you to set Roman numerals of a specific type
on the frame of the abacus (resource name
&quot;<I>modernRoman</I>&quot;).
<DT><B>-chinese</B>

<DD>
This option specifies the format on the abacus (resource name
&quot;<I>format</I>&quot;) to &quot;Chinese&quot; for the Chinese Suanpan.
<DT><B>-japanese</B>

<DD>
This option specifies the format on the abacus (resource name
&quot;<I>format</I>&quot;) to &quot;Japanese&quot; for the Japanese post-WWII Soroban.
This is also similar to the Roman Hand Abacus.
<DT><B>-korean</B>

<DD>
This option specifies the format on the abacus (resource name
&quot;<I>format</I>&quot;) to &quot;Korean&quot; for the Korean Jupan or Japanese
pre-WWII Soroban.
<DT><B>-russian</B>

<DD>
This option specifies the format on the abacus (resource name
&quot;<I>format</I>&quot;) to &quot;Russian&quot; for the Russian Schoty.  To complete,
specify <I>piece</I>&quot; to be 4, for the older Schoty also specify
<I>piecePercent</I>&quot; to be 4.
<DT><B>-danish</B>

<DD>
This option specifies the format of the abacus (resource name
&quot;<I>format</I>&quot;) to &quot;Danish&quot; for the Danish Elementary School
Abacus teaching aid.
<DT><B>-roman</B>

<DD>
This option specifies the format on the abacus (resource name
&quot;<I>format</I>&quot;) to &quot;Roman&quot; for the Roman Hand Abacus, note beads
move in slots.  To complete, specify
<I>romanNumerals</I>&quot;.
<DT><B>-medieval</B>

<DD>
This option specifies the format of the abacus (resource name
&quot;<I>format</I>&quot;) to &quot;Medieval&quot; for the Medieval Counter, with
counters instead of beads.
<DT><B>-generic</B>

<DD>
This option specifies the format on the abacus (resource name
&quot;<I>format</I>&quot;) to &quot;Generic&quot;.  This option specifies a format that is
more configurable by using resources, since there are few rules to
govern its behavior.
<DT><B>-museum {it|br|fr}</B>

<DD>
This option specifies the country code for the museum of the
abacus in the Museum of the Thermae, Rome, the British
Museum, London, or the Cabinet de medailles, Bibliotheque
nationale, Paris.
<DT><B>-version</B>

<DD>
This option tells you what version of xabacus you have.
</DL>
<A NAME="lbAG">&nbsp;</A>
<H2>REFERENCES</H2>

Luis Fernandes  <I><A HREF="https://www.ee.ryerson.ca/~elf/abacus/">https://www.ee.ryerson.ca/~elf/abacus/</A></I>
<P>
Lee Kai-chen, How to Learn Lee's Abacus, 1958, 58 pages.
<P>
Abacus Guide Book, 57 pages.
<P>
Georges Ifrah, The Universal History of Numbers, Wiley Press 2000,
pp 209-211, 288-294.
<P>
Review of the above: <A HREF="http://www.ams.org/notices/200201/rev-dauben.pdf">http://www.ams.org/notices/200201/rev-dauben.pdf</A>
<P>
David Eugene Smith, History of Mathematics Volume II, Dover
Publications, Inc 1958, pp 156-195.
<A NAME="lbAH">&nbsp;</A>
<H2>SEE ALSO</H2>

<P>

<A HREF="/cgi-bin/man/man2html?1+X">X</A>(1), <A HREF="/cgi-bin/man/man2html?6+xcubes">xcubes</A>(6), <A HREF="/cgi-bin/man/man2html?6+xtriangles">xtriangles</A>(6), <A HREF="/cgi-bin/man/man2html?6+xhexagons">xhexagons</A>(6), <A HREF="/cgi-bin/man/man2html?6+xmlink">xmlink</A>(6), <A HREF="/cgi-bin/man/man2html?6+xbarrel">xbarrel</A>(6),
<A HREF="/cgi-bin/man/man2html?6+xpanex">xpanex</A>(6), <A HREF="/cgi-bin/man/man2html?6+xmball">xmball</A>(6), <A HREF="/cgi-bin/man/man2html?6+xpyraminx">xpyraminx</A>(6), <A HREF="/cgi-bin/man/man2html?6+xoct">xoct</A>(6), <A HREF="/cgi-bin/man/man2html?6+xrubik">xrubik</A>(6), <A HREF="/cgi-bin/man/man2html?6+xskewb">xskewb</A>(6), <A HREF="/cgi-bin/man/man2html?6+xdino">xdino</A>(6)
<A NAME="lbAI">&nbsp;</A>
<H2>COPYRIGHTS</H2>

<P>

&#174; Copyright 1994-2021, David A. Bagley
<P>

Luis Fernandes, &lt;<I>elf AT ee.ryerson.ca</I>&gt; wrote an independent program
(xabacus 1.00) with a demo mode and postscript file.  I tried, with his
permission, to take the best features of both into one program.
Also, I had help with some of the abacus in the Java version by
Sarat Chandran, &lt;<I>saratcmahadevan AT yahoo.com</I>&gt; and some of these
ideas were ported back into this X version.
<A NAME="lbAJ">&nbsp;</A>
<H2>BUG REPORTS AND PROGRAM UPDATES</H2>

<P>

Send bugs (or their reports, or fixes) to the author:
<DL COMPACT><DT><DD>
David A. Bagley, &lt;<I>bagleyd AT verizon.net</I>&gt;
</DL>

<P>
The latest version is currently at:
<DL COMPACT><DT><DD>
<I><A HREF="https://www.sillycycle.com/abacus.html">https://www.sillycycle.com/abacus.html</A></I>
<BR>

<I><A HREF="http://www.ibiblio.org/pub/Linux/apps/math/">http://www.ibiblio.org/pub/Linux/apps/math/</A></I>
<P>
</DL>

<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">FEATURES</A><DD>
<DT><A HREF="#lbAF">OPTIONS</A><DD>
<DT><A HREF="#lbAG">REFERENCES</A><DD>
<DT><A HREF="#lbAH">SEE ALSO</A><DD>
<DT><A HREF="#lbAI">COPYRIGHTS</A><DD>
<DT><A HREF="#lbAJ">BUG REPORTS AND PROGRAM UPDATES</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:15:40 GMT, May 18, 2021
</BODY>
</HTML>