From ca19ebf9ef0964b183729126f7146c20031360a7 Mon Sep 17 00:00:00 2001 From: Mike Franusich Date: Thu, 12 Sep 2019 14:08:46 -0400 Subject: [PATCH] merge dev work for b2 --- CMakeLists.txt | 63 +- README.md | 77 +- _spiral.g | 17 - config/CMakeIncludes/ScriptConfig.cmake | 86 + config/CMakeIncludes/TestDefines.cmake | 45 + config/_spiral.g.in | 20 + _spiral_win.g => config/_spiral_win.g.in | 17 +- config/spiral.bat.in | 20 + config/spiral.in | 28 + config/spiral_build_info.h.in | 2 +- .../spiral_debug.bat.in | 8 +- config/spirald.in | 28 + gap/grp/basic.grp | 1 - gap/grp/cryst.grp | 1 - gap/grp/groupid.grp | 1 - gap/grp/imf.grp | 1 - gap/grp/imf0.grp | 1 - gap/grp/imf10.grp | 1 - gap/grp/imf11.grp | 1 - gap/grp/imf12.grp | 1 - gap/grp/imf13.grp | 1 - gap/grp/imf14.grp | 1 - gap/grp/imf15.grp | 1 - gap/grp/imf16.grp | 1 - gap/grp/imf17.grp | 1 - gap/grp/imf18.grp | 1 - gap/grp/imf19.grp | 1 - gap/grp/imf1to9.grp | 1 - gap/grp/imf20.grp | 1 - gap/grp/imf21.grp | 1 - gap/grp/imf22.grp | 1 - gap/grp/imf23.grp | 1 - gap/grp/imf24.grp | 1 - gap/grp/irredsol.grp | 1 - gap/grp/matgrp.grp | 1 - gap/grp/perf.grp | 1 - gap/grp/perf0.grp | 1 - gap/grp/perf01.grp | 1 - gap/grp/perf02.grp | 1 - gap/grp/perf03.grp | 1 - gap/grp/perf04.grp | 1 - gap/grp/perf05.grp | 1 - gap/grp/perf06.grp | 1 - gap/grp/perf07.grp | 1 - gap/grp/perf08.grp | 1 - gap/grp/perf09.grp | 1 - gap/grp/perf10.grp | 1 - gap/grp/perf11.grp | 1 - gap/grp/perf12.grp | 1 - gap/grp/permgrp.grp | 1 - gap/grp/primitiv.grp | 1 - gap/grp/solvable.grp | 1 - gap/grp/sporadic.grp | 1 - gap/grp/trans.grp | 1 - gap/grp/trans10.grp | 1 - gap/grp/trans11.grp | 1 - gap/grp/trans12.grp | 1 - gap/grp/trans13.grp | 1 - gap/grp/trans14.grp | 1 - gap/grp/trans15.grp | 1 - gap/grp/trans16.grp | 1 - gap/grp/trans16a.grp | 1 - gap/grp/trans16b.grp | 1 - gap/grp/trans16c.grp | 1 - gap/grp/trans16d.grp | 1 - gap/grp/trans16e.grp | 1 - gap/grp/trans16f.grp | 1 - gap/grp/trans16g.grp | 1 - gap/grp/trans17.grp | 1 - gap/grp/trans18.grp | 1 - gap/grp/trans18a.grp | 1 - gap/grp/trans18b.grp | 1 - gap/grp/trans18c.grp | 1 - gap/grp/trans18d.grp | 1 - gap/grp/trans19.grp | 1 - gap/grp/trans20.grp | 1 - gap/grp/trans20a.grp | 1 - gap/grp/trans20b.grp | 1 - gap/grp/trans20c.grp | 1 - gap/grp/trans20d.grp | 1 - gap/grp/trans21.grp | 1 - gap/grp/trans21a.grp | 1 - gap/grp/trans22.grp | 1 - gap/grp/trans22a.grp | 1 - gap/grp/trans8.grp | 1 - gap/grp/trans9.grp | 1 - gap/lib/abattoir.g | 1 - gap/lib/agcent.g | 1 - gap/lib/agclass.g | 1 - gap/lib/agcomple.g | 1 - gap/lib/agcoset.g | 1 - gap/lib/agctbl.g | 1 - gap/lib/aggroup.g | 1 - gap/lib/aghall.g | 1 - gap/lib/aghomomo.g | 1 - gap/lib/aginters.g | 1 - gap/lib/agnorm.g | 1 - gap/lib/agprops.g | 1 - gap/lib/agsubgrp.g | 1 - gap/lib/agwords.g | 1 - gap/lib/algebra.g | 1 - gap/lib/algfac.g | 1 - gap/lib/algfld.g | 1 - gap/lib/algfp.g | 1 - gap/lib/alghomom.g | 1 - gap/lib/algmat.g | 1 - gap/lib/base.g | 1 - gap/lib/cdaggrp.g | 1 - gap/lib/chartabl.g | 1 - gap/lib/classfun.g | 1 - gap/lib/colors.g | 1 - gap/lib/combinat.g | 1 - gap/lib/complex.g | 1 - gap/lib/ctautoms.g | 1 - gap/lib/ctbasic.g | 1 - gap/lib/ctcharac.g | 1 - gap/lib/ctclfhlp.g | 1 - gap/lib/ctcliffo.g | 1 - gap/lib/ctfilter.g | 1 - gap/lib/ctgapmoc.g | 1 - gap/lib/ctgeneri.g | 1 - gap/lib/ctlattic.g | 1 - gap/lib/ctmapcon.g | 1 - gap/lib/ctmapusi.g | 1 - gap/lib/ctpermch.g | 1 - gap/lib/ctpgrp.g | 1 - gap/lib/ctsymmet.g | 1 - gap/lib/cyclotom.g | 1 - gap/lib/delay.g | 1 - gap/lib/dispatch.g | 1 - gap/lib/domain.g | 1 - gap/lib/double.g | 1 - gap/lib/field.g | 1 - gap/lib/finfield.g | 1 - gap/lib/float.g | 1 - gap/lib/fpgrp.g | 1 - gap/lib/fpsgpres.g | 1 - gap/lib/fptietze.g | 1 - gap/lib/galois.g | 1 - gap/lib/gaussian.g | 1 - gap/lib/group.g | 1 - gap/lib/grpcoset.g | 1 - gap/lib/grpctbl.g | 1 - gap/lib/grpelms.g | 1 - gap/lib/grphomom.g | 1 - gap/lib/grplatt.g | 1 - gap/lib/grpprods.g | 1 - gap/lib/hash.g | 1 - gap/lib/init.g | 18 +- gap/lib/integer.g | 1 - gap/lib/lattperf.g | 1 - gap/lib/list.g | 1 - gap/lib/mapping.g | 1 - gap/lib/matgrp.g | 1 - gap/lib/matring.g | 1 - gap/lib/matrix.g | 1 - gap/lib/module.g | 1 - gap/lib/monomial.g | 1 - gap/lib/morpheus.g | 1 - gap/lib/namespaces.g | 1 - gap/lib/newpackage.g | 1 - gap/lib/numfield.g | 1 - gap/lib/numtheor.g | 1 - gap/lib/onecohom.g | 1 - gap/lib/operatio.g | 1 - gap/lib/package.g | 1 - gap/lib/permag.g | 1 - gap/lib/permbckt.g | 1 - gap/lib/permcose.g | 1 - gap/lib/permcser.g | 1 - gap/lib/permctbl.g | 1 - gap/lib/permgrp.g | 1 - gap/lib/permhomo.g | 1 - gap/lib/permnorm.g | 1 - gap/lib/permoper.g | 1 - gap/lib/permprod.g | 1 - gap/lib/permstbc.g | 1 - gap/lib/permutat.g | 1 - gap/lib/polyfin.g | 1 - gap/lib/polyfld.g | 1 - gap/lib/polynom.g | 1 - gap/lib/polyrat.g | 1 - gap/lib/polystff.g | 1 - gap/lib/pq.g | 1 - gap/lib/ratclass.g | 1 - gap/lib/rational.g | 1 - gap/lib/ring.g | 1 - gap/lib/rowmodul.g | 1 - gap/lib/rowspace.g | 15 - gap/lib/saggroup.g | 1 - gap/lib/sagsbgrp.g | 1 - gap/lib/save.g | 1 - gap/lib/sq.g | 1 - gap/lib/sqstuff.g | 1 - gap/lib/string.g | 1 - gap/lib/sys_conf.g | 1 - gap/lib/tom.g | 1 - gap/lib/util.g | 1 - gap/lib/vecspace.g | 16 +- gap/src/CMakeLists.txt | 25 +- gap/src/args.c | 1 - gap/src/gap.c | 9 - gap/src/gasman.g | 2 +- gap/src/integer4.c | 5 - gap/src/integer4.h | 4 - gap/src/memmgr.c | 6 - gap/src/memmgr.h | 8 - gap/src/spiral.c | 18 + gap/src/string4.c | 6 +- gap/src/string4.h | 4 - gap/src/sys_conf_wrap.c | 1 - gap/src/system.c | 1889 ++--------------- gap/src/system.h | 30 +- gap/src/system4.c | 417 +--- gap/src/system4.h | 235 +- gap/src/system_types.h | 10 - gap/src/type_wrap.c | 1 - namespaces/arep/init.g | 1 - namespaces/arep/lib/algogen.g | 1 - namespaces/arep/lib/amat.g | 1 - namespaces/arep/lib/arep.g | 1 - namespaces/arep/lib/arepfcts.g | 1 - namespaces/arep/lib/complex.g | 1 - namespaces/arep/lib/mon.g | 1 - namespaces/arep/lib/mon2blk.g | 1 - namespaces/arep/lib/mon2mat.g | 1 - namespaces/arep/lib/monmon.g | 1 - namespaces/arep/lib/permblk.g | 1 - namespaces/arep/lib/permmat.g | 1 - namespaces/arep/lib/permperm.g | 1 - namespaces/arep/lib/summands.g | 1 - namespaces/arep/lib/symmetry.g | 1 - namespaces/arep/lib/tools.g | 1 - namespaces/arep/lib/transf.g | 1 - namespaces/spiral/compilers.gi | 29 +- namespaces/spiral/cpus.gi | 12 +- namespaces/spiral/profiler/profiles.gi | 11 + profiler/bin/spiralprofiler.cmd | 3 + profiler/targets/common/matrix.c | 5 +- profiler/targets/common/papi_time.c | 4 + profiler/targets/common/rdtsc.h | 5 + profiler/targets/common/rdtsc_time.c | 4 + profiler/targets/conf/Makefile.darwin | 4 + profiler/targets/conf/Makefile.linux | 4 + profiler/targets/conf/Makefile.linux.spu | 4 + profiler/targets/conf/Makefile.mingw | 4 + profiler/targets/conf/Makefile.nvcc.win | 4 + profiler/targets/conf/Makefile.ssnix | 4 + profiler/targets/conf/Makefile.win | 4 + profiler/targets/conf/conf.h | 6 +- profiler/targets/conf/errcodes.h | 5 + profiler/targets/conf/exceptions.c | 5 + profiler/targets/conf/exceptions.h | 5 + profiler/targets/conf/exceptions_def.h | 5 + profiler/targets/conf/exceptions_msg.h | 5 + profiler/targets/conf/fixed_types_arm.c | 5 + profiler/targets/conf/ipp_types_arm.c | 5 + profiler/targets/conf/misc.c | 33 +- profiler/targets/conf/misc.h | 17 +- profiler/targets/conf/null | 0 profiler/targets/conf/opt_macros.h | 6 +- profiler/targets/conf/sys.c | 5 + profiler/targets/conf/sys.h | 5 + profiler/targets/conf/vector.c | 6 +- profiler/targets/conf/vector.h | 6 +- profiler/targets/conf/vector_def.c | 5 + profiler/targets/conf/vector_def.h | 5 + profiler/targets/conf/xmalloc.c | 17 +- profiler/targets/conf/xmalloc.h | 22 +- profiler/targets/darwin-x86/Makefile | 49 +- profiler/targets/darwin-x86/matrix.cmd | 8 + profiler/targets/darwin-x86/time.cmd | 6 +- profiler/targets/darwin-x86/timer.c | 275 --- profiler/targets/include/complex_gcc.h | 12 +- profiler/targets/include/complex_gcc_sse.h | 10 +- profiler/targets/include/complex_gcc_sse2.h | 10 +- profiler/targets/include/complex_gcc_sse3.h | 10 +- profiler/targets/include/macro_cmn.h | 6 +- profiler/targets/include/macro_fv2.h | 4 + profiler/targets/include/macro_fv4.h | 6 +- profiler/targets/include/macro_fv8.h | 4 + profiler/targets/include/mm_malloc.h | 10 +- profiler/targets/include/omega.h | 4 + profiler/targets/include/omega16i.h | 10 +- profiler/targets/include/omega32.h | 10 +- profiler/targets/include/omega32c.h | 10 +- profiler/targets/include/omega32i.h | 10 +- profiler/targets/include/omega64.h | 10 +- profiler/targets/include/omega64c.h | 10 +- profiler/targets/include/omega64i.h | 10 +- profiler/targets/include/omega8i.h | 10 +- profiler/targets/include/smp2.h | 38 +- profiler/targets/include/threads.h | 38 +- profiler/targets/linux-arm-gcc/Makefile | 136 ++ profiler/targets/linux-arm-gcc/matrix.cmd | 8 + profiler/targets/linux-arm-gcc/time.cmd | 8 + profiler/targets/linux-ppc64le-gcc/Makefile | 11 +- profiler/targets/linux-ppc64le-gcc/matrix.cmd | 4 + profiler/targets/linux-ppc64le-gcc/time.cmd | 4 + profiler/targets/linux-x86/Makefile | 11 +- profiler/targets/linux-x86/matrix.cmd | 4 + profiler/targets/linux-x86/time.cmd | 4 + profiler/targets/win-x64-icc/Makefile | 6 +- profiler/targets/win-x64-icc/link.c | 23 +- profiler/targets/win-x64-icc/matrix.cmd | 6 +- profiler/targets/win-x64-icc/time.cmd | 6 +- profiler/targets/win-x86-gcc/Makefile | 4 + profiler/targets/win-x86-gcc/matrix.cmd | 4 + profiler/targets/win-x86-gcc/time.cmd | 6 +- profiler/targets/win-x86-vcc/Makefile | 6 +- profiler/targets/win-x86-vcc/link.c | 23 +- profiler/targets/win-x86-vcc/matrix.cmd | 4 + profiler/targets/win-x86-vcc/time.cmd | 4 + spiral | 19 - spiral.bat | 17 - spirald | 21 - tests/Advanced/CMakeLists.txt | 28 + tests/Advanced/Hockney.g | 72 + tests/Advanced/Planewave-3D-FFT.g | 25 + tests/Advanced/WarpX-1D.g | 78 + tests/CMakeLists.txt | 60 + tests/OpenMP/CMakeLists.txt | 26 + tests/OpenMP/OpenMP.g | 12 + tests/X86-SIMD/3D-FFT-AVX.g | 7 + tests/X86-SIMD/CMakeLists.txt | 27 + tests/X86-SIMD/FFT-with-SIMD.g | 8 + tests/basic/CMakeLists.txt | 28 + tests/basic/anschk.awk | 12 + tests/basic/basic_test.g | 91 + tests/basic/break-me.g | 25 + tests/scalar-Transforms/CMakeLists.txt | 27 + tests/scalar-Transforms/DP-Search.g | 8 + tests/scalar-Transforms/Simple-FFT.g | 9 + 333 files changed, 1716 insertions(+), 3337 deletions(-) delete mode 100644 _spiral.g create mode 100644 config/CMakeIncludes/ScriptConfig.cmake create mode 100644 config/CMakeIncludes/TestDefines.cmake create mode 100644 config/_spiral.g.in rename _spiral_win.g => config/_spiral_win.g.in (65%) create mode 100644 config/spiral.bat.in create mode 100644 config/spiral.in rename spiral_debug.bat => config/spiral_debug.bat.in (51%) create mode 100644 config/spirald.in delete mode 100644 profiler/targets/conf/null create mode 100644 profiler/targets/darwin-x86/matrix.cmd delete mode 100644 profiler/targets/darwin-x86/timer.c create mode 100644 profiler/targets/linux-arm-gcc/Makefile create mode 100644 profiler/targets/linux-arm-gcc/matrix.cmd create mode 100644 profiler/targets/linux-arm-gcc/time.cmd delete mode 100755 spiral delete mode 100644 spiral.bat delete mode 100755 spirald create mode 100644 tests/Advanced/CMakeLists.txt create mode 100644 tests/Advanced/Hockney.g create mode 100644 tests/Advanced/Planewave-3D-FFT.g create mode 100644 tests/Advanced/WarpX-1D.g create mode 100644 tests/CMakeLists.txt create mode 100644 tests/OpenMP/CMakeLists.txt create mode 100644 tests/OpenMP/OpenMP.g create mode 100644 tests/X86-SIMD/3D-FFT-AVX.g create mode 100644 tests/X86-SIMD/CMakeLists.txt create mode 100644 tests/X86-SIMD/FFT-with-SIMD.g create mode 100644 tests/basic/CMakeLists.txt create mode 100644 tests/basic/anschk.awk create mode 100644 tests/basic/basic_test.g create mode 100644 tests/basic/break-me.g create mode 100644 tests/scalar-Transforms/CMakeLists.txt create mode 100644 tests/scalar-Transforms/DP-Search.g create mode 100644 tests/scalar-Transforms/Simple-FFT.g diff --git a/CMakeLists.txt b/CMakeLists.txt index 81b25a90..a5e176a6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,8 @@ project(SPIRAL VERSION 8.1.0 DESCRIPTION "SPIRAL Project" LANGUAGES C CXX) + +set(PROJECT_VERSION_TAG "b2") ## Prevent building directly into the source tree string(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" SPIRAL_COMPILE_INPLACE) @@ -35,14 +37,9 @@ if (SPIRAL_COMPILE_INPLACE) endif() endif() -## Some .h in sys_conf folder; reference root dir as include dir for "sys_conf/xxx.h" -## set(SPIRAL_INC ${SPIRAL_SOURCE_DIR}) # should not need when no sys_conf library set(SPIRAL_CONFIG_DIR ${SPIRAL_SOURCE_DIR}/config) set(SPIRAL_GEN_INC ${SPIRAL_BINARY_DIR}/include/spiral) -## set(SYSCONF_LIB sys_conf) # remove sys_conf library -## message(STATUS "SYSCONF_LIB = ${SYSCONF_LIB}") - ## set(CMAKE_C_STANDARD 99) include_directories(${SPIRAL_GEN_INC}) @@ -85,7 +82,61 @@ configure_file ( ${SPIRAL_SOURCE_DIR}/gap/src/machine_endian.h ) +include ("${SPIRAL_SOURCE_DIR}/config/CMakeIncludes/ScriptConfig.cmake") +if (WIN32) + configure_file ( + ${SPIRAL_CONFIG_DIR}/spiral.bat.in + ${SPIRAL_BINARY_DIR}/gap/spiral.bat + ) + configure_file ( + ${SPIRAL_CONFIG_DIR}/spiral_debug.bat.in + ${SPIRAL_BINARY_DIR}/gap/spiral_debug.bat + ) + configure_file ( + ${SPIRAL_CONFIG_DIR}/_spiral_win.g.in + ${SPIRAL_BINARY_DIR}/gap/_spiral_win.g + ) +else () + configure_file ( + ${SPIRAL_CONFIG_DIR}/spiral.in + ${SPIRAL_BINARY_DIR}/gap/spiral + ) + configure_file ( + ${SPIRAL_CONFIG_DIR}/spirald.in + ${SPIRAL_BINARY_DIR}/gap/spirald + ) + configure_file ( + ${SPIRAL_CONFIG_DIR}/_spiral.g.in + ${SPIRAL_BINARY_DIR}/gap/_spiral.g + ) +endif () + +## Rule to install the script files when install target is built + +if (WIN32) + set (SPIRAL_STARTUP_FILES + ${SPIRAL_BINARY_DIR}/gap/spiral.bat + ${SPIRAL_BINARY_DIR}/gap/spiral_debug.bat + ${SPIRAL_BINARY_DIR}/gap/_spiral_win.g + ) +else () + set (SPIRAL_STARTUP_FILES + ${SPIRAL_BINARY_DIR}/gap/spiral + ${SPIRAL_BINARY_DIR}/gap/spirald + ${SPIRAL_BINARY_DIR}/gap/_spiral.g + ) +endif () + +install (FILES ${SPIRAL_STARTUP_FILES} + DESTINATION ${SPIRAL_SOURCE_DIR} + PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ + GROUP_EXECUTE GROUP_READ + WORLD_EXECUTE WORLD_READ + ) + add_subdirectory(gap) -## enable_testing() +add_subdirectory(tests) ## holds test scripts + +enable_testing() diff --git a/README.md b/README.md index 732eac2c..5ec98d48 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ SPIRAL ====== -This is the source tree for SPIRAL. It builds and runs on both Windows and Linux. +This is the source tree for SPIRAL. It builds and runs on Windows, Linux, and macOS. ## Building SPIRAL ### Prerequisites @@ -10,11 +10,18 @@ This is the source tree for SPIRAL. It builds and runs on both Windows and Linu SPIRAL builds on Linux/Unix with **gcc** and **make**, on Windows it builds with **Visual Studio**. +For macOS SPIRAL requires version 10.14 (Mojave) or later of macOS, with a compatible version of **Xcode** and +and **Xcode Command Line Tools**. + #### CMake 3 Use the most recent version of CMake 3 available for your platform. You can download CMake from [cmake.org](http://cmake.org/download/). -### Building on Linux and Other Unix-Like Systems +#### Python 3 + +The SPIRAL Profiler requires **Python 3**, which you can get from [python.org](http://python.org/downloads/). + +### Building on Linux, macOS, and Other Unix-Like Systems From the top directory of the SPIRAL source tree: ``` @@ -28,6 +35,8 @@ Use the **spiral** script in the top directory to start SPIRAL. You can run it it and run **spiral** from elsewhere. The actual executable is ```gap/bin/gap```, but it must be started with the **spiral** script in order to intialize and run correctly. +NOTE: The **spiral** script is automatically created, with deaults appropriate to your environment, during the build process, at the *install* step. + #### Debug Version on Linux/Unix To build a debug version of SPIRAL for use with **gdb**, from the top directory: @@ -68,6 +77,70 @@ to your path and run the batch script as **spiral** from a command window or scr To debug SPIRAL on Windows, build and install the Debug version, use **spiral_debug.bat** to start SPIRAL, then in Visual Studio use **Debug->Attach to Process...** to connect the debugger to **gapd.exe**. +## Testing SPIRAL + +SPIRAL is released with a suite of self-tests. The tests are automatically +configured and made available when **CMake** configures the installation. + +### Runnning Tests on Linux/Unix + +All tests can be run using **make test** from the `` folder, as follows: +``` +cd build +make test +``` + +The **CMake** test driver program, **ctest**, can be used to exercise control +over which tests are run. You can run a specific named test, tests matching a +specific type, or all tests using **ctest**. A couple of examples are shown +here (refer to the CMake/ctest documetation for a full explanation of all +options). The ` -L ` and ` -R ` options take a regular expression argument to +identify which tests to run. ` -L ` matches against a label associated to +each test, while ` -R ` matches against the name of the test. + +``` +cd build +ctest -R Simple-FFT # Run the test matching the name "Simple-FFT" +ctest -R [.]*FFT[.]* # Run all test(s) with "FFT" in the name +ctest -L smoke # Run all test(s) with label "smoke" +ctest # Run all tests +``` + +### Disabling Tests + +It is possible to disable the setup of tests when configuring the installation +with **CMake**. There are four categories of tests: basic, FFT, Advanced, and +Search. Each category of test may be turned off by adding a define on the +cmake command line, as follows: +``` +-DTESTS_RUN_BASIC=OFF # Turn off basic tests +-DTESTS_RUN_ADVANCED=OFF # Turn off Advanced tests +-DTESTS_RUN_FFT=OFF # Turn off FFT tests +-DTESTS_RUN_SEARCH=OFF # Turn off Search tests +``` + +### Runnning Tests on Windows + +**make** is genarally not available on Windows, so we need to use **ctest** in +order to run the tests. For Windows **ctest** needs to be informed which +confiuration was built, using the ` -C ` option; where ` ` +is typically ` Release ` or ` Debug `. Other than this caveat, tests are configured, run, or +inhibited exactly the same on Windows as Linux/Unix. For example: +``` +cd build +ctest -C Release -R Simple-FFT # Run the test matching the name "Simple-FFT" on Release build +ctest -C Release -R [.]*FFT[.]* # Run all test(s) with "FFT" in the name on Release build +ctest -C Debug -L smoke # Run all test(s) with label "smoke" on Debug build +ctest -C Release # Run all tests on Release build +``` + +### Debugging Failed Tests + +Should a test fail you can view the complete test inputs/outputs generated +during the test run. Beneath the `` folder is a **Testing/Temporary** +folder where **ctest** logs all the generated information. The data for the +last test run is contained in the file **LastTest.log**. + Spiral Profiler -------------- diff --git a/_spiral.g b/_spiral.g deleted file mode 100644 index 189d867e..00000000 --- a/_spiral.g +++ /dev/null @@ -1,17 +0,0 @@ -if not IsBound(LocalConfig) then - #Print("\nLoading spiral\n"); - Load(spiral); -fi; - -LoadPackage("arep"); - -LocalConfig.cpuinfo := CopyFields(SupportedCPUs.Core_AVX, rec( - freq := 2195 -)); - -LocalConfig.osinfo := SupportedOSs.Linux64; - -SpiralDefaults.profile := spiral.profiler.default_profiles.linux_x86_gcc; - -LocalConfig.compilerinfo := SupportedCompilers.GnuC; - diff --git a/config/CMakeIncludes/ScriptConfig.cmake b/config/CMakeIncludes/ScriptConfig.cmake new file mode 100644 index 00000000..e28fa95a --- /dev/null +++ b/config/CMakeIncludes/ScriptConfig.cmake @@ -0,0 +1,86 @@ +## +## SPIRAL License +## +## Copyright (c) 2018, Carnegie Mellon University +## All rights reserved. +## +## See LICENSE file for full information +## + +cmake_minimum_required(VERSION ${CMAKE_MINIMUM_REQUIRED_VERSION}) + +## Determine various configuration properties to create necessary inputs for launch/batch scripts + +string (COMPARE EQUAL "${CMAKE_HOST_SYSTEM_PROCESSOR}" "AMD64" INTEL_WIN) +string (COMPARE EQUAL "${CMAKE_HOST_SYSTEM_PROCESSOR}" "x86_64" INTEL_LINUX) +string (COMPARE EQUAL "${CMAKE_HOST_SYSTEM_PROCESSOR}" "armv7l" ARM_LINUX) + + +if (${INTEL_WIN} OR ${INTEL_LINUX}) + ## Intel architecture, SupportedCPU = Core_AVX + set (CPU_ARCH_TYPE "Core_AVX") + set (CPU_FREQUENCY 2195) + set (SPIRAL_MEMORY_POOL "2048m") +elseif (${ARM_LINUX}) + ## Raspberry Pi, SupportedCPU = armv7l + set (CPU_ARCH_TYPE "ARMV7L") + set (CPU_FREQUENCY 1500) + set (SPIRAL_MEMORY_POOL "1024m") +elseif (${CMAKE_HOST_APPLE}) + ## Apple ... MacBook + set (CPU_ARCH_TYPE "Core_AVX") + set (CPU_FREQUENCY 2195) + set (SPIRAL_MEMORY_POOL "2048m") +endif () + +if (WIN32) + ## Windows ... now determine which C compiler we're using... + string (COMPARE EQUAL "${CMAKE_C_COMPILER_ID}" "Intel" ICC_COMPILER) + string (COMPARE EQUAL "${CMAKE_C_COMPILER_ID}" "GNU" GCC_COMPILER) + set(SPIRAL_OS_NAME "Windows8") + if (${ICC_COMPILER}) + ## Intel ICC compiler + set (USE_COMPILER_ICC "true") + set (USE_COMPILER_GCC "false") + set (PROFILER_TARGET "win-x64-icc") + elseif (${GNU_COMPILER}) + ## GNU C compiler + set (USE_COMPILER_ICC "false") + set (USE_COMPILER_GCC "true") + set (PROFILER_TARGET "win-x86-gcc") + else () + ## Default to Visual Studio + set (USE_COMPILER_ICC "false") + set (USE_COMPILER_GCC "false") + set (PROFILER_TARGET "win-x86-vcc") + endif () + +elseif (${ARM_LINUX}) + ## Raspberry Pi + ## Use GDB as debugger, --args ==> arguments after program name are for debugged process + set (PROFILER_TARGET "linux-arm-gcc") + set (PROFILE_TARGET_ID "linux_arm_gcc") + set (SPIRAL_OS_NAME "ArmLinux") + set (SPIRAL_COMPILER_NAME "GnuC_ARM") + set (SPIRAL_DEBUGGER_NAME "gdb --args") + +elseif (${CMAKE_HOST_APPLE}) + ## Apple ... MacBook + ## Use LLDB as debugger, requires --arch, and "--" after program name to identify program arguments + set (PROFILER_TARGET "darwin-x86") + set (PROFILE_TARGET_ID "linux_x86_gcc") + set (SPIRAL_OS_NAME "Linux64") + set (SPIRAL_COMPILER_NAME "GnuC") + set (SPIRAL_DEBUGGER_NAME "lldb --arch x86_64") + set (SPIRAL_CMD_ARGS_FLAG "--") + +elseif (${INTEL_WIN} OR ${INTEL_LINUX}) + ## Linux ... + ## Use GDB as debugger, --args ==> arguments after program name are for debugged process + set (PROFILER_TARGET "linux-x86") + set (PROFILE_TARGET_ID "linux_x86_gcc") + set (SPIRAL_OS_NAME "Linux64") + set (SPIRAL_COMPILER_NAME "GnuC") + set (SPIRAL_DEBUGGER_NAME "gdb --args") + +endif () diff --git a/config/CMakeIncludes/TestDefines.cmake b/config/CMakeIncludes/TestDefines.cmake new file mode 100644 index 00000000..365992b9 --- /dev/null +++ b/config/CMakeIncludes/TestDefines.cmake @@ -0,0 +1,45 @@ +## +## SPIRAL License +## +## Copyright (c) 2018, Carnegie Mellon University +## All rights reserved. +## +## See LICENSE file for full information +## + +cmake_minimum_required(VERSION ${CMAKE_MINIMUM_REQUIRED_VERSION}) + +## include(FindUnixCommands) + +## GAP shell script name +if (WIN32) + file (TO_NATIVE_PATH ${SPIRAL_SOURCE_DIR}/spiral.bat TEST_GAP_EXEC_NAME) +else () + include(FindUnixCommands) + file (TO_NATIVE_PATH ${SPIRAL_SOURCE_DIR}/spiral TEST_GAP_EXEC_NAME ) +endif () + +## Define a function to add a test target, given a test name. The assumption +## is that all targets are executed by invoking Spiral, redirecting input +## from a test file and waiting until its done. The test script source file +## is assumed to be in the [current] subdirectory (parameter subdir) and has +## the same name as the test, appended with ".g". + +function (my_add_test_target testname subdir) + file (TO_NATIVE_PATH ${TESTS_SOURCE_DIR}/${subdir}/${testname}.g _scrpt) + if (BASH) + add_test (NAME ${testname} + COMMAND ${BASH} -c "${TEST_GAP_EXEC_NAME} < ${_scrpt}" + ) +else () + if (WIN32) + add_test (NAME ${testname} + COMMAND ${TEST_GAP_EXEC_NAME} < ${_scrpt} + ) + else () + message(FATAL_ERROR "Unknown shell command for ${CMAKE_HOST_SYSTEM_NAME}") + endif () +endif () + +endfunction () + diff --git a/config/_spiral.g.in b/config/_spiral.g.in new file mode 100644 index 00000000..07b11978 --- /dev/null +++ b/config/_spiral.g.in @@ -0,0 +1,20 @@ +# This file is generated by CMake and will be overwritten if you +# re-run make install + +if not IsBound(LocalConfig) then + #Print("\nLoading spiral\n"); + Load(spiral); +fi; + +LoadPackage("arep"); + +LocalConfig.cpuinfo := CopyFields(SupportedCPUs.@CPU_ARCH_TYPE@, rec( + freq := @CPU_FREQUENCY@ +)); + +LocalConfig.osinfo := SupportedOSs.@SPIRAL_OS_NAME@; + +SpiralDefaults.profile := spiral.profiler.default_profiles.@PROFILE_TARGET_ID@; + +LocalConfig.compilerinfo := SupportedCompilers.@SPIRAL_COMPILER_NAME@; + diff --git a/_spiral_win.g b/config/_spiral_win.g.in similarity index 65% rename from _spiral_win.g rename to config/_spiral_win.g.in index fa53db36..dc05c1da 100644 --- a/_spiral_win.g +++ b/config/_spiral_win.g.in @@ -1,3 +1,6 @@ +# This file is generated by CMake and will be overwritten if you +# re-run make install + if not IsBound(LocalConfig) then #Print("\nLoading spiral\n"); Load(spiral); @@ -5,15 +8,15 @@ fi; LoadPackage("arep"); -LocalConfig.cpuinfo := CopyFields(SupportedCPUs.Core_AVX, rec( - freq := 2195 +LocalConfig.cpuinfo := CopyFields(SupportedCPUs.@CPU_ARCH_TYPE@, rec( + freq := @CPU_FREQUENCY@ )); -LocalConfig.osinfo := SupportedOSs.Windows8; +LocalConfig.osinfo := SupportedOSs.@SPIRAL_OS_NAME@; -# set to true to use ICC or GCC, otherwise default to Visual Studio -UseICC := false; -UseGCC := false; +# set to true to use ICC or GCC for profiling, otherwise default to Visual Studio +UseICC := @USE_COMPILER_ICC@; +UseGCC := @USE_COMPILER_GCC@; if (UseICC) then # ICC SpiralDefaults.profile := spiral.profiler.default_profiles.win_x64_icc; @@ -31,5 +34,3 @@ else LocalConfig.compilerinfo := SupportedCompilers.VisualC; fi; - - diff --git a/config/spiral.bat.in b/config/spiral.bat.in new file mode 100644 index 00000000..2c1e62de --- /dev/null +++ b/config/spiral.bat.in @@ -0,0 +1,20 @@ +@echo off + +REM This file is generated by CMake and will be overwritten if you re-run make install + +set SPIRAL_DIR=%~dp0 +set GAP_MEM=@SPIRAL_MEMORY_POOL@ + +set PROFILER_LOCAL_ARGS=--target @PROFILER_TARGET@ +REM uncomment/add the following to PROFILER_LOCAL_ARGS for debugging or retaining temporary files +REM --debug --keeptemp + +set SPIRAL_CONFIG_SPIRAL_DIR=%SPIRAL_DIR% +set SPIRAL_CONFIG_PATH_SEP=\ + +set OLDPATH=%PATH% +set PATH=%PATH%;%SPIRAL_DIR%profiler\bin + +"%SPIRAL_DIR%gap\bin\gap.exe" -m %GAP_MEM% -x 1000 -l "%SPIRAL_DIR%gap\lib" "%SPIRAL_DIR%_spiral_win.g" + +set PATH=%OLDPATH% diff --git a/config/spiral.in b/config/spiral.in new file mode 100644 index 00000000..a54c710b --- /dev/null +++ b/config/spiral.in @@ -0,0 +1,28 @@ +#!/bin/sh + +# This file is generated by CMake and will be overwritten if you re-run make install + +SPIRAL="`dirname $0`" +INSTALL_PFX="$SPIRAL/gap" +GAP_DIR=$SPIRAL/gap +GAP_MEM=@SPIRAL_MEMORY_POOL@ + +export SPIRAL_CONFIG_TMP_DIR="/tmp/spiraltmp" +export SPIRAL_CONFIG_SPIRAL_DIR="$SPIRAL" +export SPIRAL_CONFIG_EXEC_DIR="/usr/local/bin" +export SPIRAL_CONFIG_PATH_SEP="/" + +## Setup PROFILER_LOCAL_ARGS with the target used for CMeasure & CMatrix measurements +export PROFILER_LOCAL_ARGS="--target @PROFILER_TARGET@" + +## Append these flags to PROFILER_LOCAL_ARGS to enable debugging or retain temporary files +## --debug --keeptemp + +## add path to profiler +export PATH="$PATH:$SPIRAL/profiler/bin" + +## Start SPIRAL +exec "$INSTALL_PFX/bin/gap" -m $GAP_MEM -x 1000 -l "$GAP_DIR/lib/" -h "$GAP_DIR/doc/" $SPIRAL/_spiral.g + +## /gap/lib is being added using -l "$GAP_DIR/lib/" but it can also be added using +## export SPIRAL_GAP_LIB_DIR=*input_path_to_gap/lib* diff --git a/config/spiral_build_info.h.in b/config/spiral_build_info.h.in index 17f5c5ef..75056bf8 100644 --- a/config/spiral_build_info.h.in +++ b/config/spiral_build_info.h.in @@ -11,7 +11,7 @@ #define SPIRAL_VERSION_MINOR @PROJECT_VERSION_MINOR@ #define SPIRAL_VERSION_PATCH @PROJECT_VERSION_PATCH@ #define SPIRAL_VERSION_TWEAK @PROJECT_VERSION_TWEAK@ -#define SPIRAL_VERSION_STRING "@PROJECT_VERSION@" +#define SPIRAL_VERSION_STRING "@PROJECT_VERSION@@PROJECT_VERSION_TAG@" #define SPIRAL_GIT_COMMIT_HASH "@SPIRAL_GIT_HASH@" diff --git a/spiral_debug.bat b/config/spiral_debug.bat.in similarity index 51% rename from spiral_debug.bat rename to config/spiral_debug.bat.in index b408b68b..a7ed0e67 100644 --- a/spiral_debug.bat +++ b/config/spiral_debug.bat.in @@ -1,9 +1,12 @@ @echo off +REM This file is generated by CMake and will be overwritten if you re-run make install + set SPIRAL_DIR=%~dp0 -set GAP_MEM=2048m +set GAP_MEM=@SPIRAL_MEMORY_POOL@ -set PROFILER_LOCAL_ARGS=--debug --keeptemp +REM --debug and --keeptemp output debug/trace information and preserve temporary files +set PROFILER_LOCAL_ARGS=--debug --keeptemp --target @PROFILER_TARGET@ set SPIRAL_CONFIG_SPIRAL_DIR=%SPIRAL_DIR% set SPIRAL_CONFIG_PATH_SEP=\ @@ -14,4 +17,3 @@ set PATH=%PATH%;%SPIRAL_DIR%profiler\bin "%SPIRAL_DIR%gap\bin\gapd.exe" -m %GAP_MEM% -x 1000 -l "%SPIRAL_DIR%gap\lib" "%SPIRAL_DIR%_spiral_win.g" set PATH=%OLDPATH% - diff --git a/config/spirald.in b/config/spirald.in new file mode 100644 index 00000000..1aeccaca --- /dev/null +++ b/config/spirald.in @@ -0,0 +1,28 @@ +#!/bin/sh + +# This file is generated by CMake and will be overwritten if you re-run make install + +SPIRAL="`dirname $0`" +INSTALL_PFX="$SPIRAL/gap" +GAP_DIR=$SPIRAL/gap +GAP_MEM=@SPIRAL_MEMORY_POOL@ + +export SPIRAL_CONFIG_TMP_DIR="/tmp/spiraltmp" +export SPIRAL_CONFIG_SPIRAL_DIR="$SPIRAL" +export SPIRAL_CONFIG_EXEC_DIR="/usr/local/bin" +export SPIRAL_CONFIG_PATH_SEP="/" + +## Setup PROFILER_LOCAL_ARGS with the target used for CMeasure & CMatrix measurements +export PROFILER_LOCAL_ARGS="--target @PROFILER_TARGET@" + +## Append these flags to PROFILER_LOCAL_ARGS to enable debugging or retain temporary files +## --debug --keeptemp + +# add path to profiler +export PATH="$PATH:$SPIRAL/profiler/bin" + +#== start SPIRAL in debugger -- don't automatically "run", to permit setting breakpoints, etc. +@SPIRAL_DEBUGGER_NAME@ "$INSTALL_PFX/bin/gapd" @SPIRAL_CMD_ARGS_FLAG@ -m $GAP_MEM -x 1000 -l "$GAP_DIR/lib/" -h "$GAP_DIR/doc/" $SPIRAL/_spiral.g + +# /gap/lib is being added using -l "$GAP_DIR/lib/" but it can also be added using +# export SPIRAL_GAP_LIB_DIR=*input_path_to_gap/lib* diff --git a/gap/grp/basic.grp b/gap/grp/basic.grp index bea49071..4d9b4cc4 100644 --- a/gap/grp/basic.grp +++ b/gap/grp/basic.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: basic.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A basic.grp GAP group library Martin Schoenert diff --git a/gap/grp/cryst.grp b/gap/grp/cryst.grp index 002c8898..5cf915cb 100644 --- a/gap/grp/cryst.grp +++ b/gap/grp/cryst.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: cryst.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A cryst.grp GAP group library Volkmar Felsch diff --git a/gap/grp/groupid.grp b/gap/grp/groupid.grp index 61d451ff..dfe9ba08 100644 --- a/gap/grp/groupid.grp +++ b/gap/grp/groupid.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: groupid.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A groupid.grp GAP group library Frank Celler diff --git a/gap/grp/imf.grp b/gap/grp/imf.grp index cf296bc1..0686183d 100644 --- a/gap/grp/imf.grp +++ b/gap/grp/imf.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf0.grp b/gap/grp/imf0.grp index f09cd6b6..474b86e7 100644 --- a/gap/grp/imf0.grp +++ b/gap/grp/imf0.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf0.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf0.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf10.grp b/gap/grp/imf10.grp index 3f94593e..d6e5f6b9 100644 --- a/gap/grp/imf10.grp +++ b/gap/grp/imf10.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf10.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf10.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf11.grp b/gap/grp/imf11.grp index 348e69db..3fc497bd 100644 --- a/gap/grp/imf11.grp +++ b/gap/grp/imf11.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf11.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf11.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf12.grp b/gap/grp/imf12.grp index 2397916a..90d88a9c 100644 --- a/gap/grp/imf12.grp +++ b/gap/grp/imf12.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf12.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf12.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf13.grp b/gap/grp/imf13.grp index 03996ed6..a28a02dd 100644 --- a/gap/grp/imf13.grp +++ b/gap/grp/imf13.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf13.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf13.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf14.grp b/gap/grp/imf14.grp index d4602f86..cabe2bdb 100644 --- a/gap/grp/imf14.grp +++ b/gap/grp/imf14.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf14.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf14.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf15.grp b/gap/grp/imf15.grp index 9ae07fac..ec8af052 100644 --- a/gap/grp/imf15.grp +++ b/gap/grp/imf15.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf15.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf15.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf16.grp b/gap/grp/imf16.grp index fc423140..10e69757 100644 --- a/gap/grp/imf16.grp +++ b/gap/grp/imf16.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf16.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf16.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf17.grp b/gap/grp/imf17.grp index 8f0dd7f3..1c69a190 100644 --- a/gap/grp/imf17.grp +++ b/gap/grp/imf17.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf17.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf17.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf18.grp b/gap/grp/imf18.grp index 33a3f665..d2f41695 100644 --- a/gap/grp/imf18.grp +++ b/gap/grp/imf18.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf18.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf18.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf19.grp b/gap/grp/imf19.grp index 83597dc4..7342bf80 100644 --- a/gap/grp/imf19.grp +++ b/gap/grp/imf19.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf19.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf19.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf1to9.grp b/gap/grp/imf1to9.grp index efc8f709..b01a1870 100644 --- a/gap/grp/imf1to9.grp +++ b/gap/grp/imf1to9.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf1to9.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf1to9.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf20.grp b/gap/grp/imf20.grp index 2bd7a579..88dbff86 100644 --- a/gap/grp/imf20.grp +++ b/gap/grp/imf20.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf20.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf20.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf21.grp b/gap/grp/imf21.grp index 784f7e4b..ab598b9e 100644 --- a/gap/grp/imf21.grp +++ b/gap/grp/imf21.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf21.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf21.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf22.grp b/gap/grp/imf22.grp index 67e82464..692b3d16 100644 --- a/gap/grp/imf22.grp +++ b/gap/grp/imf22.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf22.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf22.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf23.grp b/gap/grp/imf23.grp index 08d3aeb8..c99ab740 100644 --- a/gap/grp/imf23.grp +++ b/gap/grp/imf23.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf23.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf23.grp GAP group library Volkmar Felsch diff --git a/gap/grp/imf24.grp b/gap/grp/imf24.grp index 95a91464..b979ae09 100644 --- a/gap/grp/imf24.grp +++ b/gap/grp/imf24.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: imf24.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A imf24.grp GAP group library Volkmar Felsch diff --git a/gap/grp/irredsol.grp b/gap/grp/irredsol.grp index f1d92803..22fed887 100644 --- a/gap/grp/irredsol.grp +++ b/gap/grp/irredsol.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: irredsol.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A irredsol.grp GAP group library Mark Short diff --git a/gap/grp/matgrp.grp b/gap/grp/matgrp.grp index 2a0e23d8..7e5bf14a 100644 --- a/gap/grp/matgrp.grp +++ b/gap/grp/matgrp.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: matgrp.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A matgrp.grp GAP group library Werner Nickel & diff --git a/gap/grp/perf.grp b/gap/grp/perf.grp index 71bbffd0..e464581a 100644 --- a/gap/grp/perf.grp +++ b/gap/grp/perf.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: perf.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A perf.grp GAP group library Volkmar Felsch diff --git a/gap/grp/perf0.grp b/gap/grp/perf0.grp index 82627b72..31ddf4ee 100644 --- a/gap/grp/perf0.grp +++ b/gap/grp/perf0.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: perf0.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A perf0.grp GAP group library Volkmar Felsch diff --git a/gap/grp/perf01.grp b/gap/grp/perf01.grp index 237b3d58..57dceeab 100644 --- a/gap/grp/perf01.grp +++ b/gap/grp/perf01.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: perf01.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A perf01.grp GAP group library Volkmar Felsch diff --git a/gap/grp/perf02.grp b/gap/grp/perf02.grp index 8dad929b..a09c1477 100644 --- a/gap/grp/perf02.grp +++ b/gap/grp/perf02.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: perf02.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A perf02.grp GAP group library Volkmar Felsch diff --git a/gap/grp/perf03.grp b/gap/grp/perf03.grp index 6edfb908..bd67e1c9 100644 --- a/gap/grp/perf03.grp +++ b/gap/grp/perf03.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: perf03.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A perf03.grp GAP group library Volkmar Felsch diff --git a/gap/grp/perf04.grp b/gap/grp/perf04.grp index 24a7aa2e..3092ee01 100644 --- a/gap/grp/perf04.grp +++ b/gap/grp/perf04.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: perf04.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A perf04.grp GAP group library Volkmar Felsch diff --git a/gap/grp/perf05.grp b/gap/grp/perf05.grp index 597f2344..2a543604 100644 --- a/gap/grp/perf05.grp +++ b/gap/grp/perf05.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: perf05.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A perf05.grp GAP group library Volkmar Felsch diff --git a/gap/grp/perf06.grp b/gap/grp/perf06.grp index 2dfee384..cf1b627b 100644 --- a/gap/grp/perf06.grp +++ b/gap/grp/perf06.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: perf06.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A perf06.grp GAP group library Volkmar Felsch diff --git a/gap/grp/perf07.grp b/gap/grp/perf07.grp index 4080142c..31d26eb2 100644 --- a/gap/grp/perf07.grp +++ b/gap/grp/perf07.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: perf07.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A perf07.grp GAP group library Volkmar Felsch diff --git a/gap/grp/perf08.grp b/gap/grp/perf08.grp index 81ae126f..b04ec840 100644 --- a/gap/grp/perf08.grp +++ b/gap/grp/perf08.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: perf08.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A perf08.grp GAP group library Volkmar Felsch diff --git a/gap/grp/perf09.grp b/gap/grp/perf09.grp index ad9bccc6..09313224 100644 --- a/gap/grp/perf09.grp +++ b/gap/grp/perf09.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: perf09.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A perf09.grp GAP group library Volkmar Felsch diff --git a/gap/grp/perf10.grp b/gap/grp/perf10.grp index d54d64fa..d1c364ad 100644 --- a/gap/grp/perf10.grp +++ b/gap/grp/perf10.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: perf10.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A perf10.grp GAP group library Volkmar Felsch diff --git a/gap/grp/perf11.grp b/gap/grp/perf11.grp index 92191545..eb12dd86 100644 --- a/gap/grp/perf11.grp +++ b/gap/grp/perf11.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: perf11.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A perf11.grp GAP group library Volkmar Felsch diff --git a/gap/grp/perf12.grp b/gap/grp/perf12.grp index a3e13070..506a9665 100644 --- a/gap/grp/perf12.grp +++ b/gap/grp/perf12.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: perf12.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A perf12.grp GAP group library Volkmar Felsch diff --git a/gap/grp/permgrp.grp b/gap/grp/permgrp.grp index a960eb8a..8add08ac 100644 --- a/gap/grp/permgrp.grp +++ b/gap/grp/permgrp.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: permgrp.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A permgrp.grp GAP group library Martin Schoenert diff --git a/gap/grp/primitiv.grp b/gap/grp/primitiv.grp index e66aae01..88beb2a4 100644 --- a/gap/grp/primitiv.grp +++ b/gap/grp/primitiv.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: primitiv.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A primitiv.grp GAP group library Charles Sims diff --git a/gap/grp/solvable.grp b/gap/grp/solvable.grp index 4e703a9e..44ef1c09 100644 --- a/gap/grp/solvable.grp +++ b/gap/grp/solvable.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: solvable.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A solvable.grp GAP group library Hans Ulrich Besche diff --git a/gap/grp/sporadic.grp b/gap/grp/sporadic.grp index 2628f57a..74188408 100644 --- a/gap/grp/sporadic.grp +++ b/gap/grp/sporadic.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: sporadic.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A sporadic.grp GAP group library Martin Schoenert diff --git a/gap/grp/trans.grp b/gap/grp/trans.grp index ccb56128..c8ef7659 100644 --- a/gap/grp/trans.grp +++ b/gap/grp/trans.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans10.grp b/gap/grp/trans10.grp index 4c05f22c..7fb2f4ba 100644 --- a/gap/grp/trans10.grp +++ b/gap/grp/trans10.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans10.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans10.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans11.grp b/gap/grp/trans11.grp index 17524f28..d160e290 100644 --- a/gap/grp/trans11.grp +++ b/gap/grp/trans11.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans11.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans11.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans12.grp b/gap/grp/trans12.grp index 887e046d..898c521c 100644 --- a/gap/grp/trans12.grp +++ b/gap/grp/trans12.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans12.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans12.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans13.grp b/gap/grp/trans13.grp index bda9c21e..dc06af52 100644 --- a/gap/grp/trans13.grp +++ b/gap/grp/trans13.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans13.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans13.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans14.grp b/gap/grp/trans14.grp index cd1ee0cc..238006c8 100644 --- a/gap/grp/trans14.grp +++ b/gap/grp/trans14.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans14.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans14.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans15.grp b/gap/grp/trans15.grp index f02737f6..d9d7a45f 100644 --- a/gap/grp/trans15.grp +++ b/gap/grp/trans15.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans15.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans15.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans16.grp b/gap/grp/trans16.grp index 5a352a1a..22b54acd 100644 --- a/gap/grp/trans16.grp +++ b/gap/grp/trans16.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans16.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans16.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans16a.grp b/gap/grp/trans16a.grp index b1b80204..e81b0f92 100644 --- a/gap/grp/trans16a.grp +++ b/gap/grp/trans16a.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans16a.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans16a.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans16b.grp b/gap/grp/trans16b.grp index d4d4aa0b..845daaa7 100644 --- a/gap/grp/trans16b.grp +++ b/gap/grp/trans16b.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans16b.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans16b.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans16c.grp b/gap/grp/trans16c.grp index 1ef64971..938b53b4 100644 --- a/gap/grp/trans16c.grp +++ b/gap/grp/trans16c.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans16c.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans16c.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans16d.grp b/gap/grp/trans16d.grp index 7af236eb..0dfeb0dd 100644 --- a/gap/grp/trans16d.grp +++ b/gap/grp/trans16d.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans16d.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans16d.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans16e.grp b/gap/grp/trans16e.grp index 518fafcc..9e531610 100644 --- a/gap/grp/trans16e.grp +++ b/gap/grp/trans16e.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans16e.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans16e.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans16f.grp b/gap/grp/trans16f.grp index 0a6d0584..40baa58a 100644 --- a/gap/grp/trans16f.grp +++ b/gap/grp/trans16f.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans16f.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans16f.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans16g.grp b/gap/grp/trans16g.grp index 5d93619d..88fdf84e 100644 --- a/gap/grp/trans16g.grp +++ b/gap/grp/trans16g.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans16g.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans16g.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans17.grp b/gap/grp/trans17.grp index 278297d9..693d32e7 100644 --- a/gap/grp/trans17.grp +++ b/gap/grp/trans17.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans17.grp 1673 2005-05-29 09:15:59Z uyvorone $"); TRANSGRP[17]:=[ [(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17),"C(17)=17"], [(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17), diff --git a/gap/grp/trans18.grp b/gap/grp/trans18.grp index b6a21577..65d38ddb 100644 --- a/gap/grp/trans18.grp +++ b/gap/grp/trans18.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans18.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans18.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans18a.grp b/gap/grp/trans18a.grp index 8c9427ee..9167e608 100644 --- a/gap/grp/trans18a.grp +++ b/gap/grp/trans18a.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans18a.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans18a.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans18b.grp b/gap/grp/trans18b.grp index 896201e6..b259bb94 100644 --- a/gap/grp/trans18b.grp +++ b/gap/grp/trans18b.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans18b.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans18b.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans18c.grp b/gap/grp/trans18c.grp index 5e2833c4..e6f99fdc 100644 --- a/gap/grp/trans18c.grp +++ b/gap/grp/trans18c.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans18c.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans18c.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans18d.grp b/gap/grp/trans18d.grp index 0e5001a5..b65e7218 100644 --- a/gap/grp/trans18d.grp +++ b/gap/grp/trans18d.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans18d.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans18d.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans19.grp b/gap/grp/trans19.grp index a61bb88f..ab5f4673 100644 --- a/gap/grp/trans19.grp +++ b/gap/grp/trans19.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans19.grp 1673 2005-05-29 09:15:59Z uyvorone $"); TRANSGRP[19]:=[ [(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19),"C(19)=19"], [(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19),(2,19)(3,18) diff --git a/gap/grp/trans20.grp b/gap/grp/trans20.grp index b059b9b4..01e308d6 100644 --- a/gap/grp/trans20.grp +++ b/gap/grp/trans20.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans20.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans20.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans20a.grp b/gap/grp/trans20a.grp index 2d44fdd4..4bdec860 100644 --- a/gap/grp/trans20a.grp +++ b/gap/grp/trans20a.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans20a.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans20a.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans20b.grp b/gap/grp/trans20b.grp index 72cd8dc2..280bb675 100644 --- a/gap/grp/trans20b.grp +++ b/gap/grp/trans20b.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans20b.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans20b.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans20c.grp b/gap/grp/trans20c.grp index 5ef8f562..961c3839 100644 --- a/gap/grp/trans20c.grp +++ b/gap/grp/trans20c.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans20c.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans20c.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans20d.grp b/gap/grp/trans20d.grp index 2bd413e7..a9a81c53 100644 --- a/gap/grp/trans20d.grp +++ b/gap/grp/trans20d.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans20d.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans20d.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans21.grp b/gap/grp/trans21.grp index 68c0a3b5..c64b4483 100644 --- a/gap/grp/trans21.grp +++ b/gap/grp/trans21.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans21.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans21.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans21a.grp b/gap/grp/trans21a.grp index 5a6ee71f..3b783fd9 100644 --- a/gap/grp/trans21a.grp +++ b/gap/grp/trans21a.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans21a.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans21a.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans22.grp b/gap/grp/trans22.grp index 6a34fb5d..203c219e 100644 --- a/gap/grp/trans22.grp +++ b/gap/grp/trans22.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans22.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans22.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans22a.grp b/gap/grp/trans22a.grp index b0300355..4f46e566 100644 --- a/gap/grp/trans22a.grp +++ b/gap/grp/trans22a.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans22a.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans22a.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans8.grp b/gap/grp/trans8.grp index 207bb9f6..aca93d36 100644 --- a/gap/grp/trans8.grp +++ b/gap/grp/trans8.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans8.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans8.grp GAP group library Alexander Hulpke diff --git a/gap/grp/trans9.grp b/gap/grp/trans9.grp index 151d5d3e..1214b449 100644 --- a/gap/grp/trans9.grp +++ b/gap/grp/trans9.grp @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: trans9.grp 1673 2005-05-29 09:15:59Z uyvorone $"); ############################################################################# ## #A trans9.grp GAP group library Alexander Hulpke diff --git a/gap/lib/abattoir.g b/gap/lib/abattoir.g index 5fadb076..8a712b92 100644 --- a/gap/lib/abattoir.g +++ b/gap/lib/abattoir.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: abattoir.g 8811 2009-08-21 14:23:29Z fdemesma $"); # changes for spiral: # - look for packages in GAP_DIR/.. diff --git a/gap/lib/agcent.g b/gap/lib/agcent.g index a9f25737..c1a78999 100644 --- a/gap/lib/agcent.g +++ b/gap/lib/agcent.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: agcent.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/agclass.g b/gap/lib/agclass.g index dac4f201..6e5119c9 100644 --- a/gap/lib/agclass.g +++ b/gap/lib/agclass.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: agclass.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/agcomple.g b/gap/lib/agcomple.g index a83f1c3f..53f7a226 100644 --- a/gap/lib/agcomple.g +++ b/gap/lib/agcomple.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: agcomple.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/agcoset.g b/gap/lib/agcoset.g index e3c5beab..d38bc6f7 100644 --- a/gap/lib/agcoset.g +++ b/gap/lib/agcoset.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: agcoset.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/agctbl.g b/gap/lib/agctbl.g index d4c7b0c0..f4029287 100644 --- a/gap/lib/agctbl.g +++ b/gap/lib/agctbl.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: agctbl.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/aggroup.g b/gap/lib/aggroup.g index 0af5cec3..56f0ed43 100644 --- a/gap/lib/aggroup.g +++ b/gap/lib/aggroup.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: aggroup.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/aghall.g b/gap/lib/aghall.g index db2228f4..ce980ea3 100644 --- a/gap/lib/aghall.g +++ b/gap/lib/aghall.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: aghall.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/aghomomo.g b/gap/lib/aghomomo.g index 75324290..792db7ad 100644 --- a/gap/lib/aghomomo.g +++ b/gap/lib/aghomomo.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: aghomomo.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/aginters.g b/gap/lib/aginters.g index 54057b12..c627e20a 100644 --- a/gap/lib/aginters.g +++ b/gap/lib/aginters.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: aginters.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/agnorm.g b/gap/lib/agnorm.g index 40646d38..b29910af 100644 --- a/gap/lib/agnorm.g +++ b/gap/lib/agnorm.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: agnorm.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/agprops.g b/gap/lib/agprops.g index 1674727c..2b9bb129 100644 --- a/gap/lib/agprops.g +++ b/gap/lib/agprops.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: agprops.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/agsubgrp.g b/gap/lib/agsubgrp.g index f155a7e7..baf5e570 100644 --- a/gap/lib/agsubgrp.g +++ b/gap/lib/agsubgrp.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: agsubgrp.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/agwords.g b/gap/lib/agwords.g index f7234d36..8166d37c 100644 --- a/gap/lib/agwords.g +++ b/gap/lib/agwords.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: agwords.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/algebra.g b/gap/lib/algebra.g index 093b91cc..f6fa6a1c 100644 --- a/gap/lib/algebra.g +++ b/gap/lib/algebra.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: algebra.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/algfac.g b/gap/lib/algfac.g index 37a79a23..37ddfd52 100644 --- a/gap/lib/algfac.g +++ b/gap/lib/algfac.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: algfac.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/algfld.g b/gap/lib/algfld.g index 13400b8c..f679620d 100644 --- a/gap/lib/algfld.g +++ b/gap/lib/algfld.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: algfld.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/algfp.g b/gap/lib/algfp.g index e25ab7fd..9a39d269 100644 --- a/gap/lib/algfp.g +++ b/gap/lib/algfp.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: algfp.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/alghomom.g b/gap/lib/alghomom.g index ae73b446..ee64970f 100644 --- a/gap/lib/alghomom.g +++ b/gap/lib/alghomom.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: alghomom.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/algmat.g b/gap/lib/algmat.g index 0689e094..bca445a5 100644 --- a/gap/lib/algmat.g +++ b/gap/lib/algmat.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: algmat.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/base.g b/gap/lib/base.g index 9c9fb07d..aafebec0 100644 --- a/gap/lib/base.g +++ b/gap/lib/base.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: base.g 8672 2009-07-11 14:23:01Z yvoronen $"); GlobalPackage(gap.numbase); diff --git a/gap/lib/cdaggrp.g b/gap/lib/cdaggrp.g index 9b4a46dc..b4a5e80e 100644 --- a/gap/lib/cdaggrp.g +++ b/gap/lib/cdaggrp.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: cdaggrp.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/chartabl.g b/gap/lib/chartabl.g index cd19d63a..0ac5dcff 100644 --- a/gap/lib/chartabl.g +++ b/gap/lib/chartabl.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: chartabl.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/classfun.g b/gap/lib/classfun.g index 87963873..7cfadb71 100644 --- a/gap/lib/classfun.g +++ b/gap/lib/classfun.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: classfun.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/colors.g b/gap/lib/colors.g index 17f46216..2b19af20 100644 --- a/gap/lib/colors.g +++ b/gap/lib/colors.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: colors.g 7379 2008-10-09 21:24:32Z vlad $"); GlobalPackage(gap.colors); diff --git a/gap/lib/combinat.g b/gap/lib/combinat.g index df9edaf7..f3778d74 100644 --- a/gap/lib/combinat.g +++ b/gap/lib/combinat.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: combinat.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/complex.g b/gap/lib/complex.g index a4af662c..dbd1e2a4 100644 --- a/gap/lib/complex.g +++ b/gap/lib/complex.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: complex.g 3757 2007-01-09 00:57:39Z yvoronen $"); ## Complex imaginary I = sqrt(-1) ## diff --git a/gap/lib/ctautoms.g b/gap/lib/ctautoms.g index d921199d..d06032b2 100644 --- a/gap/lib/ctautoms.g +++ b/gap/lib/ctautoms.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ctautoms.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/ctbasic.g b/gap/lib/ctbasic.g index cf81dbad..b14fd0b6 100644 --- a/gap/lib/ctbasic.g +++ b/gap/lib/ctbasic.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ctbasic.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/ctcharac.g b/gap/lib/ctcharac.g index 45749a51..d763fa52 100644 --- a/gap/lib/ctcharac.g +++ b/gap/lib/ctcharac.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ctcharac.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/ctclfhlp.g b/gap/lib/ctclfhlp.g index 29adc7ef..475927cd 100644 --- a/gap/lib/ctclfhlp.g +++ b/gap/lib/ctclfhlp.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ctclfhlp.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/ctcliffo.g b/gap/lib/ctcliffo.g index a5cad809..c92d6d24 100644 --- a/gap/lib/ctcliffo.g +++ b/gap/lib/ctcliffo.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ctcliffo.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/ctfilter.g b/gap/lib/ctfilter.g index 16d25b5b..e32a901f 100644 --- a/gap/lib/ctfilter.g +++ b/gap/lib/ctfilter.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ctfilter.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/ctgapmoc.g b/gap/lib/ctgapmoc.g index 8e224ba7..88325c70 100644 --- a/gap/lib/ctgapmoc.g +++ b/gap/lib/ctgapmoc.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ctgapmoc.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/ctgeneri.g b/gap/lib/ctgeneri.g index 52ad52b9..84d8dd4a 100644 --- a/gap/lib/ctgeneri.g +++ b/gap/lib/ctgeneri.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ctgeneri.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/ctlattic.g b/gap/lib/ctlattic.g index 1d8b407b..82ac94d1 100644 --- a/gap/lib/ctlattic.g +++ b/gap/lib/ctlattic.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ctlattic.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/ctmapcon.g b/gap/lib/ctmapcon.g index c3228d73..ca297a80 100644 --- a/gap/lib/ctmapcon.g +++ b/gap/lib/ctmapcon.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ctmapcon.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/ctmapusi.g b/gap/lib/ctmapusi.g index 287fb436..7efba282 100644 --- a/gap/lib/ctmapusi.g +++ b/gap/lib/ctmapusi.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ctmapusi.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/ctpermch.g b/gap/lib/ctpermch.g index a332f788..2add0c1f 100644 --- a/gap/lib/ctpermch.g +++ b/gap/lib/ctpermch.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ctpermch.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/ctpgrp.g b/gap/lib/ctpgrp.g index f1504918..15f466e8 100644 --- a/gap/lib/ctpgrp.g +++ b/gap/lib/ctpgrp.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ctpgrp.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/ctsymmet.g b/gap/lib/ctsymmet.g index 685ce0ad..54569ca7 100644 --- a/gap/lib/ctsymmet.g +++ b/gap/lib/ctsymmet.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ctsymmet.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/cyclotom.g b/gap/lib/cyclotom.g index 574b05f6..a129f65b 100644 --- a/gap/lib/cyclotom.g +++ b/gap/lib/cyclotom.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: cyclotom.g 1667 2005-05-29 08:03:20Z uyvorone $"); GlobalPackage(gap.cyc); ############################################################################# diff --git a/gap/lib/delay.g b/gap/lib/delay.g index 1d2d0d09..eb63fd01 100644 --- a/gap/lib/delay.g +++ b/gap/lib/delay.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: delay.g 3757 2007-01-09 00:57:39Z yvoronen $"); # NOTE: INJECTION_D for T_REC # diff --git a/gap/lib/dispatch.g b/gap/lib/dispatch.g index 9ef6e378..35131b90 100644 --- a/gap/lib/dispatch.g +++ b/gap/lib/dispatch.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: dispatch.g 9469 2010-03-25 03:22:20Z yvoronen $"); ############################################################################# ## diff --git a/gap/lib/domain.g b/gap/lib/domain.g index a93fc109..e53455ec 100644 --- a/gap/lib/domain.g +++ b/gap/lib/domain.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: domain.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/double.g b/gap/lib/double.g index 0ab34ef9..e98278c7 100644 --- a/gap/lib/double.g +++ b/gap/lib/double.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: double.g 6554 2008-06-25 18:55:22Z yvoronen $"); ############################################################################# #V Doubles . . . . . . . . . . . . . . . . domain of floating-poiny numbers diff --git a/gap/lib/field.g b/gap/lib/field.g index 1bda6dd4..4f2e488e 100644 --- a/gap/lib/field.g +++ b/gap/lib/field.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: field.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/finfield.g b/gap/lib/finfield.g index 9ae6bb33..a04c7faa 100644 --- a/gap/lib/finfield.g +++ b/gap/lib/finfield.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: finfield.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/float.g b/gap/lib/float.g index 6ee0d36f..7ef33555 100644 --- a/gap/lib/float.g +++ b/gap/lib/float.g @@ -1,2 +1 @@ # -*- Mode: shell-script -*- -CVSID("$Id: float.g 6554 2008-06-25 18:55:22Z yvoronen $"); diff --git a/gap/lib/fpgrp.g b/gap/lib/fpgrp.g index 7dcbc2fd..d50f7eb8 100644 --- a/gap/lib/fpgrp.g +++ b/gap/lib/fpgrp.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: fpgrp.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/fpsgpres.g b/gap/lib/fpsgpres.g index ab86e95d..44708612 100644 --- a/gap/lib/fpsgpres.g +++ b/gap/lib/fpsgpres.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: fpsgpres.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/fptietze.g b/gap/lib/fptietze.g index 61a4c4a7..2e33b287 100644 --- a/gap/lib/fptietze.g +++ b/gap/lib/fptietze.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: fptietze.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/galois.g b/gap/lib/galois.g index e1f5ad9b..aa4707fb 100644 --- a/gap/lib/galois.g +++ b/gap/lib/galois.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: galois.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/gaussian.g b/gap/lib/gaussian.g index 8954749e..ef9a550c 100644 --- a/gap/lib/gaussian.g +++ b/gap/lib/gaussian.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: gaussian.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/group.g b/gap/lib/group.g index 62c83ef2..3ad4e5bd 100644 --- a/gap/lib/group.g +++ b/gap/lib/group.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: group.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/grpcoset.g b/gap/lib/grpcoset.g index aa358895..f7f8d7ff 100644 --- a/gap/lib/grpcoset.g +++ b/gap/lib/grpcoset.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: grpcoset.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/grpctbl.g b/gap/lib/grpctbl.g index fa160c0e..2c7025f2 100644 --- a/gap/lib/grpctbl.g +++ b/gap/lib/grpctbl.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: grpctbl.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/grpelms.g b/gap/lib/grpelms.g index edca1689..ea0a023c 100644 --- a/gap/lib/grpelms.g +++ b/gap/lib/grpelms.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: grpelms.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/grphomom.g b/gap/lib/grphomom.g index a9096472..5fcf37c9 100644 --- a/gap/lib/grphomom.g +++ b/gap/lib/grphomom.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: grphomom.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/grplatt.g b/gap/lib/grplatt.g index 5e015008..f5a9f810 100644 --- a/gap/lib/grplatt.g +++ b/gap/lib/grplatt.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: grplatt.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/grpprods.g b/gap/lib/grpprods.g index ae551072..bbc173ed 100644 --- a/gap/lib/grpprods.g +++ b/gap/lib/grpprods.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: grpprods.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/hash.g b/gap/lib/hash.g index ca51c71d..54cfdc9d 100644 --- a/gap/lib/hash.g +++ b/gap/lib/hash.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: hash.g 10043 2011-02-14 05:51:59Z vlad $"); # -*- mode: shell-script -*- GlobalPackage(spiral.hash); diff --git a/gap/lib/init.g b/gap/lib/init.g index efbd1d74..7050de0c 100644 --- a/gap/lib/init.g +++ b/gap/lib/init.g @@ -137,25 +137,15 @@ function(arg) ClearCommentBuffer(); end); -CVSID := function(cvs_id) - CurrentFile().id := cvs_id; -end; - -CVSID("$Id: init.g 9220 2009-12-25 18:21:18Z vlad $"); +## CVSID := function(cvs_id) +## CurrentFile().id := cvs_id; +## end; VERLIB := "v3r4p4 1997/04/18"; PATH_SEP := config_val_t_strval_get(config_demand_val("path_sep")); -if not IsBound( VERSRC ) then VERSRC := "unknown"; fi; -if not IsBound( VERSYS ) then VERSYS := "unknown"; fi; - -VERSION := []; -Append( VERSION, "lib: " ); Append( VERSION, VERLIB ); -Append( VERSION, ", src: " ); Append( VERSION, VERSRC ); -Append( VERSION, ", sys: " ); Append( VERSION, VERSYS ); - -Global.SpiralVersion := "8.1.0b1"; +Global.SpiralVersion := Version(); PrintBannerSpiral := function() Print("\n"); diff --git a/gap/lib/integer.g b/gap/lib/integer.g index 34840082..074ac66a 100644 --- a/gap/lib/integer.g +++ b/gap/lib/integer.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: integer.g 9971 2010-12-08 19:16:35Z vlad $"); GlobalPackage(gap.int); diff --git a/gap/lib/lattperf.g b/gap/lib/lattperf.g index e75af0a3..e5b8f6fd 100644 --- a/gap/lib/lattperf.g +++ b/gap/lib/lattperf.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: lattperf.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/list.g b/gap/lib/list.g index a7ba2e4e..cb128e05 100644 --- a/gap/lib/list.g +++ b/gap/lib/list.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: list.g 10253 2011-07-25 05:44:52Z vlad $"); ############################################################################# ## diff --git a/gap/lib/mapping.g b/gap/lib/mapping.g index af200527..b6460190 100644 --- a/gap/lib/mapping.g +++ b/gap/lib/mapping.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: mapping.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/matgrp.g b/gap/lib/matgrp.g index 1f45fbcf..2cb7680b 100644 --- a/gap/lib/matgrp.g +++ b/gap/lib/matgrp.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: matgrp.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/matring.g b/gap/lib/matring.g index 5ce9e009..a094d0b9 100644 --- a/gap/lib/matring.g +++ b/gap/lib/matring.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: matring.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/matrix.g b/gap/lib/matrix.g index 5efa9162..aed8a4bc 100644 --- a/gap/lib/matrix.g +++ b/gap/lib/matrix.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: matrix.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/module.g b/gap/lib/module.g index ebcdd4f1..b40ccb35 100644 --- a/gap/lib/module.g +++ b/gap/lib/module.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: module.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/monomial.g b/gap/lib/monomial.g index 171ae4d7..4f764db8 100644 --- a/gap/lib/monomial.g +++ b/gap/lib/monomial.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: monomial.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/morpheus.g b/gap/lib/morpheus.g index 1db8c97b..369ca10d 100644 --- a/gap/lib/morpheus.g +++ b/gap/lib/morpheus.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: morpheus.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/namespaces.g b/gap/lib/namespaces.g index d0692ceb..f7180172 100644 --- a/gap/lib/namespaces.g +++ b/gap/lib/namespaces.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: namespaces.g 10054 2011-03-04 17:16:55Z yvoronen $"); GlobalPackage(spiral.namespaces); diff --git a/gap/lib/newpackage.g b/gap/lib/newpackage.g index 8a00ecf7..86c779e5 100644 --- a/gap/lib/newpackage.g +++ b/gap/lib/newpackage.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: newpackage.g 10055 2011-03-04 17:18:14Z yvoronen $"); SPIRAL_DIR := Conf("spiral_dir"); if ContainsElement(SPIRAL_DIR, ' ') then diff --git a/gap/lib/numfield.g b/gap/lib/numfield.g index d9228b3d..d191f5d3 100644 --- a/gap/lib/numfield.g +++ b/gap/lib/numfield.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: numfield.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/numtheor.g b/gap/lib/numtheor.g index 0fcf2f0a..38e896a4 100644 --- a/gap/lib/numtheor.g +++ b/gap/lib/numtheor.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: numtheor.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/onecohom.g b/gap/lib/onecohom.g index 9aeedebb..a769a3df 100644 --- a/gap/lib/onecohom.g +++ b/gap/lib/onecohom.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: onecohom.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/operatio.g b/gap/lib/operatio.g index ef6c3b4b..3a406b03 100644 --- a/gap/lib/operatio.g +++ b/gap/lib/operatio.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: operatio.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/package.g b/gap/lib/package.g index e795a25d..ec9b24d8 100644 --- a/gap/lib/package.g +++ b/gap/lib/package.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: package.g 4273 2007-04-05 17:19:32Z yvoronen $"); PkgCVS := pkg -> List(Filtered(FileManager.files, x->x.pkg=pkg), x->x.id); diff --git a/gap/lib/permag.g b/gap/lib/permag.g index 47650456..a40d0cda 100644 --- a/gap/lib/permag.g +++ b/gap/lib/permag.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: permag.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/permbckt.g b/gap/lib/permbckt.g index b703deba..b2eb8a65 100644 --- a/gap/lib/permbckt.g +++ b/gap/lib/permbckt.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: permbckt.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/permcose.g b/gap/lib/permcose.g index cff76f3b..3710f430 100644 --- a/gap/lib/permcose.g +++ b/gap/lib/permcose.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: permcose.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/permcser.g b/gap/lib/permcser.g index 5e81d24c..e5560f56 100644 --- a/gap/lib/permcser.g +++ b/gap/lib/permcser.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: permcser.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/permctbl.g b/gap/lib/permctbl.g index 23cc62d3..163367fe 100644 --- a/gap/lib/permctbl.g +++ b/gap/lib/permctbl.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: permctbl.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/permgrp.g b/gap/lib/permgrp.g index f89dfe76..a621717d 100644 --- a/gap/lib/permgrp.g +++ b/gap/lib/permgrp.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: permgrp.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/permhomo.g b/gap/lib/permhomo.g index d2dd44fd..291d1afb 100644 --- a/gap/lib/permhomo.g +++ b/gap/lib/permhomo.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: permhomo.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/permnorm.g b/gap/lib/permnorm.g index 56b777c0..1b597520 100644 --- a/gap/lib/permnorm.g +++ b/gap/lib/permnorm.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: permnorm.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/permoper.g b/gap/lib/permoper.g index 7eb0e6e7..c23d5f93 100644 --- a/gap/lib/permoper.g +++ b/gap/lib/permoper.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: permoper.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/permprod.g b/gap/lib/permprod.g index 31c8a6f8..2a70c1b3 100644 --- a/gap/lib/permprod.g +++ b/gap/lib/permprod.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: permprod.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/permstbc.g b/gap/lib/permstbc.g index 37139421..e74c322b 100644 --- a/gap/lib/permstbc.g +++ b/gap/lib/permstbc.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: permstbc.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/permutat.g b/gap/lib/permutat.g index 8f64a091..147d6874 100644 --- a/gap/lib/permutat.g +++ b/gap/lib/permutat.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: permutat.g 1667 2005-05-29 08:03:20Z uyvorone $"); GlobalPackage(gap.perm); ############################################################################# diff --git a/gap/lib/polyfin.g b/gap/lib/polyfin.g index 9e03e286..b8e3bb61 100644 --- a/gap/lib/polyfin.g +++ b/gap/lib/polyfin.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: polyfin.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/polyfld.g b/gap/lib/polyfld.g index dcec6656..0f441f91 100644 --- a/gap/lib/polyfld.g +++ b/gap/lib/polyfld.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: polyfld.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/polynom.g b/gap/lib/polynom.g index aa057550..5a07c7e8 100644 --- a/gap/lib/polynom.g +++ b/gap/lib/polynom.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: polynom.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/polyrat.g b/gap/lib/polyrat.g index f83e16a4..d98ec32a 100644 --- a/gap/lib/polyrat.g +++ b/gap/lib/polyrat.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: polyrat.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/polystff.g b/gap/lib/polystff.g index 37a1722b..7ec31d58 100644 --- a/gap/lib/polystff.g +++ b/gap/lib/polystff.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: polystff.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/pq.g b/gap/lib/pq.g index c18f6b21..65c74ae9 100644 --- a/gap/lib/pq.g +++ b/gap/lib/pq.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: pq.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/ratclass.g b/gap/lib/ratclass.g index 6dffdc12..d80a628f 100644 --- a/gap/lib/ratclass.g +++ b/gap/lib/ratclass.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ratclass.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/rational.g b/gap/lib/rational.g index f7912ffd..56d6df1c 100644 --- a/gap/lib/rational.g +++ b/gap/lib/rational.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: rational.g 1667 2005-05-29 08:03:20Z uyvorone $"); GlobalPackage(gap.rat); ############################################################################# diff --git a/gap/lib/ring.g b/gap/lib/ring.g index 2e898957..72310214 100644 --- a/gap/lib/ring.g +++ b/gap/lib/ring.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: ring.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/rowmodul.g b/gap/lib/rowmodul.g index 57d5574c..fdef61ba 100644 --- a/gap/lib/rowmodul.g +++ b/gap/lib/rowmodul.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: rowmodul.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/rowspace.g b/gap/lib/rowspace.g index 8f51fe16..01ff5eff 100644 --- a/gap/lib/rowspace.g +++ b/gap/lib/rowspace.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: rowspace.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## @@ -14,20 +13,6 @@ CVSID("$Id: rowspace.g 1667 2005-05-29 08:03:20Z uyvorone $"); ## ## This file contains functions for row spaces. ## -## $Log$ -## Revision 1.2 2005/05/29 08:03:19 uyvorone -## Added CVSID everywhere -## -## Revision 1.1.1.1 2001/06/18 16:13:05 vorik -## -## -## Revision 1.2 1997/10/15 10:13:50 gap -## Fixes by TB and VF -## -## Revision 1.1.1.1 1996/12/11 12:37:39 werner -## Preparing 3.4.4 for release -## -## ############################################################################# #T diff --git a/gap/lib/saggroup.g b/gap/lib/saggroup.g index 4dc53a2a..94523432 100644 --- a/gap/lib/saggroup.g +++ b/gap/lib/saggroup.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: saggroup.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/sagsbgrp.g b/gap/lib/sagsbgrp.g index 9be0bbee..136544ff 100644 --- a/gap/lib/sagsbgrp.g +++ b/gap/lib/sagsbgrp.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: sagsbgrp.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/save.g b/gap/lib/save.g index fe63a030..7d4149e2 100644 --- a/gap/lib/save.g +++ b/gap/lib/save.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: save.g 2031 2005-10-27 17:56:54Z yvoronen $"); GlobalPackage(spiral.util); diff --git a/gap/lib/sq.g b/gap/lib/sq.g index ab9b4fb7..c49c1b3f 100644 --- a/gap/lib/sq.g +++ b/gap/lib/sq.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: sq.g 1682 2005-05-29 09:52:04Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/sqstuff.g b/gap/lib/sqstuff.g index 7041c197..53fcd1c9 100644 --- a/gap/lib/sqstuff.g +++ b/gap/lib/sqstuff.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: sqstuff.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/string.g b/gap/lib/string.g index 39fb4755..8228be5f 100644 --- a/gap/lib/string.g +++ b/gap/lib/string.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: string.g 5072 2007-09-17 05:34:47Z dbakshee $"); GlobalPackage(gap.string); diff --git a/gap/lib/sys_conf.g b/gap/lib/sys_conf.g index a1f6e1a7..c9c305de 100644 --- a/gap/lib/sys_conf.g +++ b/gap/lib/sys_conf.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: sys_conf.g 5440 2007-11-06 22:12:05Z dbakshee $"); GlobalPackage(spiral.sys); diff --git a/gap/lib/tom.g b/gap/lib/tom.g index f6bf235a..e7195979 100644 --- a/gap/lib/tom.g +++ b/gap/lib/tom.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: tom.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## diff --git a/gap/lib/util.g b/gap/lib/util.g index 9aa1cabd..c60f0ac2 100644 --- a/gap/lib/util.g +++ b/gap/lib/util.g @@ -1,6 +1,5 @@ # -*- Mode: shell-script -*- -CVSID("$Id: util.g 10141 2011-05-11 23:04:49Z vlad $"); GlobalPackage(spiral.util); Declare(IntString); diff --git a/gap/lib/vecspace.g b/gap/lib/vecspace.g index 1885ee77..519d7511 100644 --- a/gap/lib/vecspace.g +++ b/gap/lib/vecspace.g @@ -1,5 +1,4 @@ # -*- Mode: shell-script -*- -CVSID("$Id: vecspace.g 1667 2005-05-29 08:03:20Z uyvorone $"); ############################################################################# ## @@ -14,17 +13,6 @@ CVSID("$Id: vecspace.g 1667 2005-05-29 08:03:20Z uyvorone $"); ## ## This file contains all polymorph functions for vector spaces. ## -## $Log$ -## Revision 1.2 2005/05/29 08:03:20 uyvorone -## Added CVSID everywhere -## -## Revision 1.1.1.1 2001/06/18 16:13:06 vorik -## -## -## Revision 1.1.1.1 1996/12/11 12:37:58 werner -## Preparing 3.4.4 for release -## -## ############################################################################# @@ -1011,10 +999,8 @@ end; #E Emacs . . . . . . . . . . . . . . . . . . . . . . . local emacs variables ## ## Local Variables: -## mode: outline ## outline-regexp: "#F\\|#V\\|#E" -## fill-column: 73 +## fill-column: 78 ## fill-prefix: "## " -## eval: (hide-body) ## End: ## diff --git a/gap/src/CMakeLists.txt b/gap/src/CMakeLists.txt index 49772457..3913e794 100644 --- a/gap/src/CMakeLists.txt +++ b/gap/src/CMakeLists.txt @@ -12,14 +12,29 @@ cmake_minimum_required(VERSION ${CMAKE_MINIMUM_REQUIRED_VERSION}) set(SYSSRCS_COMPILE_DEFNS SYS_HAS_TIME_PROTO SYS_HAS_IOCTL_PROTO SYS_HAS_READ_PROTO SYS_HAS_MISC_PROTO -) + ) + +message(STATUS "CMAKE_HOST_APPLE = ${CMAKE_HOST_APPLE}") if (WIN32) list (APPEND SYSSRCS_COMPILE_DEFNS SYS_HAS_MALLOC_PROTO SYS_HAS_STRING_PROTO) else() - list (APPEND SYSSRCS_COMPILE_DEFNS SYS_IS_USG SYS_HAS_SIG_T=void) + ## Not Windows ... linux or Darwin/Mac + if (${CMAKE_HOST_APPLE}) + list (APPEND SYSSRCS_COMPILE_DEFNS SYS_IS_BSD) + else () + list (APPEND SYSSRCS_COMPILE_DEFNS SYS_IS_USG SYS_HAS_SIG_T=void) + endif () +endif() + +## Is this a 64 bit processor? +cmake_host_system_information(RESULT PROCIS64BIT QUERY IS_64BIT) +message (STATUS "Processor is 64 bit = ${PROCIS64BIT}") +if (${PROCIS64BIT} EQUAL 1) + set(SPIRAL_COMPILE_DEFNS SYS_IS_64_BIT) +else() + set(SPIRAL_COMPILE_DEFNS ) endif() - -set(SPIRAL_COMPILE_DEFNS SYS_IS_64_BIT) + if (WIN32) list(APPEND SPIRAL_COMPILE_DEFNS WIN32 WIN64 YY_NO_UNISTD_H _USE_MATH_DEFINES _CONSOLE inline=__inline) @@ -56,7 +71,6 @@ set(SOURCES read.c eval.c spiral_delay_ev.c - spiral_cmath.c spiral_fft.c spiral_spl_prog.c spiral.c @@ -166,7 +180,6 @@ set(SOURCES set.h spiral.h spiral_bag_list.h - spiral_cmath.h spiral_delay_ev.h spiral_fft.h spiral_fft.h diff --git a/gap/src/args.c b/gap/src/args.c index 2b058927..f164282c 100644 --- a/gap/src/args.c +++ b/gap/src/args.c @@ -21,7 +21,6 @@ #include "gstring.h" #include "idents.h" #include "plist.h" -#include "spiral_cmath.h" #include "record.h" #include "tables.h" #include "args.h" diff --git a/gap/src/gap.c b/gap/src/gap.c index 9fb518ea..6f91858e 100644 --- a/gap/src/gap.c +++ b/gap/src/gap.c @@ -2295,15 +2295,6 @@ void InitGap ( int * pargc, char *** pargv ) { InitGlobalBag(&HdDbgStackRoot, "HdDbgStackRoot"); - hd = FindIdent( "VERSRC" ); - version = "v3r4p0 1994/07/10"; - SET_BAG(hd, 0, NewBag( T_STRING, SyStrlen(version)+1 ) ); - SyStrncat( (char*)PTR_BAG(PTR_BAG(hd)[0]), version, SyStrlen(version)+1 ); - hd = FindIdent( "VERSYS" ); - version = SyFlags; - SET_BAG(hd, 0, NewBag( T_STRING, SyStrlen(version)+1 ) ); - SyStrncat( (char*)PTR_BAG(PTR_BAG(hd)[0]), version, SyStrlen(version)+1 ); - hd = FindIdent( "LIBNAME" ); SET_BAG(hd, 0, NewBag( T_STRING, (UInt)(SyStrlen(SyLibname)+1) ) ); SyStrncat( (char*)PTR_BAG(PTR_BAG(hd)[0]), SyLibname, SyStrlen(SyLibname) ); diff --git a/gap/src/gasman.g b/gap/src/gasman.g index 560f2758..bea8f867 100644 --- a/gap/src/gasman.g +++ b/gap/src/gasman.g @@ -3,7 +3,7 @@ LiveBags := function() local B, E, dead, a; [B,E,dead] := BagBounds(); - return Difference(B + 4*[1..(E-B)/4], dead); + return Difference(B + 8*[1..(E-B)/8], dead); end; BagStats := function(bags) diff --git a/gap/src/integer4.c b/gap/src/integer4.c index 65ff88b3..336888da 100644 --- a/gap/src/integer4.c +++ b/gap/src/integer4.c @@ -84,8 +84,6 @@ ** Base 10000 would have the advantage that printing is very much easier, ** but 'PrInt' keeps a terminal at 9600 baud busy for almost all integers. */ -const char* GAP4_Revision_integer_c = -"@(#)Id: integer.c,v 4.58 2002/04/22 13:53:06 sal Exp"; #include "system.h" /* GAP3 system package */ #include "objects.h" @@ -96,10 +94,7 @@ const char* GAP4_Revision_integer_c = #include "scanner.h" /* Pr() */ #include "integer.h" #include - -#define INCLUDE_DECLARATION_PART #include "integer4.h" /* integers */ -#undef INCLUDE_DECLARATION_PART /* GAP3 only has Error() */ #define ErrorReturnObj(err_msg, arg1, arg2, msg) \ diff --git a/gap/src/integer4.h b/gap/src/integer4.h index c7481467..46c7d21b 100644 --- a/gap/src/integer4.h +++ b/gap/src/integer4.h @@ -13,10 +13,6 @@ ** ** This file declares the functions handling arbitrary size integers. */ -#ifdef INCLUDE_DECLARATION_PART -const char * GAP4_Revision_integer_h = - "@(#)Id: integer.h,v 4.10 2002/04/15 10:03:50 sal Exp"; -#endif /**************************************************************************** diff --git a/gap/src/memmgr.c b/gap/src/memmgr.c index 153bf7f1..617734b4 100644 --- a/gap/src/memmgr.c +++ b/gap/src/memmgr.c @@ -43,13 +43,7 @@ #include #include "system.h" /* system dependent functions */ #include "scanner.h" /* Pr() */ - -#define INCLUDE_DECLARATION_PART -#define __DGC_H__ #include "memmgr.h" /* declaration part of the package */ -#undef __DGC_H__ -#undef INCLUDE_DECLARATION_PART - #include "GapUtils.h" #include diff --git a/gap/src/memmgr.h b/gap/src/memmgr.h index 361111ea..5fae86d6 100644 --- a/gap/src/memmgr.h +++ b/gap/src/memmgr.h @@ -871,14 +871,6 @@ extern BagPtr_t * GlobalByCookie( const Char * cookie ); ** happen to look like references. */ -#ifdef INCLUDE_DECLARATION_PART -/* The following is the base revision, where this version of GASMAN/GAP4 */ -/* was branched out for SPIRAL (based on GAP3) */ -const char * GAP4_Revision_gasman_h = - "@(#)Id: gasman.h,v 4.23 2002/04/15 10:03:49 sal Exp"; -#endif -extern const char * Revision_gasman_h; /* gap.c uses this. */ -extern const char * Revision_gasman_c; /* * This definition switches to the bigger bag header, supporting bags up to diff --git a/gap/src/spiral.c b/gap/src/spiral.c index 1b004afb..5c640f14 100644 --- a/gap/src/spiral.c +++ b/gap/src/spiral.c @@ -3,6 +3,7 @@ #ifdef WIN32 #include #endif +#include #include "system.h" /* system dependent functions */ #include "memmgr.h" /* Bag, NewBag, T_STRING, .. */ #include "idents.h" @@ -1032,6 +1033,22 @@ Obj FunPathRelativeToSPIRAL( Obj hdCall ) { return hdRes; } + +/**************************************************************************** +** +*F Version() +** +** Returns version string generated during build +*/ + +Obj FunVersion(Obj hdCall) { + Obj hdRes; + hdRes = StringToHd(SPIRAL_VERSION_STRING); + return hdRes; +} + + + /**************************************************************************** ** *F GetPromptString( char* RecFieldName) . . . . . .looking for prompt string @@ -1296,6 +1313,7 @@ void InitSPIRAL (void) { InstIntFunc( "Pkg", FunPkg); InstIntFunc( "Reachability", FunReachability); InstIntFunc( "PathRelativeToSPIRAL", FunPathRelativeToSPIRAL ); + InstIntFunc( "Version", FunVersion); IdentAssign( "NULL", HdVoid); IdentAssign( "HdStack", HdStack); InstIntFunc( "HdExec", FunHdExec); diff --git a/gap/src/string4.c b/gap/src/string4.c index 5de7685b..d6217c74 100644 --- a/gap/src/string4.c +++ b/gap/src/string4.c @@ -1,13 +1,9 @@ -const char * GAP4_Revision_string_c = - "@(#)Id: string.c,v 4.67 2002/04/15 10:03:58 sal Exp"; #include "system.h" /* system dependent part */ #include "memmgr.h" /* garbage collector */ #include "objects.h" /* objects */ +#include "string4.h" -#define INCLUDE_DECLARATION_PART -#include "string4.h" -#undef INCLUDE_DECLARATION_PART /**************************************************************************** ** diff --git a/gap/src/string4.h b/gap/src/string4.h index 200d0671..f7eab3b6 100644 --- a/gap/src/string4.h +++ b/gap/src/string4.h @@ -23,10 +23,6 @@ ** ** This package also contains the list function for ranges, which are ** installed in the appropriate tables by 'InitString'. */ -#ifdef INCLUDE_DECLARATION_PART -const char * GAP4_Revision_string_h = - "@(#)Id: string.h,v 4.17 2002/04/15 10:03:58 sal Exp"; -#endif #include /* for memcpy */ diff --git a/gap/src/sys_conf_wrap.c b/gap/src/sys_conf_wrap.c index 01f785f6..6a8fb4f4 100644 --- a/gap/src/sys_conf_wrap.c +++ b/gap/src/sys_conf_wrap.c @@ -35,7 +35,6 @@ #include "spiral.h" #include "plist.h" #include "args.h" -#include "spiral_cmath.h" #include "double.h" #include "GapUtils.h" diff --git a/gap/src/system.c b/gap/src/system.c index 33ae36d0..3f8868c0 100644 --- a/gap/src/system.c +++ b/gap/src/system.c @@ -1,106 +1,11 @@ /**************************************************************************** ** -*A system.c GAP source Martin Schoenert -*A & Frank Celler (MACH) -*A & Steve Linton (MS-DOS) -*A & Harald Boegeholz (OS/2) -*A & Paul Doyle (VMS) -*A & Dave Bayer (MAC) -*A & Burkhard Hoefling (MAC) -** -** *Y Copyright (C) 2018-2019, Carnegie Mellon University *Y All rights reserved. See LICENSE for details. *Y *Y This work is based on GAP version 3, with some files from version 4. GAP is *Y Copyright (C) (1987--2019) by the GAP Group (www.gap-system.org). ** -** The file 'system.c' contains all operating system dependent functions. -** The following labels determine which operating system is actually used. -** -** SYS_IS_BSD -** For Berkeley UNIX systems, such as 4.2 BSD, 4.3 BSD, free 386BSD, -** and DEC's Ultrix. -** -** SYS_IS_USG -** For System V UNIX systems, such as SUN's SunOS 4.0, Hewlett Packard's -** HP-UX, Masscomp's RTU, free Linux, and MIPS Risc/OS. -** -** SYS_IS_MACH -** For Mach derived systems, such as NeXT's NextStep. -** -** SYS_IS_OS2_EMX -** For OS/2 2.x and DOS with the EMX port of the GNU C compiler. -** -** SYS_IS_MSDOS_DJGPP -** For MS-DOS with Delories port of the GNU C compiler. -** -** SYS_IS_TOS_GCC2 -** For Atari's TOS with the port of the GNU C compiler. -** -** SYS_IS_VMS -** For DEC's VMS 5.0 or later with the VAX C compiler 3.0 or later. -** -** SYS_IS_MAC_MPW -** For Apple's Macintosh with the Mac Programmers Workshop compiler. -** -** SYS_IS_MAC_SYC -** For Apple's Macintosh with the Symantec C++ 7.0 (or Think C 6.0) -** compiler. -** -** Also the file contains prototypes for all the system calls and/or library -** function used as defined in ``Harbison & Steele, A C Reference Manual''. -** -** If there is a prototype in an include file and it does not agree with -** this one, then the compiler will signal an error or warning, and you can -** manually check whether the incompatibility is critical or quite harmless. -** If there is a prototype in an include file and it agrees with this one, -** then the compiler will be silent. If there is no prototype in an include -** file, the compiler cannot check, but then the prototype does no harm. -** -** Unfortunately there can be some incompatibilities with the prototypes in -** the include files. To overcome this difficulties it is possible to -** change or undefine the prototypes with the following symbols. They -** should be added to the 'Makefile' if neccessary. -** -** SYS_HAS_ANSI= -** Some functions have different prototypes in ANSI and traditional C. -** For compilers that are ANSI the default uses the ANSI prototypes, -** and you use the traditional prototypes by defining 'SYS_HAS_ANSI=0'. -** For non ANSI compilers the default uses the traditional prototypes, -** and you can use the ANSI prototypes by defining 'SYS_HAS_ANSI=1'. -** -** SYS_HAS_CONST= -** Some functions do not modifiy some of their arguments, and have -** thus 'const' qualifiers for those arguments in their prototypes. -** For compilers that are ANSI the default uses the const qualifiers, -** and you can remove the const qualifiers by defining 'SYS_HAS_CONST='. -** For compilers that are not ANSI the default does not use the const -** qualifiers and you can use them by defining 'SYS_HAS_CONST=const'. -** -** SYS_HAS_SIG_T= -** Use this to define the type of the value returned by signal handlers. -** This should be either 'void' (default, ANSI C) or 'int' (older UNIX). -** -** SYS_HAS_STRING_PROTO -** Use this to undefine the prototypes for 'strncat', 'strcmp', and -** 'strlen'. -** -** SYS_HAS_TIME_PROTO -** Use this to undefine the prototypes for 'time', 'times', and -** 'getrusage'. -** -** SYS_HAS_MALLOC_PROTO -** Use this to undefine the prototypes for 'malloc' and 'free'. -** -** SYS_HAS_MISC_PROTO -** Use this to undefine the prototypes for 'exit', 'system', 'tmpnam', -** 'sbrk', 'getenv', 'atoi', 'isatty', and 'ttyname'. -** -** SYS_HAS_BROKEN_STRNCAT -** Use this if your 'strncat' is broken. At least in SCO ODT2.0 -** (SVR3.2) 'strncat' has problems if the len is a multiple of 4. -** */ #include @@ -154,103 +59,6 @@ extern int CURR_INTERFACE; extern struct gap_iface gap_interface[]; -/**************************************************************************** -** -*V SyFlags . . . . . . . . . . . . . . . . . . . . flags used when compiling -** -** 'SyFlags' is the name of the target for which GAP was compiled. -** -** It is '[bsd|mach|usg|os2|msdos|tos|vms|mac] [gcc|emx|djgpp|mpw|syc] [ansi]'. -** -** It is used in 'InitGap' for the 'VERSYS' variable. -*/ -char SyFlags [] = { - -#ifdef SYS_IS_BSD - 'b', 's', 'd', -# define SYS_BSD 1 -#else -# define SYS_BSD 0 -#endif - -#ifdef SYS_IS_MACH - 'm', 'a', 'c', 'h', -# define SYS_MACH 1 -#else -# define SYS_MACH 0 -#endif - -#ifdef SYS_IS_USG - 'u', 's', 'g', -# define SYS_USG 1 -#else -# define SYS_USG 0 -#endif - -#ifdef WIN32 - 'w', 'i', 'n', '3', '2', -#endif - -#ifdef SYS_IS_OS2_EMX - 'o', 's', '2', ' ', 'e', 'm', 'x', -# define SYS_OS2_EMX 1 -#else -# define SYS_OS2_EMX 0 -#endif - -#ifdef SYS_IS_MSDOS_DJGPP - 'm', 's', 'd', 'o', 's', ' ', 'd', 'j', 'g', 'p', 'p', -# define SYS_MSDOS_DJGPP 1 -#else -# define SYS_MSDOS_DJGPP 0 -#endif - -#ifdef SYS_IS_TOS_GCC2 - 't', 'o', 's', ' ', 'g', 'c', 'c', '2', -# define SYS_TOS_GCC2 1 -#else -# define SYS_TOS_GCC2 0 -#endif - -#ifdef SYS_IS_VMS - 'v', 'm', 's', -# define SYS_VMS 1 -#else -# define SYS_VMS 0 -#endif - -#ifdef __MWERKS__ -# define SYS_IS_MAC_MPW -# define SYS_HAS_CALLOC_PROTO -#endif - -#ifdef SYS_IS_MAC_MPW - 'm', 'a', 'c', ' ', 'm', 'p', 'w', -# define SYS_MAC_MPW 1 -#else -# define SYS_MAC_MPW 0 -#endif - -#ifdef SYS_IS_MAC_SYC - 'm', 'a', 'c', ' ', 's', 'y', 'c', -# define SYS_MAC_SYC 1 -#else -# define SYS_MAC_SYC 0 -#endif - -#if __GNUC__ - ' ', 'g', 'c', 'c', -#endif -#if SYS_ANSI - ' ', 'a', 'n', 's', 'i', -#endif - -#ifdef SYS_HAS_BROKEN_STRNCAT - ' ', 's', 't', 'r', 'n', 'c', 'a', 't', -#endif - - '\0' }; - /**************************************************************************** ** @@ -258,18 +66,10 @@ char SyFlags [] = { ** ** 'SyStackSpace' is the amount of stackspace that GAP gets. ** -** Under TOS and on the Mac special actions must be taken to ensure that +** On the Mac special actions must be taken to ensure that ** enough space is available. */ -#if SYS_TOS_GCC2 -# define __NO_INLINE__ -int _stksize = 64 * 1024; /* GNU C, amount of stack space */ -Int SyStackSpace = 64 * 1024; -#endif -#if SYS_MAC_MPW || SYS_MAC_SYC -Int SyStackSpace = 64 * 1024; -#endif /**************************************************************************** @@ -292,18 +92,9 @@ Int SyStackSpace = 64 * 1024; ** ** Put in this package because the command line processing takes place here. */ -#if SYS_BSD || SYS_MACH || SYS_USG || SYS_OS2_EMX +#if SYS_BSD || SYS_USG char SyLibname [2048] = "lib/"; #endif -#if SYS_MSDOS_DJGPP || SYS_TOS_GCC2 -char SyLibname [2048] = "lib\\"; -#endif -#if SYS_VMS -char SyLibname [2048] = "[.lib]"; -#endif -#if SYS_MAC_MPW || SYS_MAC_SYC -char SyLibname [2048] = ":lib:"; -#endif #if WIN32 char SyLibname [2048] = ""; #endif @@ -414,40 +205,13 @@ Int SyMemMgrTrace = 0; ** ** Put in this package because the command line processing takes place here. */ -#if SYS_BSD || SYS_MACH || SYS_USG || SYS_OS2_EMX -Int SyMemory = 4 * 1024 * 1024; -#endif -#if SYS_MSDOS_DJGPP -Int SyMemory = 4 * 1024 * 1024; -#endif -#if SYS_TOS_GCC2 -Int SyMemory = 0; -#endif -#if SYS_VMS +#if SYS_BSD || SYS_USG Int SyMemory = 4 * 1024 * 1024; #endif -#if SYS_MAC_MPW || SYS_MAC_SYC -Int SyMemory = 0; -#endif #if WIN32 Int SyMemory = 4 * 1024 * 1024; #endif -/**************************************************************************** -** -*V SyXmallocMemPool . . . . . . . memory pool size for xmalloc/xfree family -** -** 'SyXmallocMemPool' sets the size of the memory pool for xmalloc/xfree -** functions to allocate memory from. It is allocated before GASMAN, so that -** it does not interfere with GAP workspace extension thru sbrk. -** -** xmalloc memory pool is static and can not grow. It is used by most SPIRAL -** related GAP extensions. -** -** The value os 'SyXmallocMemPool' can be changed with '-s' command line -** option. Default value is 4 Mb. -*/ -Int SyXmallocMemPool = 4 * 1024 * 1024; /**************************************************************************** ** @@ -521,22 +285,6 @@ UInt syStopTime; # define SYS_STRING_H #endif -#if 0 // MRT protos conflict w/ stuff in string.h - -#ifndef SYS_HAS_STRING_PROTO /* ANSI/TRAD decl. from H&S 13 */ -# if SYS_ANSI -extern char * strncat ( char *, SYS_CONST char *, size_t ); -extern int strcmp ( SYS_CONST char *, SYS_CONST char * ); -extern size_t strlen ( SYS_CONST char * ); -# else -extern char * strncat ( char *, SYS_CONST char *, int ); -extern int strcmp ( SYS_CONST char *, SYS_CONST char * ); -extern int strlen ( SYS_CONST char * ); -# endif -#endif - -#endif // 0 MRT - Int SyStrlen (const char * str ) { return strlen( str ); @@ -566,25 +314,11 @@ Int SyStrcmp (const char * str1,const char * str2 ) ** becomes the concatenation of and . The resulting string ** is always null terminated. 'SyStrncat' returns a pointer to . */ -#ifdef SYS_HAS_BROKEN_STRNCAT -char * SyStrncat (char * dst, const char *src, Int len ) -{ - char * p; - char * q; - - for ( p = dst; *p; p++ ) - ; - for ( q = src; *q && 0 < len; len-- ) - *p++ = *q++; - *p = 0; - return dst; -} -#else char * SyStrncat (char * dst,const char * src, Int len ) { return strncat( dst, src, len ); } -#endif + char * SyStrncpy (char * dst, const char *src, Int len ) { @@ -727,7 +461,6 @@ Int SyChDir(const char* filename) unsigned long long SyFmtime(char *filename) { -#if 1 struct stat s; /* try to stat the file */ @@ -736,9 +469,6 @@ unsigned long long SyFmtime(char *filename) } return (unsigned long long) s.st_mtime; -#else - return 0; -#endif } @@ -812,9 +542,6 @@ UInt SyGetPid(void) extern int syStartraw ( Int fid ); extern void syStopraw ( Int fid ); extern int syGetch ( Int fid ); -#if SYS_MAC_SYC -extern int syGetch2 ( Int fid, int cur ); -#endif extern void syEchoch ( int ch, Int fid ); extern void syEchos ( char * str, Int fid ); @@ -948,12 +675,7 @@ char * SyFgets (char line[], Int length, Int fid ) do { if ( syCTRO % 2 == 1 ) { ch = CTR('N'); syCTRO = syCTRO - 1; } else if ( syCTRO != 0 ) { ch = CTR('O'); rep = syCTRO / 2; } -#if ! SYS_MAC_SYC else ch = syGetch(fid); -#endif -#if SYS_MAC_SYC - else ch = syGetch2(fid,*p); -#endif //printf("---->%d<-----\n", (unsigned long)ch); #ifndef WIN32_CTRLV_SUPPORT if ( ch2==0 && ch==CTR('V') ) { ch2=ch; ch=0;} @@ -1770,7 +1492,7 @@ char * SyFgets (char line[], Int length, Int fid ) ** instead we catch the signal, so that we can turn the terminal line back ** to cooked mode before stopping GAP and back to raw mode when continueing. */ -#if SYS_BSD || SYS_MACH +#if SYS_BSD #ifndef SYS_SGTTY_H /* terminal control functions */ # include @@ -2105,299 +1827,98 @@ void syEchos ( char *str, Int fid ) /** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** -** OS/2 is almost the same as UNIX System V, except for function keys. +** For MS-DOS we read directly from the keyboard. +** Note that the window handler is not currently supported. */ -#if SYS_OS2_EMX +#if WIN32 -#ifndef SYS_TERMIO_H /* terminal control functions */ -# include -# define SYS_TERMIO_H -#endif +#ifdef WIN32 +#include +#include -struct termio syOld, syNew; /* old and new terminal state */ +#undef read +#define read _read +#undef isatty +#define isatty _isatty +#undef write +#define write _write -#ifndef SYS_SIGNAL_H /* signal handling functions */ -# include -# ifdef SYS_HAS_SIG_T -# define SYS_SIG_T SYS_HAS_SIG_T -# else -# define SYS_SIG_T void -# endif -# define SYS_SIGNAL_H -typedef SYS_SIG_T sig_handler_t ( int ); +# define GETKEY() getch() +# define PUTCHAR(C) putchar(C) +# define KBHIT() kbhit() +# define SYS_KBD_H #endif -#ifdef SIGTSTP - -Int syFid; - -SYS_SIG_T syAnswerCont ( int signr ) -{ - syStartraw( syFid ); - signal( SIGCONT, SIG_DFL ); - kill( getpid(), SIGCONT ); -#ifdef SYS_HAS_SIG_T - return 0; /* is ignored */ +#ifndef SYS_KBD_H /* keyboard functions */ +# include +# define GETKEY() getkey() +# define PUTCHAR(C) putchar(C) +# define KBHIT() kbhit() +# define SYS_KBD_H #endif -} -SYS_SIG_T syAnswerTstp ( int signr ) -{ - syStopraw( syFid ); - signal( SIGCONT, syAnswerCont ); - kill( getpid(), SIGTSTP ); -#ifdef SYS_HAS_SIG_T - return 0; /* is ignored */ -#endif -} +UInt syStopout; /* output is stopped by -'S' */ -#endif +char syTypeahead [256]; /* characters read by 'SyIsIntr' */ + +char syAltMap [35] = "QWERTYUIOP ASDFGHJKL ZXCVBNM"; int syStartraw ( Int fid ) { - /* if running under a window handler, tell it that we want to read */ - if ( syWindow ) { - if ( fid == 0 ) { syWinPut( fid, "@i", "" ); return 1; } - else if ( fid == 2 ) { syWinPut( fid, "@e", "" ); return 1; } - else { return 0; } - } - - /* try to get the terminal attributes, will fail if not terminal */ - if ( ioctl( fileno(syBuf[fid].fp), TCGETA, &syOld ) == -1 ) return 0; - - /* disable interrupt, quit, start and stop output characters */ - syNew = syOld; - syNew.c_cc[VINTR] = 0377; - syNew.c_cc[VQUIT] = 0377; - /*C 27-Nov-90 martin changing 'S' and 'Q' does not work */ - /*C syNew.c_iflag &= ~(IXON|INLCR|ICRNL); */ - syNew.c_iflag &= ~(INLCR|ICRNL); - - /* disable input buffering, line editing and echo */ - syNew.c_cc[VMIN] = 1; - syNew.c_cc[VTIME] = 0; - syNew.c_lflag &= ~(ECHO|ICANON|IDEFAULT); - if ( ioctl( fileno(syBuf[fid].fp), TCSETAW, &syNew ) == -1 ) return 0; - -#ifdef SIGTSTP - /* install signal handler for stop */ - syFid = fid; - signal( SIGTSTP, syAnswerTstp ); -#endif + /* check if the file is a terminal */ + if ( ! isatty( fileno(syBuf[fid].fp) ) ) + return 0; /* indicate success */ return 1; } -void syStopraw ( Int fid ) +void syStopraw ( Int intfid ) { - /* if running under a window handler, don't do nothing */ - if ( syWindow ) - return; - -#ifdef SIGTSTP - /* remove signal handler for stop */ - signal( SIGTSTP, SIG_DFL ); -#endif - - /* enable input buffering, line editing and echo again */ - if ( ioctl( fileno(syBuf[fid].fp), TCSETAW, &syOld ) == -1 ) - fputs("gap: 'ioctl' could not turn off raw mode!\n",stderr); } -#ifndef SYS_KBD_H /* keyboard scan codes */ -# include -# define SYS_KBD_H -#endif - int syGetch ( Int fid ) { - unsigned char ch; - int ch2; + int ch; +#ifdef WIN32 + int ch2; + #define K_LEFT 75 + #define K_RIGHT 77 + #define K_UP 72 + #define K_PAGEUP 73 + #define K_DOWN 80 + #define K_PAGEDOWN 81 + #define K_DEL 83 + #define K_HOME 71 + #define K_END 79 -syGetchAgain: - /* read a character */ - while ( read( fileno(syBuf[fid].fp), &ch, 1 ) != 1 ) - ; - - /* if running under a window handler, handle special characters */ - if ( syWindow && ch == '@' ) { - do { - while ( read(fileno(syBuf[fid].fp), &ch, 1) != 1 ) - ; - } while ( ch < '@' || 'z' < ch ); - if ( ch == 'y' ) { - syWinPut( fileno(syBuf[fid].echo), "@s", "" ); - ch = syGetch(fid); - } - else if ( 'A' <= ch && ch <= 'Z' ) - ch = CTR(ch); - } - - ch2 = ch; - - /* handle function keys */ - if ( ch == '\0' ) { - while ( read( fileno(syBuf[fid].fp), &ch, 1 ) != 1 ) - ; - switch ( ch ) { - case K_LEFT: ch2 = CTR('B'); break; - case K_RIGHT: ch2 = CTR('F'); break; - case K_UP: - case K_PAGEUP: ch2 = CTR('P'); break; - case K_DOWN: - case K_PAGEDOWN: ch2 = CTR('N'); break; - case K_DEL: ch2 = CTR('D'); break; - case K_HOME: ch2 = CTR('A'); break; - case K_END: ch2 = CTR('E'); break; - case K_CTRL_END: ch2 = CTR('K'); break; - case K_CTRL_LEFT: - case K_ALT_B: ch2 = ESC('B'); break; - case K_CTRL_RIGHT: - case K_ALT_F: ch2 = ESC('F'); break; - case K_ALT_D: ch2 = ESC('D'); break; - case K_ALT_DEL: - case K_ALT_BACKSPACE: ch2 = ESC(127); break; - case K_ALT_U: ch2 = ESC('U'); break; - case K_ALT_L: ch2 = ESC('L'); break; - case K_ALT_C: ch2 = ESC('C'); break; - case K_CTRL_PAGEUP: ch2 = ESC('<'); break; - case K_CTRL_PAGEDOWN: ch2 = ESC('>'); break; - default: goto syGetchAgain; - } - } - - /* return the character */ - return ch2; -} - -void syEchoch ( int ch, Int fid ) -{ - char ch2; - - /* write the character to the associate echo output device */ - ch2 = ch; - write( fileno(syBuf[fid].echo), (char*)&ch2, 1 ); - - /* if running under a window handler, duplicate '@' */ - if ( syWindow && ch == '@' ) { - ch2 = ch; - write( fileno(syBuf[fid].echo), (char*)&ch2, 1 ); - } -} - -void syEchos ( char *str, Int fid ) -{ - /* if running under a window handler, send the line to it */ - if ( syWindow && fid < 4 ) - syWinPut( fid, (fid == 1 ? "@n" : "@f"), str ); - - /* otherwise, write it to the associate echo output device */ - else - write( fileno(syBuf[fid].echo), str, SyStrlen(str) ); -} - -#endif - - -/** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -** -** For MS-DOS we read directly from the keyboard. -** Note that the window handler is not currently supported. -*/ -#if SYS_MSDOS_DJGPP || WIN32 - -#ifdef WIN32 - -#include -#include - -#undef read -#define read _read -#undef isatty -#define isatty _isatty -#undef write -#define write _write - -# define GETKEY() getch() -# define PUTCHAR(C) putchar(C) -# define KBHIT() kbhit() -# define SYS_KBD_H -#endif - -#ifndef SYS_KBD_H /* keyboard functions */ -# include -# define GETKEY() getkey() -# define PUTCHAR(C) putchar(C) -# define KBHIT() kbhit() -# define SYS_KBD_H -#endif - -UInt syStopout; /* output is stopped by -'S' */ - -char syTypeahead [256]; /* characters read by 'SyIsIntr' */ - -char syAltMap [35] = "QWERTYUIOP ASDFGHJKL ZXCVBNM"; - -int syStartraw ( Int fid ) -{ - /* check if the file is a terminal */ - if ( ! isatty( fileno(syBuf[fid].fp) ) ) - return 0; - - /* indicate success */ - return 1; -} - -void syStopraw ( Int intfid ) -{ -} - -int syGetch ( Int fid ) -{ - int ch; -#ifdef WIN32 - int ch2; - #define K_LEFT 75 - #define K_RIGHT 77 - #define K_UP 72 - #define K_PAGEUP 73 - #define K_DOWN 80 - #define K_PAGEDOWN 81 - #define K_DEL 83 - #define K_HOME 71 - #define K_END 79 - - #define K_CTRL_LEFT 115 - #define K_CTRL_RIGHT 116 - #define K_CTRL_UP 141 - #define K_CTRL_DOWN 145 - - #define K_F1 59 - #define K_F2 60 - #define K_F3 61 - #define K_F4 62 - #define K_F5 63 - #define K_F6 64 - #define K_F7 65 - #define K_F8 66 - #define K_F9 67 - #define K_F10 68 - #define K_F11 133 - #define K_F12 134 - - ch = GETKEY(); - ch2 = ch; + #define K_CTRL_LEFT 115 + #define K_CTRL_RIGHT 116 + #define K_CTRL_UP 141 + #define K_CTRL_DOWN 145 + + #define K_F1 59 + #define K_F2 60 + #define K_F3 61 + #define K_F4 62 + #define K_F5 63 + #define K_F6 64 + #define K_F7 65 + #define K_F8 66 + #define K_F9 67 + #define K_F10 68 + #define K_F11 133 + #define K_F12 134 + + ch = GETKEY(); + ch2 = ch; /* handle function keys */ if (( ch == '\0' ) || ( ch == 0xe0 )) { ch = GETKEY(); /* define to find the correct numbers for the not yet defined K_... constants experimentally by pressing the keys */ -#if 0 - printf("%d", ch); -#endif switch ( ch ) { case K_LEFT: ch2 = CTR('B'); break; case K_RIGHT: ch2 = CTR('F'); break; @@ -2415,360 +1936,59 @@ int syGetch ( Int fid ) case K_F8: ch2 = ESC(19); break; case K_F10: ch2 = ESC(21); break; case K_F11: ch2 = ESC(23); break; -/* if the constants are defined, activate for extendend UI support */ -#if 0 - case K_CTRL_END: ch2 = CTR('K'); break; - case K_CTRL_LEFT: - case K_ALT_B: ch2 = ESC('B'); break; - case K_CTRL_RIGHT: - case K_ALT_F: ch2 = ESC('F'); break; - case K_ALT_D: ch2 = ESC('D'); break; - case K_ALT_DEL: - case K_ALT_BACKSPACE: ch2 = ESC(127); break; - case K_ALT_U: ch2 = ESC('U'); break; - case K_ALT_L: ch2 = ESC('L'); break; - case K_ALT_C: ch2 = ESC('C'); break; - case K_CTRL_PAGEUP: ch2 = ESC('<'); break; - case K_CTRL_PAGEDOWN: ch2 = ESC('>'); break; -#endif - } - } - return ch2; - -#else - - /* if chars have been typed ahead and read by 'SyIsIntr' read them */ - if ( syTypeahead[0] != '\0' ) { - ch = syTypeahead[0]; - strcpy( syTypeahead, syTypeahead+1 ); - } - - /* otherwise read from the keyboard */ - else { - ch = GETKEY(); - } - - /* postprocess the character */ - if ( 0x110 <= ch && ch <= 0x132 ) ch = ESC( syAltMap[ch-0x110] ); - else if ( ch == 0x147 ) ch = CTR('A'); - else if ( ch == 0x14f ) ch = CTR('E'); - else if ( ch == 0x148 ) ch = CTR('P'); - else if ( ch == 0x14b ) ch = CTR('B'); - else if ( ch == 0x14d ) ch = CTR('F'); - else if ( ch == 0x150 ) ch = CTR('N'); - else if ( ch == 0x153 ) ch = CTR('D'); - else ch &= 0xFF; - - /* return the character */ - return ch; -#endif -} - - - - - - -void syEchoch ( int ch, Int fid ) -{ - PUTCHAR( ch ); -} - -void syEchos ( char *str, Int fid ) -{ - char * s; - - /* handle stopped output */ - while ( syStopout ) syStopout = (GETKEY() == CTR('S')); - - /* echo the string */ - for ( s = str; *s != '\0'; s++ ) - PUTCHAR( *s ); -} - -#endif - - -/** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -** -** For TOS we read directly from the keyboard. -** Note that the window handler is not currently supported. -*/ -#if SYS_TOS_GCC2 - -#ifndef SYS_KBD_H /* keyboard functions */ -# include /* declaration of 'isatty' */ -# include /* operating system binding */ -# define GETKEY() Bconin( 2 ) -# define PUTCHAR(C) do{if(C=='\n')Bconout(2,'\r');Bconout(2,C);}while(0) -# define KBHIT() Bconstat( 2 ) -# define SYS_KBD_H -#endif - -UInt syStopout; /* output is stopped by -'S' */ - -char syTypeahead [256]; /* characters read by 'SyIsIntr' */ - -int syStartraw ( Int fid ) -{ - /* check if the file is a terminal */ - if ( ! isatty( fileno(syBuf[fid].fp) ) ) - return 0; - - /* indicate success */ - return 1; -} - -void syStopraw ( Int fid ) -{ -} - -int syGetch ( Int fid ) -{ - int ch; - - /* if chars have been typed ahead and read by 'SyIsIntr' read them */ - if ( syTypeahead[0] != '\0' ) { - ch = syTypeahead[0]; - strcpy( syTypeahead, syTypeahead+1 ); - } - - /* otherwise read from the keyboard */ - else { - ch = GETKEY(); - } - - /* postprocess the character */ - if ( ch == 0x00480000 ) ch = CTR('P'); - else if ( ch == 0x004B0000 ) ch = CTR('B'); - else if ( ch == 0x004D0000 ) ch = CTR('F'); - else if ( ch == 0x00500000 ) ch = CTR('N'); - else if ( ch == 0x00730000 ) ch = CTR('Y'); - else if ( ch == 0x00740000 ) ch = CTR('Z'); - else ch = ch & 0xFF; - - /* return the character */ - return ch; -} - -void syEchoch ( int ch, Int fid ) -{ - PUTCHAR( ch ); -} - -void syEchos ( char *str, Int fid ) -{ - char * s; - - /* handle stopped output */ - while ( syStopout ) syStopout = (GETKEY() == CTR('S')); - - /* echo the string */ - for ( s = str; *s != '\0'; s++ ) - PUTCHAR( *s ); -} - -#endif - - -/** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -** -** For VMS we use a virtual keyboard to read and write from the unique tty. -** We do not support the window handler. -*/ -#if SYS_VMS - -#ifndef SYS_HAS_MISC_PROTO /* UNIX decl. from 'man' */ -extern int isatty ( int ); -#endif - -unsigned int syVirKbd; /* virtual (raw) keyboard */ - -int syStartraw ( Int fid ) -{ - /* test whether the file is connected to a terminal */ - return isatty( fileno(syBuf[fid].fp) ); -} - -void syStopraw ( Int fid ) -{ -} - -int syGetch ( Int fid ) -{ - char ch; - - /* read a character */ - smg$read_keystroke( &syVirKbd, &ch ); - - /* return the character */ - return ch; -} - -void syEchoch ( int ch, Int fid ) -{ - char ch2; - - /* write the character to the associate echo output device */ - ch2 = ch; - write( fileno(syBuf[fid].echo), (char*)&ch2, 1 ); -} - -void syEchos ( char *str, Int fid ) -{ - write( fileno(syBuf[fid].echo), str, SyStrlen(str) ); -} - -#endif - - -/** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -** -** For the MAC with MPW we do not really know how to do this. -*/ -#if SYS_MAC_MPW - -int syStartraw (Int fid ) -{ - /* clear away pending -'.' */ - SyIsIntr(); - - return 0; -} - -void syStopraw (Int fid ) -{ -} - -int syGetch (Int fid ) -{ -} - -void syEchoch (int ch,Int fid ) -{ -} - -void syEchos (char * str,Int fid ) -{ - char * s; - for ( s = str; *s != '\0'; s++ ) - putchar( *s ); - fflush( stdout ); -} - -#endif - - -/** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -** -** For the MAC with Symantec C we use the console input/output package. -** We must set the console to raw mode and back to echo mode. -** In raw mode there is no cursor, so we reverse the current character. -*/ -#if SYS_MAC_SYC - -#ifndef SYS_UNIX_H /* unix stuff: */ -# include /* 'isatty' */ -# define SYS_UNIX_H -#endif - -#ifndef SYS_CONSOLE_H /* console stuff: */ -# include /* 'csetmode' */ -# define SYS_CONSOLE_H -#endif - -#ifndef SYS_OSUTILS_H /* system utils: */ -# include /* 'SysBeep' */ -# define SYS_OSUTILS_H -#endif - -int syStartraw ( Int fid ) -{ - - /* cannot switch ordinary files to raw mode */ - if ( ! isatty( fileno(syBuf[fid].fp) ) ) - return 0; - - /* turn terminal to raw mode */ - csetmode( C_RAW, syBuf[fid].fp ); - return 1; -} - -void syStopraw ( Int fid ) -{ - /* probably only paranoid */ - if ( isatty( fileno(syBuf[fid].fp) ) ) - return; - - /* turn terminal back to echo mode */ - csetmode( C_ECHO, syBuf[fid].fp ); -} - -int syGetch ( Int fid ) -{ - /* return character */ - return syGetch2( fid, '\0' ); -} - -int syGetch2 (Int fid, int cur ) -{ - int ch; - - /* probably only paranoid */ - if ( ! isatty( fileno(syBuf[fid].fp) ) ) - return EOF; + } + } + return ch2; - /* make the current character reverse to simulate a cursor */ - syEchoch( (cur != '\0' ? cur : ' ') | 0x80, fid ); - syEchoch( '\b', fid ); +#else - /* get a character, ignore EOF and chars beyond 0x7F (reverse video) */ - while ( ((ch = getchar()) == EOF) || (0x7F < ch) ) - ; + /* if chars have been typed ahead and read by 'SyIsIntr' read them */ + if ( syTypeahead[0] != '\0' ) { + ch = syTypeahead[0]; + strcpy( syTypeahead, syTypeahead+1 ); + } - /* handle special characters */ - if ( ch == 28 ) ch = CTR('B'); - else if ( ch == 29 ) ch = CTR('F'); - else if ( ch == 30 ) ch = CTR('P'); - else if ( ch == 31 ) ch = CTR('N'); + /* otherwise read from the keyboard */ + else { + ch = GETKEY(); + } - /* make the current character normal again */ - syEchoch( (cur != '\0' ? cur : ' '), fid ); - syEchoch( '\b', fid ); + /* postprocess the character */ + if ( 0x110 <= ch && ch <= 0x132 ) ch = ESC( syAltMap[ch-0x110] ); + else if ( ch == 0x147 ) ch = CTR('A'); + else if ( ch == 0x14f ) ch = CTR('E'); + else if ( ch == 0x148 ) ch = CTR('P'); + else if ( ch == 0x14b ) ch = CTR('B'); + else if ( ch == 0x14d ) ch = CTR('F'); + else if ( ch == 0x150 ) ch = CTR('N'); + else if ( ch == 0x153 ) ch = CTR('D'); + else ch &= 0xFF; /* return the character */ return ch; +#endif } -void syEchoch (int ch, Int fid ) -{ - /* probably only paranoid */ - if ( ! isatty( fileno(syBuf[fid].fp) ) ) - return; - /* echo the character */ - if ( 31 < (ch & 0x7F) || ch == '\b' || ch == '\n' || ch == '\r' ) - putchar( ch ); - else if ( ch == CTR('G') ) - SysBeep( 1 ); - else - putchar( '?' ); + + +void syEchoch ( int ch, Int fid ) +{ + PUTCHAR( ch ); } void syEchos ( char *str, Int fid ) { char * s; - /* probably only paranoid */ - if ( ! isatty( fileno(syBuf[fid].fp) ) ) - return; + /* handle stopped output */ + while ( syStopout ) syStopout = (GETKEY() == CTR('S')); - /* print the string */ + /* echo the string */ for ( s = str; *s != '\0'; s++ ) - putchar( *s ); - + PUTCHAR( *s ); } #endif @@ -2780,7 +2000,7 @@ void syEchos ( char *str, Int fid ) ** ** 'SyFputs' is called to put the to the file identified by . */ -#if SYS_BSD || SYS_MACH || SYS_USG || SYS_OS2_EMX || SYS_VMS || SYS_MAC_MPW || SYS_MAC_SYC +#if SYS_BSD || SYS_USG static Int my_syNrchar = 0; @@ -2826,17 +2046,12 @@ void SyFputs (char line[], Int fid ) /* otherwise, write it to the output file */ else -#if ! (SYS_MAC_MPW || SYS_MAC_SYC) write( fileno(syBuf[fid].fp), line, i ); -#endif -#if SYS_MAC_MPW || SYS_MAC_SYC - fputs( line, syBuf[fid].fp ); -#endif } #endif -#if SYS_MSDOS_DJGPP || SYS_TOS_GCC2 || WIN32 +#if WIN32 #ifdef WIN32_ANSICOLOR_EMU @@ -3030,7 +2245,6 @@ Int SyFread ( void * ptr, Int size, Int count, Int fid ) ** '@' characters are duplicated, and control characters are converted to ** '@', e.g., is converted to '@J'. */ -#if ! (SYS_MAC_MPW || SYS_MAC_SYC) void syWinPut (Int fid, char *cmd, char *str) { @@ -3072,16 +2286,6 @@ void syWinPut (Int fid, char *cmd, char *str) } } -#endif - -#if SYS_MAC_MPW || SYS_MAC_SYC - -void syWinPut (Int fid,char * cmd, char * str ) -{ -} - -#endif - /**************************************************************************** ** @@ -3127,7 +2331,6 @@ void SyPinfo (int nr, Int size) ** '@J'. Then 'SyWinCmd' waits for the window handlers answer and returns ** that string. */ -#if ! (SYS_MAC_MPW || SYS_MAC_SYC) char WinCmdBuffer [8000]; @@ -3180,376 +2383,54 @@ char * SyWinCmd (char *str, Int len) for ( len = 0, i = 9; 1 < i; i-- ) len = len*10 + (WinCmdBuffer[i]-'0'); - /* read the arguments of the answer */ - s = WinCmdBuffer; - i = len; - while ( 0 < i ) { - len = read( 0, s, i ); - i -= len; - s += len; - } - - /* shrink '@@' into '@' */ - for ( b = s = WinCmdBuffer; 0 < len; len-- ) { - if ( *s == '@' ) { - s++; - if ( *s == '@' ) - *b++ = '@'; - else if ( 'A' <= *s && *s <= 'Z' ) - *b++ = CTR(*s); - s++; - } - else { - *b++ = *s++; - } - } - *b = 0; - - /* return the string */ - return WinCmdBuffer; -} - -#endif - -#if SYS_MAC_MPW || SYS_MAC_SYC - -char * SyWinCmd ( str, len ) - char * str; - Int len; -{ - return 0; -} - -#endif - - -/**************************************************************************** -** -*F SyIsIntr() . . . . . . . . . . . . . . . . check wether user hit -C -** -** 'SyIsIntr' is called from the evaluator at regular intervals to check -** wether the user hit '-C' to interrupt a computation. -** -** 'SyIsIntr' returns 1 if the user typed '-C' and 0 otherwise. -*/ - - -/** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -** -** For UNIX, OS/2 and VMS we install 'syAnswerIntr' to answer interrupt -** 'SIGINT'. If two interrupts occur within 1 second 'syAnswerIntr' exits -** GAP. -*/ -#if SYS_BSD || SYS_MACH || SYS_USG || SYS_OS2_EMX || SYS_VMS || WIN32 - -#ifndef SYS_SIGNAL_H /* signal handling functions */ -# include -# ifdef SYS_HAS_SIG_T -# define SYS_SIG_T SYS_HAS_SIG_T -# else -# define SYS_SIG_T void -# endif -# define SYS_SIGNAL_H -typedef SYS_SIG_T sig_handler_t ( int ); -#endif - -#ifndef SYS_TIME_H /* time functions */ -# if SYS_VMS -# include /* declaration of type 'time_t' */ -# endif -# include -# define SYS_TIME_H -#endif -#ifndef SYS_HAS_TIME_PROTO /* ANSI/TRAD decl. from H&S 18.1 */ -# if SYS_ANSI -extern time_t time ( time_t * buf ); -# else -extern Int time ( Int * buf ); -# endif -#endif - -UInt syLastIntr; /* time of the last interrupt */ - -SYS_SIG_T syAnswerIntr(int signr) -{ - UInt nowIntr; - - /* get the current wall clock time */ - nowIntr = time(0); - - /* if the last '-C' was less than a second ago, exit GAP */ - if ( syLastIntr && nowIntr-syLastIntr < 1 ) { - fputs("gap: you hit '-C' twice in a second, goodbye.\n",stderr); - SyExit( 1 ); - } - - /* remember time of this interrupt */ - syLastIntr = nowIntr; - - /* reinstall 'syAnswerIntr' as signal handler */ -#if ! SYS_OS2_EMX - signal( SIGINT, syAnswerIntr ); -#else - signal( signr, SIG_ACK ); -#endif - -#ifdef SYS_HAS_SIG_T -#if SYS_SIG_T != void - return 0; /* is ignored */ -#endif -#endif -} - -inline Int SyIsIntr () -{ - Int isIntr; - - isIntr = (syLastIntr != 0); - syLastIntr = 0; - return isIntr; -} - -#endif - - -/** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -** -** In DOS we check the input queue to look for -'C', chars read are put -** on the 'osTypeahead' buffer. The buffer is flushed if -'C' is found. -** Actually with the current DOS extender we cannot trap -'C', because -** the DOS extender does so already, so be use -'Z' and -'C'. -** -** In TOS we check the input queue to look for -'C', chars read are put -** on the 'osTypeahead' buffer. The buffer is flushed if -'C' is found. -** There is however a problem, if 2 or more characters are pending (that is -** waiting to be read by either 'SyIsIntr' or 'SyGetch') and the second is a -** -'C', GAP will be killed when 'SyIsIntr' or 'syGetch' tries to read -** the first character. Thus if you typed ahead and want to interrupt the -** computation, wait some time to make sure that the typed ahead characters -** have been read by 'SyIsIntr' befor you hit -'C'. -*/ -#if SYS_MSDOS_DJGPP || SYS_TOS_GCC2 - -Int syIsIntrFreq = 20; - -Int syIsIntrCount = 0; - -Int SyIsIntr () -{ - int ch, i; - - /* don't check for interrupts every time 'SyIsIntr' is called */ - if ( 0 < --syIsIntrCount ) - return 0; - syIsIntrCount = syIsIntrFreq; - - /* check for interrupts stuff the rest in typeahead buffer */ - if ( syLineEdit && KBHIT() ) { - while ( KBHIT() ) { - ch = GETKEY(); - if ( ch == CTR('C') || ch == CTR('Z') || ch == 0x12E ) { - PUTCHAR('^'); PUTCHAR('C'); - syTypeahead[0] = '\0'; - syStopout = 0; - return NUM_TO_INT(1); - } - else if ( ch == CTR('X') ) { - PUTCHAR('^'); PUTCHAR('X'); - syTypeahead[0] = '\0'; - syStopout = 0; - } - else if ( ch == CTR('S') ) { - syStopout = 1; - } - else if ( syStopout ) { - syStopout = 0; - } - else { - for ( i = 0; i < sizeof(syTypeahead)-1; ++i ) { - if ( syTypeahead[i] == '\0' ) { - PUTCHAR(ch); - syTypeahead[i] = ch; - syTypeahead[i+1] = '\0'; - break; - } - } - } - } - return 0);; - } - return 0);; -} - -#endif - - -/** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -** -** For a MPW Tool, we install 'syAnswerIntr' to answer interrupt 'SIGINT'. -** However, the interrupt is only delivered when the system has a control, -** namely when we call the toolbox function 'SpinCursor' in 'SyIsIntr'. -** Thus the mechanism is effectively polling. -** -** For a MPW SIOW, we search the event queue for a -'.' or a -'C'. -** If one is found, all keyboard events are flushed. -** -*N 1995/04/30 mschoene these should be merged -*/ -#if SYS_MAC_MPW - -#ifdef SYS_HAS_TOOL - -#ifndef SYS_SIGNAL_H /* signal handling functions */ -# include -# ifdef SYS_HAS_SIG_T -# define SYS_SIG_T SYS_HAS_SIG_T -# else -# define SYS_SIG_T void -# endif -# define SYS_SIGNAL_H -typedef SYS_SIG_T sig_handler_t ( int ); -#endif - -#ifndef SYS_CURSORCTL_H /* cursor control functions: */ -# include /* 'Show_Cursor', 'SpinCursor' */ -# define SYS_CURSORCTL_H -#endif - -UInt syNrIntr; /* number of interrupts */ - -UInt syLastIntr; /* time of the last interrupt */ - -Int syIsIntrFreq = 100; /* frequency to test interrupts */ - -Int syIsIntrCount = 0; /* countdown to test interrupts */ - -void syAnswerIntr ( signr ) - int signr; -{ - /* reinstall the signal handler */ - signal( SIGINT, &syAnswerIntr ); - - /* exit if two interrupts happen within one second */ - /*N 1993/05/28 martin this doesn't work, because interrupts are only */ - /*N delivered when we call 'SpinCursor' below */ - if ( syNrIntr && SyTime()-syLastIntr <= 1000 ) - SyExit( 1 ); - - /* got one more interrupt */ - syNrIntr = syNrIntr + 1; - syLastIntr = SyTime(); -} - -Int SyIsIntr () -{ - Int syIsIntr; - - /* don't check for interrupts every time 'SyIsIntr' is called */ - if ( 0 < --syIsIntrCount ) - return 0; - syIsIntrCount = syIsIntrFreq; - - /* spin the beachball */ - Show_Cursor( HIDDEN_CURSOR ); - SpinCursor( 8 ); - - /* check for interrupts */ - syIsIntr = (syNrIntr != 0); - - /* every interrupt leaves a , which we want to remove */ - while ( syNrIntr ) { - while ( getchar() != EOF ) ; - clearerr( stdin ); - syNrIntr = syNrIntr - 1; - } - - /* return whether an interrupt has happened */ - return syIsIntr; -} - -#else - -#ifndef SYS_TYPES_H /* various types */ -# include -# define SYS_TYPES_H -#endif - -#ifndef SYS_OSUTILS_H /* system utils: */ -# include /* 'QHdr' */ -# define SYS_OSUTILS_H -#endif - -#ifndef SYS_OSEVENTS_H /* system events, low level: */ -# include /* 'EvQEl', 'GetEvQHdr', */ - /* 'FlushEvents' */ -# define SYS_OSEVENTS_H -#endif - -#ifndef SYS_EVENTS_H /* system events, high level: */ -# include /* 'EventRecord', 'GetNextEvent' */ -# define SYS_EVENTS_H -#endif - -UInt syNrIntr; /* number of interrupts */ - -UInt syLastIntr; /* time of the last interrupt */ - -Int syIsIntrFreq = 100; /* frequency to test interrupts */ - -Int syIsIntrCount = 0; /* countdown to test interrupts */ - -Int SyIsIntr () -{ - Int syIsIntr; - struct QHdr * queue; - struct EvQEl * qentry; - - /* don't check for interrupts every time 'SyIsIntr' is called */ - if ( 0 < --syIsIntrCount ) - return 0; - syIsIntrCount = syIsIntrFreq; - - /* look through the event queue for -'.' or -'C' */ - queue = GetEvQHdr(); - qentry = (struct EvQEl *)(queue->qHead); - while ( qentry ) { - if ( qentry->evtQWhat == keyDown - && ( ((qentry->evtQModifiers & controlKey) != 0) - && ((qentry->evtQMessage & charCodeMask) == 3)) - || ( ((qentry->evtQModifiers & cmdKey ) != 0) - && ((qentry->evtQMessage & charCodeMask) == '.')) ) { - syNrIntr++; - } - qentry = (struct EvQEl *)(qentry->qLink); + /* read the arguments of the answer */ + s = WinCmdBuffer; + i = len; + while ( 0 < i ) { + len = read( 0, s, i ); + i -= len; + s += len; } - /* check for interrupts */ - syIsIntr = (syNrIntr != 0); - - /* flush away all keyboard events after an interrupt */ - if ( syNrIntr ) { - FlushEvents( keyDownMask, 0 ); - syNrIntr = 0; + /* shrink '@@' into '@' */ + for ( b = s = WinCmdBuffer; 0 < len; len-- ) { + if ( *s == '@' ) { + s++; + if ( *s == '@' ) + *b++ = '@'; + else if ( 'A' <= *s && *s <= 'Z' ) + *b++ = CTR(*s); + s++; + } + else { + *b++ = *s++; + } } + *b = 0; - /* return whether an interrupt has happened */ - return syIsIntr; + /* return the string */ + return WinCmdBuffer; } -#endif -#endif +/**************************************************************************** +** +*F SyIsIntr() . . . . . . . . . . . . . . . . check wether user hit -C +** +** 'SyIsIntr' is called from the evaluator at regular intervals to check +** wether the user hit '-C' to interrupt a computation. +** +** 'SyIsIntr' returns 1 if the user typed '-C' and 0 otherwise. +*/ /** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** -** For Symantec C, we search the event queue for a -'.' or a -'C'. -** If one is found, all keyboard events are flushed, and 'true' is returned. -** We also check for signals just to be safe. Because signals are only -** delivered when the system is in control, e.g., when we call 'SystemTask', -** there is no point to test for two interrupts within a second. +** For UNIX, OS/2 we install 'syAnswerIntr' to answer interrupt +** 'SIGINT'. If two interrupts occur within 1 second 'syAnswerIntr' exits +** GAP. */ -#if SYS_MAC_SYC +#if SYS_BSD || SYS_USG || WIN32 #ifndef SYS_SIGNAL_H /* signal handling functions */ # include @@ -3562,117 +2443,54 @@ Int SyIsIntr () typedef SYS_SIG_T sig_handler_t ( int ); #endif -#ifndef SYS_TYPES_H /* various types */ -# include -# define SYS_TYPES_H -#endif - -#ifndef SYS_LOWMEM_H /* variables in low memory: */ -# include /* 'LMGetTicks' */ -# define SYS_LOWMEM_H -#endif - -#ifndef SYS_OSUTILS_H /* system utils: */ -# include /* 'QHdr' */ -# define SYS_OSUTILS_H -#endif - -#ifndef SYS_OSEVENTS_H /* system events, low level: */ -# include /* 'EvQEl', 'GetEvQHdr', */ - /* 'FlushEvents' */ -# define SYS_OSEVENTS_H -#endif - -#ifndef SYS_EVENTS_H /* system events, high level: */ -# include /* 'EventRecord', 'GetNextEvent' */ -# define SYS_EVENTS_H -#endif - -#ifndef SYS_LOMEM_H /* variables in low memory */ -# include /* 'SEvtEnb' */ -# define SYS_LOMEM_H +#ifndef SYS_TIME_H /* time functions */ +# include +# define SYS_TIME_H #endif - -#ifndef SYS_DESK_H -# include /* 'SystemTask' */ -# define SYS_DESK_H +#ifndef SYS_HAS_TIME_PROTO /* ANSI/TRAD decl. from H&S 18.1 */ +# if SYS_ANSI +extern time_t time ( time_t * buf ); +# else +extern Int time ( Int * buf ); +# endif #endif -UInt syNrIntr; /* number of interrupts */ - -Int syIsIntrFreq = 60; /* frequency to test interrupts */ - -Int syIsIntrCount = 0; /* countdown to test interrupts */ - -Int syIsBackFreq = 600; /* frequence background switching */ - -Int syIsBackCount = 0; /* countdown background switching */ +UInt syLastIntr; /* time of the last interrupt */ -void syAnswerIntr ( signr ) - int signr; +SYS_SIG_T syAnswerIntr(int signr) { - /* reinstall the signal handler */ - signal( SIGINT, &syAnswerIntr ); - - /* got one more interrupt */ - syNrIntr = syNrIntr + 1; -} + UInt nowIntr; -Int SyIsIntr () -{ - Int syIsIntr; - struct QHdr * queue; - struct EvQEl * qentry; - EventRecord theEvent; + /* get the current wall clock time */ + nowIntr = time(0); - /* don't check for interrupts every time 'SyIsIntr' is called */ - if ( (*(Int*)0x016A) <= syIsIntrCount ) - return 0; - syIsIntrCount = (*(Int*)0x016A) + syIsIntrFreq; - - /* allow for system activities */ - if ( syIsBackCount < (*(Int*)0x016A) ) { - syIsBackCount = (*(Int*)0x016A) + syIsBackFreq; - SystemTask(); - SEvtEnb = false; - GetNextEvent( activMask, &theEvent ); + /* if the last '-C' was less than a second ago, exit GAP */ + if ( syLastIntr && nowIntr-syLastIntr < 1 ) { + fputs("gap: you hit '-C' twice in a second, goodbye.\n",stderr); + SyExit( 1 ); } - /* check for caught interrupts */ - syIsIntr = (syNrIntr != 0); + /* remember time of this interrupt */ + syLastIntr = nowIntr; - /* every caught interrupt leaves a , which we want to remove */ - while ( syNrIntr ) { - while ( getchar() != EOF ) ; - clearerr( stdin ); - syNrIntr = syNrIntr - 1; - } + /* reinstall 'syAnswerIntr' as signal handler */ - /* look through the event queue for -'.' or -'C' */ - queue = GetEvQHdr(); - qentry = (struct EvQEl *)(queue->qHead); - while ( qentry ) { - if ( qentry->evtQWhat == keyDown - && ( ((qentry->evtQModifiers & controlKey) != 0) - && ((qentry->evtQMessage & charCodeMask) == 3)) - || ( ((qentry->evtQModifiers & cmdKey ) != 0) - && ((qentry->evtQMessage & charCodeMask) == '.')) ) { - syNrIntr++; - } - qentry = (struct EvQEl *)(qentry->qLink); - } + signal( SIGINT, syAnswerIntr ); - /* check for interrupts */ - syIsIntr = syIsIntr || (syNrIntr != 0); +#ifdef SYS_HAS_SIG_T +#if SYS_SIG_T != void + return 0; /* is ignored */ +#endif +#endif +} - /* flush away all keyboard events after an interrupt */ - if ( syNrIntr ) { - FlushEvents( keyDownMask, 0 ); - syNrIntr = 0; - } +inline Int SyIsIntr () +{ + Int isIntr; - /* return whether an interrupt has happened */ - return syIsIntr; + isIntr = (syLastIntr != 0); + syLastIntr = 0; + return isIntr; } #endif @@ -3697,31 +2515,8 @@ Int SyIsIntr () extern void exit ( int ); #endif -#if SYS_MAC_SYC -#ifndef SYS_CONSOLE_H /* console stuff */ -# include /* 'console_options' */ -# define SYS_CONSOLE_H -#endif -#endif - void SyExit (Int ret) { -#if SYS_MAC_MPW -# ifndef SYS_HAS_TOOL - fputs("gap: please use