Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

563580 views
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@ FILE: carat_exit.c
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@
@---------------------------------------------------------------------------
@ void carat_exit(fmt, va_alist)
@ char *fmt;
@ va_dcl
@ 
@ carat_exit has been implemented because our debugger cannot stop
@ at exit.
@ The Syntax is to use in the same way as printf.
@ After printing the programm exits.
@---------------------------------------------------------------------------
@
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@ FILE: chin_remainder.c
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@
@-------------------------------------------------------------------------
@ chinrest(x1, x2, p1, p2) calculates for positive primes p1,p2
@ and integers x1, x2 an integer x with
@   -(p1*p2)/2 < x < (p1*p2)/2 and
@ x kongruent x1 modulo p1 and x konguent x2 modulo p2
@-------------------------------------------------------------------------
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@ FILE: intpow.c
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@
@
@ int intpow(a,b);
@
@ compute the b-th power of the integer a (int a, int b)
@
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@ FILE: itoa.c
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@
@---------------------------------------------------------------------------
@ void itoa(n, s)
@ int n;
@ char s[];
@
@ changes the integer 'n' to a character 's', for example:  124 --> '124'
@---------------------------------------------------------------------------
@
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@ FILE:  malloc2dim.c
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@
@
@-------------------------------------------------------------------------
@ char **calloc2dim ( r, c, size )
@ int r,c,size;
@
@ allocates a 2-dimensional array with 'r' rows and 'c' columns
@ the size of the entries in bytes is given by the argument 'size'.
@
@-------------------------------------------------------------------------
@ char **malloc2dim ( r, c, size )
@ int r,c,size;
@
@ allocates a 2-dimensional array with 'r' rows and 'c' columns
@ the size of the entries in bytes is given by the argument 'size'.
@
@-------------------------------------------------------------------------
@-------------------------------------------------------------------------
@ void memcpy2dim ( dest, src, r, c, size )
@        copies a 2-dimesional array
@
@ char **dest: destination
@ char **src:  source
@ int r, int c: rows x columns of the arrays
@ int size: size of an entry in bytes
@
@-------------------------------------------------------------------------
@-------------------------------------------------------------------------
@ void memset2dim ( dest, r, c, size, value )
@  initializes a 2-dimensional array
@
@ char **dest: destination
@ int r, int c: rows x columns of the arrays
@ int size: size of an entry in bytes
@ char *value: pointer to the entry, the array shall be initialized with
@
@-------------------------------------------------------------------------
@-------------------------------------------------------------------------
@ void free2dim ( old, rows )
@ frees a 2-dimensional array
@
@ char **old: pointer to the array
@ int rows: number of rows (upper bound for the first index of the array)
@
@-------------------------------------------------------------------------
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@ FILE: min_div.c
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@
@-------------------------------------------------------------------------
@ int min_div(a,b)
@ int a,b;
@
@ calculates intger c such that a = c*b + r with r of minimal absulute
@ size
@
@-------------------------------------------------------------------------
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@ FILE: ovfl_mul.c
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@
@-------------------------------------------------------------------------
@  int ovfl_mul( a, b);
@ int a,b;
@
@  The routine should catch an integer-overflow.
@  Slow. Unluckily "c" does not provide machine-independent access to the
@  integer hardware overflow-routines.
@  if there is no overflow the function returns the product a*b,
@  otherwise the program exits.
@
@-------------------------------------------------------------------------
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@ FILE: prime_tools.c
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@
@-------------------------------------------------------------------------
@ This file exports the global variables
@ int act_prime  - This the actual used prime_number
@
@ int (*S)(int,int), (*P)(int,int)
@ S is the function for addition modulo act_prime and
@ P the function for multiplication
@
@ void cleanup_prime();
@             releases all memory that was allocated by init_prime(). Only 
@             useful for debugging memory allocation.
@ void init_prime( int prime);
@    This function MUST be called before the functions S(a,b) and P(a,b)
@    can be used, since otherwise they are not defined.
@    The argument of init_prime is the new prime number, modulo which
@    the calculations shoud be done, i.e. act_prime is set to prime.
@
@-------------------------------------------------------------------------
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@ FILE: tools.c
@ containes some general small tools.
@---------------------------------------------------------------------------
@---------------------------------------------------------------------------
@
@
@ Exports the globale variables Zero and One.
@        rational Zero=  { 0,1 };
@        rational One =  { 1,1 };
@
@ int GGT( int a, int b );
@       calculates the greatest common divisor of a and b.
@       The result is always > 0
@
@ int KGV( int a, int b );
@       calculates the least commom multiple of a and b.
@       The result is always > 0
@
@ void Normal ( rational *a );
@       divides the numerator  and the denominator of a rational number
@       by their greatest common divisor
@
@ void Normal2 ( int *z, *n );
@       divides z and n by their greatest common divisor.
@       Caution: z and n are changed in Normal2
@
@ void rat_add ( int *az, int *an, int bz, int bn);
@                   cz       az   bz
@      calculates   --  :=   -- + --
@                   cn       an   bn
@       The result is stored in az and an.
@
@ int *factorize_new( int zahl,int *erg);
@
@ int *factorize ( int zahl );
@       The integer 'zahl' is factorized. If for example
@       zahl = p1^a1 *p2^a2,
@       erg[p1] is set to a1 and erg[p2] is set to a2,
@       all other entries of erg are 0.
@       Caution: the result is a pointer to an integer of length 100.
@                So factorize works only for intergers that
@                have prime factors smaller then 100.
@
@  void gcd_darstell( int a1, int a2, int *v1, int *v2, int *gcd);
@      calculates a presentation of the greatest commom divisor of a1 and a2:
@      gcd = v1*a1 + v2*a2
@
@  int p_inv(int a, int p)
@      calculates number ai such that a * ai is kongruent 1 modulo p (if exists)
@
@-------------------------------------------------------------------------