Codebase list xabacus / debian/7.1.5-1
debian/7.1.5-1

Tree @debian/7.1.5-1 (Download .tar.gz)

  X-BASED ABACUS
  ============== Abacus X widget, V7.1.5

Primary site: ftp://ftp.tux.org/pub/tux/bagleyd/xabacus
Secondary site: ftp://ibiblio.org/pub/Linux/apps/math
Web page: http://www.tux.org/~bagleyd/abacus.html
Maintainer: David A. Bagley <bagleyd@tux.org>

  It has been tested on the following platforms:
    Sun Ultra 5     SunOS 5.9
    PC  Pentium 4   Linux 2.4.18
    PC  Pentium 4   Windows XP Cygwin
    PC  Pentium 4   Windows XP MinGW
    PC  Pentium 2   Windows 2000 Cygwin
    PC  Pentium 2   Windows 2000 MinGW
    IBM PowerPC     AIX 4.3.3.0

  Previous versions tested on:
    Sun Ultra       SunOS 5.6-5.8
    Sun SPARC       SunOS 5.5.1 (X11R5 & X11R6)
    Sun SPARC       SunOS 4.1.3
    PC  Pentium     Linux 2.0.9
    PC  486         Linux 1.2.13
    DEC VAX & ALPHA VMS 6.1
    IBM PowerPC     AIX 4.3.1.0
    HP  898         HP-UX 10.20
    HP  3xx & 700   HP-UX 9.01
    SGI             IRIX 5.3
    PC  486         Windows 3.1  Borland C++ 3.1
    PC  486         Windows 3.1  Microsoft C++ 1.51
    PC  486         Windows 95   Precompiled on 3.1

  If you have to do any editing to get this to work, please mail me
  the changes.

  NOTE: Installations before 7.0.2 will cause some incompatibility with
  the demo, so make sure you install over any previous versions.
  READPATH is the path of the demo files and sound files.

HOW TO BUILD?

  An ANSI C compiler is required for build.

  To build, it should be easy.  There are 4 types.  You may want to set some
    parameters like READPATH.

    configure:
      Use "configure -help" to see what options you can set using configure
      or parameters in Makefile.in .

      configure ; make

    imake:
      Sometimes this is not setup correctly by the distributor ... i.e. not
      my fault.  You may want to set READPATH in Imakefile .
      If you have Xpm you may want to do this quick edit in the Imakefile:
        Uncomment line "#define XpmLibrary".
      If you have Motif you may want to do this quick edit in the Imakefile:
        Uncomment line "#define XmLibrary".

      xmkmf ; make

    make.com (VMS users only):
      You may want to set parameters in make.com .

      @make

    win/Makefile (MinGW users only):
      You may want to set parameters in Makefile (like
      COPT=-02 -mno-cygwin).

      cd win
      make

      Then run "wabacus".  Your on your own on installing the wabacus.ini
      file and Abacus?.les files.

  Windows users only:
    xabacus.htm is included.  Most of the features are in wabacus with the
    exception of the command line options.

  X users only:
    Then just run "xabacus".  If you do a "make install" "READPATH" must
    be set correctly.

    You should copy Abacus.ad (or Abacusjp.ad, etc) to $(HOME)/Abacus or
    use "make install" to copy it to something like
    /usr/lib/X11/app-defaults/Abacus, especially if the background is
    similar to the beads. Edit this file for your preferences.

    The following installation options are you ran "make install".
    Normal installation usually in /usr/local.
    make install-png:
      This is used to install the "*.abacus.png" images for use with menus
      in Gnome and KDE.
    make install-xpm:
      This is used to install the "abacus.?.xpm" images for use with menus
      in CDE using system files (name changes from ".xpm" to ".pm" when
      installing).  The xpm images are the same the png images except the
      small image is 24x24 instead of 22x22.
    make install-xpm-home:
      This is used to install the images for use with menus in CDE using
      from your home directory.  I have this set up using the desktop and
      menus.  There are probably many ways but I have it set up using
      $HOME/.dt/types/dtfile.dt, $HOME/.dt/types/dtwm.fp, and $HOME/.dt/dtwmrc
      These files can be copied and changed from /usr/dt.

  Essentially, this is a proof by induction that a computer is more
  powerful than an abacus, since a computer program can contain an abacus.
  (But then again, you can simulate a computer within a computer, so what
  does that show).  Actually, with a real abacus, one can move more than
  one row at a time with 10 fingers.  But on the other hand, a real abacus
  does not have the current sum displayed as an integer.

  Try resizing the abacus. Notice the shape and size change of the beads.

  Try editing the file Abacus.ad to get a certain feature and then copying
  to $(HOME)/Abacus (where Abacus is the file name) and running xabacus
  again.

  Keep in mind that the Abacus is a widget that can be simply stuck in
  other X programs. (If you find a use for this, let me know).

  It has a built-in demo-mode that teaches the user:
  - how to count (from 1 to 20) using the abacus
  - how to perform simple additions
  - how to perform simple subtractions.
  - how to multiply... works best on Lee's Abacus

  In addition, there is a rudimentary facility for generating data that
  may be used to write customized scripts for teaching other concepts.

  The PostScript document, Abacus.ps, included in the distribution,
  describes every possible technique for performing additions and
  subtractions using an abacus.

  Refer to the man page for detailed command line options.

FOUND A BUG?

  Send bugs reports and fixes to the author. For bugs, please include
  as much information as to their location as possible, since I may not
  be able to duplicate them.

  TODO:
    1. Seen it core dump when stressed but can not reproduce it.
    2. There are some cases where resizing the number of rails causes
      the calculation to change unnecessarily.
    3. Vertical for proper Russian schoty (rotate current xabacus
      clockwise).  Some code there but needs much fixing and possibly
      a total rewrite.  Exploratory work using:
        #define VERTICAL
    4. Quarter percents for 1/4 Kopeks, code there but needs much fixing.
      Adding quarters was like throwing a monkey wrench in the code.
      Quarter percents would be more of the same.  Also additional problem
      where decimal display would need 2 extra spaces.  Exploratory work
      using:
        #define QUARTER_PERCENT
    5. The calculator portion does not work for big numbers, i.e. where
      one can type in math operations and see the abacus perform.
      Works better in Java version but new approach allowing parentheses.
      Fix to handle decimals better.  Fix to handle negatives.
    6. When displayBase != base calculate with strings instead of
      "long long".  I.e. the number of rails can be large if displayBase =
      base but may error out if this is not true for large number of rails.
    7. Also get 1/12ths column (Roman ounces) and a 1/2,1/4,1/3 column to
      work for a Roman Abacus.
         12ths may be a bit easier even though you have to allow for an
        extra bead (5).  It would be cool if this could be variable, say
        expanding the "quarters" option to include halves to sixteenths...
        for English ounce measurements, old stock market pricing, pieces of
        eight, etc.  Exploratory work using:
          #define NTHS
         The latter comes in two flavors, where possibly the simpler one,
        needs a 3rd deck and is weird because the 3 decks should be below
        the main top deck (in the other flavor, the beads could stop midway
        on the slot in a IMHO not a well defined way).
    8. Signed overflow fixes needed e.g. 50000000000*2=-5000
      or -100000000000 Chinese converted to Japanese.

HISTORY

  [Oct 05, 2005]  V7.1.5:
    -version added
    Common option help for X and X-Motif 
  [May 31, 2005]  V7.1.4:
    Separated out compatible components.
  [Nov 21, 2004]  V7.1.3:
    Bug fixes for auto-calculation and small base values.
    Thanks to Debian maintainer Florian Ernst <florian@uni-hd.de> for
      esound fix.
  [Oct 22, 2004]  V7.1.2:
    Small changes synchronizing with Java code.
    Fixed goof introduced in previous which make quarter not work right.
  [Sep 25, 2004]  V7.1.1:
    Installation of sound files.
    bufferBead and colormap not properly initialized and could cause core
      dumps.
  [Aug 23, 2004]  V7.1:
    Thanks to Debian maintainer Florian Ernst <florian@uni-hd.de> for
      pointing out that the demo breaks without Motif.  Fixed this and 'f'
      should now work better for X.
    Beads are now double buffered.  Faster and looks better on slow machines.
    Beads now slide in small increments.
    Got rid of turning the beads "inside-out" when pressed.  Too annoying.
    "<", ">" to speed up and slow down movement of the beads.  Actually,
      it changes "delay" inversely.
    Got rid of some drawing errors when beads are long.
    Sound added.
    Sort of real time using getttimeofday.
  [May 31, 2004]  V7.0.6:
    Demo now works with the other "standard" abaci.  Korean (or Pre-WWII
      Japanese) 1/5 (ko), Japanese 1/4 (or Roman) (jp), or Russian 0/10
      (ru).
  [Jan 23, 2004]  V7.0.5: Not released
    The idea with the calculator stuff is to see the beads
      move with input from the display line.  This will do a calculation
      but it is not meant as a demonstration of a mathematical operation.
      Uhhh... do not use this for your taxes yet...
      Has some special features... 2v = sqrt of 2, 2u = cbrt of 2, e for e,
        p for pi, ! for factorial (should do a gamma function if real?), and
        ^ for power.  Display Base must equal Abacus Base.  Eventually want
        to do operations on strings so abacus could be an "infinite" size.
      Answers that result in an error default to zero (maybe all the beads
        should fall off?).
  [Jan 13, 2004]  V7.0.4:
    Clear for Lee's Abacus is for each individual deck except for demo.
    Have the decimal point setting accessible to the demo.
      I treat the decimal point as the place setting vernier...
    Resources broken in 7.0.2 fixed.
    Decrementing with the decimal on the right fixed.
    Added the faster diamond shaped beads.  :)
    Color of decimal point the same as beads.
    Put the decimal point (or place setting vernier) at a post.  (To me it
      should be between posts but have not seen an historic example).
    Windows fixes: 'u' for quarters mode and rounder beads
  [Dec 31, 2003]  V7.0.3:
    The Roman mode forces a plate look where the beads move in slots.
    Fixed minor drawing errors in Windows.
    Changed order of additions in the 4th lesson to conform with the
      standard way of doing multiplication.
    Fixed bug where a new 5th lesson not installed.
    Fixed clean on auxiliary decks from demo.
    Fixed demo mode on auxiliary decks.
  [Dec 23, 2003]  V7.0.2:
    Lee's Abacus, default setup when using Motif.  Added a 4th lesson
      for multiplication.  Find out more about Lee's Abacus from
      http://www.ee.ryerson.ca/~elf/abacus/leeabacus/
    Type of abacus listed for nonMotif and Windows.
    Demo can now be set dynamically in Windows.
  [Dec 15, 2003]  V7.0.1:
    Increment when decimal point left most bug fix.
    The Hide functionality of the Escape key now iconifies or drops in
      task bar.
    Added help in Windows.
    Accelerator Keys (F keys and regular keys) in Windows now work.
  [Nov 08, 2003]  V7.0:
    Abacus??.ad* files removed, info is in Abacus.ad*.
    Integrated winpuz6.5 (Windows 3.1/95) into X source tree.
  [Aug 28, 2003]  V5.7.3:
    png for Gnome and KDE menus and xpm for CDE menus.
    Added xpm for icon.
    Reset a few colors for consistency.
  [Aug 14, 2003]  V5.7.2:
    man 1 to man 6 and DESTDIR added and suggestions for ad.in stuff
      thanks to Stanislav Brabec <sbrabec@suse.cz>
    The demo should work if the demo files are in the installation directory
      (the default but can be changed by -demopath) or the current
      directory.
    Bug fix for xabacus -japanese -demo and a few involving "quarters".
    User interface now free of numbers for formats.
  [Aug 11, 2003]  V5.7.1:
    When changing base certain combinations would create too many beads
      in top deck, beads are instead set to zero.
    Reformatted with option menus.
    Help kicked over.
    Added Korean and Roman.  Roman is essentially the same as the Japanese
      version right now.
  [Jul 07, 2003]  V5.7:
    Sync up with xpuzzles
  [Apr 29, 2003]  V5.6.2: Not released
    Added callback for calculate... does not really do too much yet.
      Need to #define CALC to try...
    Bug fix when in Demo and Russian format is pressed
    Clear now checks if you really want to clear using left mouse button,
      'c' will not query
    'Esc' will hide abacus (actually osfCancel did the trick)
    Help & About expanded and pop-ups added
    Took out bitmaps since it takes too much room
    Demo can be activated from within window without needing command-line
      -demo option.  Removed leak in loadFont.  Added 'o' functionality.
  [Mar 21, 2003]  V5.6.1:
    Added runtime options -chinese, -japanese, and -russian
    Fixed shading if beads are black
    Installation fixes for Motif and X versions
    Help & About expanded and pop-ups added
    Roman Numerals added
    Fixed uninstall on Cygwin
    Took out toggles and bitmaps since it takes too much room.
      Now compile-time option.  There is real help and one can change
      the toggles through the menu.
  [Dec 16, 2002]  V5.6:
    configure if around 2nd AC_CHECK_FUNC
    removed Sun CC (char *) warnings
    removed hard coding of program name
    Cygwin changes ./, -lSM -lICE
    x and xm files combined using HAVE_MOTIF
    port back from Java (on the Java side I got some help from
        Sarat Chandran <saratcmahadevan@yahoo.com>)
      colors changes
      frame color change on enter/leave
      background/foreground set by default
      3d beads
      reset maximum
      pixel width
      "," diamonds
      added signs and quarters (with smaller delay when moved)
      Russian abacus (schoty) (it fell over)
  [Sep 01, 2001]  V5.5.4: g++ 3.0 warnings removed.  Simplified format.
    Added demo error checking.
  [Aug 11, 1999]  V5.5.2: Fixed runtime library problems when using configure,
    added text to README and xabacus.man, fixed confusing demo start.
  [Jul 31, 1999]  V5.5.1: Removed HP usleep warning.
  [Jun 20, 1999]  V5.5: Combined the independent work of Luis Fernandes'
    xabacus 1.00, also started in 1991.   This includes all the features
    to teach the users how to use the abacus (-demo) and a more solid
    frame (its sturdier :) ).  -bars changed to -rails to conform with
    the terminology.  Abacus now defaults to the top beads up.  The
    picture on the cover of my abacus instruction booklet was deceiving.
    Abacus.ps and Abacus?.les are written entirely by Luis Fernandes
    <elf@ee.ryerson.ca>.  (Also see http://www.ee.ryerson.ca/~elf/abacus).
    Added -rv and -mono options.
    Implemented -base option, can now go up to base 36, yeah I got carried
    away here (it should even work with EBCDIC though untested (really
    carried away)).
    Dynamic number of rails, with calculations saved with each change.
  [Jan 01, 1997]  V5.4: configure, man page updates.
  [Apr 22, 1996]  V5.3: You can now see beads move one unit space at a time.
    This is governed by a new resource, "delay".
  [Feb 12, 1996]  V5.2.1: beads now invert when pressed, wprintf name may
    conflict with other UNIX libraries - changed to
    motif_printf, keyboard may not work with motif - fixed.
  [Jan 31, 1996]  V5.2: Dynamic number of rails (well, the widget is dynamic
    but xabacus.c limits it to around 300 for the title text),
    fixed another bug when resized (negative radius circles).
  [Dec 15, 1995]  V5.1: Fixed a bug when resized.
  [Sep 30, 1995]  V5.0: Xt/Motif, your choice.
  [May 16, 1995]  V4.10: Warnings removed from Sun's cc and lint.
  [Mar 13, 1995]  V4.3: Removed lint warnings and added a VMS make.com .
  [Nov 08, 1994]  V4.2: Removed gcc -Wall warnings.
  [Jun 03, 1994]  V4.1: R6.
  [May 07, 1994]  V4.0: Xt version.
  [Feb 03, 1993]  V3.0: Motif version.
    I got some good ideas from Douglas A. Young's book:
    "The X Window System Programming and Applications with
    Xt OSF/Motif Edition", particularly his dial widget.
    I got some good ideas on presentation from Q. Zhao's
    tetris.
  [Dec 17, 1991]  V2.0: XView version.
  [Feb 14, 1991]  V1.0: SunView version.