If you find anything unclear, inconsistent or inconvenient in the following description, please e-mail to noro@iias.flab.fujitsu.co.jp. UNIX version ============ Following five (5) files are provided. `asir.gz' Asir `asir_ping.gz' A program for testing process communication facility. `asir_plot.gz' A program for plotting implicit functions. (2-dimensional algebraic curves.) `asir.o.gz' An utility file for adding binary functions. `asirlib.tar.gz' Files containing user defined functions and files for help facility. File `asir_ping.gz' is dispensable. File `asir.o.gz' is dispensable, too. This is used for making a new Asir which contains new additional Asir functions written in C. All above mentioned files are compressed by `gzip'. They should be expanded by `gzip' after getting them. # gzip -dc asir > /usr/local/bin/asir # gzip -dc asir_plot > /usr/local/bin/asir_plot # chmod 755 /usr/local/bin/asir /usr/local/bin/asir_plot Programs such as `asir', `asir_plot' and `asir_ping' are usually located to a common command directory, e.g., `/usr/local/bin', or to `$HOME/bin' if they are used privately. Files in `asirlib.tar.gz' are located to directory `/usr/local/lib/asir' by default. # mkdir /usr/local/lib/asir # gzip -dc asirlib.tar.gz | ( cd /usr/local/lib/asir; tar xf - ) If you wish to place them to a different directory, you should set the directory to an environment variable `ASIR_LIBDIR'. % mkdir $HOME/lib/asir % gzip -dc asirlib.tar.gz | ( cd $HOME/lib/asir; tar xf - ) % setenv ASIR_LIBDIR $HOME/lib/asir After installing libraries, make a symbolic link from in the library directory to `asir' with name `asir_symtab'. % cd /usr/local/lib/asir % ln -s /usr/local/bin/asir asir_symtab Start `asir', and Asir will immediately terminate leaving you a message as follows. % /usr/local/bin/asir asir_key not found. ID for this machine is XXXXXXXX. See the file ASIR_INSTALL to get the correct key. For UNIX version of asir, you need a `key', a string, for each machine you want to run Asir. In order to get the `key', you just need to send an e-mail consisting of a single line like ASIR XXXXXXXX to address risa@iias.flab.fujitsu.co.jp Here, `XXXXXXXX' is the machine ID notified in the first message from Asir. After a while, an e-mail will be returned containing only one line like YYYYYYYY YYYYYYYY YYYYYYYY Then, you shall create a new file in the current directory named `asir_key' containing the returned string in one line. All after this, call again `asir'. % /usr/local/bin/asir [0] If you get such a prompt (`[0]') from Asir, the key you have is valid to the machine you are currently running `asir'. When the file `asir_key' is located on the library directory, all the users of the machine can execute `asir'. The file `asir_key' can contain several lines for several `key''s. This enables users to run several machines sharing the same library directory by simply adding lines for machines to be used. We shall describe about the file for `key''s in detail in the description of the environment variable `ASIR_KEY'. # cp asir_key /usr/local/lib/asir Macintosh version ================= For Macintoshes the following three files are provided. `asir.sea' for Macintoshes with a 68020 CPU or upper compatible one with floating point number operations. `asir-sc.sea' for Macintoshes with a 68020 CPU or upper compatible one without floating point number operations. `asir-00.sea' for Macintoshes with a 68000 CPU. A double click on this file will create a folder. This folder consists of `asir' executable file and a sub-folder containing files of user defined functions. No `key' is needed for Macintosh version. The `asir' executable file is ready to be executed. See Appendix for details. File organization ----------------- dist -- asir asir for 680X0 (X>=2) | |- asir-sc asir for 680X0 (X>=2) without co-processor | |- asir-00 asir for 68000 | |- params parameters for memory management | |- lib -- gr Groebner basis package | |- wang test program for factoring | |- defs.h | |- ... params ------ The contents of params are as follows. stacksize=xxx adj=xxx paristack=xxx fontsize=xxx rows=xxx cols=xxx where xxx's are decimal numbers: Their meanings are as follows. STACKSIZE Stack size for Asir. Unit=byte. ADJ Lager adj increases the frequency of garbage collection. PARISTACK Heap size for PARI. The default is 1 kbytes. Unit=byte. FONTSIZE Font size for display. ROWS Lines of contained in the window. COLS Number of characters that a line can contain. Default partition size is set up for Asir. This can be referred to and modified by command+i (i.e., typing i while holding down the command-key.) Because available memory size is limited by the partition size, you may need to change it for your purpose. When virtual memory is enabled on System 7, the available partition size can exceed the real memory. However, if computation requires memories larger than the real memory size, computation speed shall slow down very seriously. Starting up ----------- Click doubly the icon Asir, and a window named `Asir' will open. After that all session procedures are alike as those of UNIX version. Differences from UNIX version ----------------------------- Command line editing facility is incorporated. It acilitates an emacs key binding and history substitution. Only `!!' and `!string' type history referencing is available. The history is saved to the file `history' under the same directory as `asir', and saved as many as 100 command lines. To read in program files, type as the following. [1] load(":dir_a:dir_b:...:filename"); The first colon (:) is superfluous if the file path start at the current directory. For user's convenience, reading-in facility by mini-finder is provided. To open the mini-finder for file loading, choose `Load' in `File' menu, or type command+`L' (i.e., typing `L' while holding down the command key.) To interrupt Asir execution, type command+`.' (i.e., type a period `.' while holding down the command key.) DOS version =========== Three (3) files are provided for DOS version as follows. `asir.lzh' Asir `asirlib.lzh' Files of user defined functions. `go32.lzh' `go32.exe' `V1.10' for IBM-PC, PC98 and Fujitsu FM series These three files are compressed by `lha.exe', and will be melted by `lha.exe'. C> lha x asir C> lha x asirlib No `key' is needed for DOS version. While no default library directory is set, it is necessary to set up environments `ASIR_LIBDIR' and `ASIRLOADPATH'. Note that the way to set up environments for DOS differs from that for UNIX. C> set ASIR_LIBDIR=C:\usr\lib\asir C> set ASIRLOADPATH=.;C:\usr\noro\lib\asir If your machine has not yet `go32.exe' installed, you have to install it and to set up its environments. We recommend to install `go32.exe' with version V1.10 or newer. When older version is installed, depending on which device driver is installed to DOS, it sometimes happens to extremely slower Asir execution. Such a situation happens due to swap-out of Asir caused by failure of `go32' to get memories. In `go32.lzh', the following files are contained. `go32-pc.exe' For IBM-PC clones `go32-98.exe' For NEC PC98 series `go32-fm.exe' For Fujitsu FMR and FMTOWNS `emu387' 387 emulation module `readme' readme of `go32'. The version of `go32-xx.exe' is 1.10. Choose the proper `go32' executable for your machine. Then, place it on a convenient command directory with name `go32.exe'. Finally, set up environments `GO32TMP' and `GO32'. (See `readme' of `go32' for setting up environments.) C> set GO32TMP=C:\tmp C> set GO32=ansi It is necessary to install and use `emu387' for machines which have no hardware support for floating point number operations. (Machines which do not have 80387, or 486 machines which lack hardware floating point operation support.) In such a case, set, for examaple, the environment variable as follows. C> set GO32=emu C:\usr\djgpp\lib\emu387 See `readme' of `go32' for details. Usage of Dos version -------------------- One standard starting up method is to type the following. A> go32 asir [0] Or, in the case of `asir.exe', which is generated by concatenating `stub.exe' before `asir', simply type the following. A> asir [0] The other operations are similar to those for UNIX version. One INPORTANT difference: To interrrupt Asir execution, type ^X. Note that ^C, the usual interrupting command for UNIX, cannot be used, because, in MS-DOS, it terminates `go32'. Typing ^Z suspends the Asir session and invokes shell (normally `command.com'). This shell will be terminated by the `exit' command, and the suspended Asir session will be resumed to continue. Graphics and dynamic loading of object programs are not supported yet. DOS version has more defects and instability in various point than UNIX version. Here, we summaries them. * Asir itself will be terminated by an internal error. * To interrupt Asir, use ^X. This is because an ^C shall terminate Asir itself. * Interrupts are not accepted when PARI is invoked. This is because interrupts are detected by Asir's memory manager. * When another program is invoked by a ^Z or `help()', `go32' swaps almost all memory onto disk. By this, if Asir is using much memory for a large problem, the time to swap may be very large. If the swap space is short, Asir shall be terminated, and sometimes MS-DOS may be terminated in the worst case. * The `CPU time' reported by `time() is, as a matter of fact, the difference of the time stamp of the real world clock from the start to the end of the computation.