*
* $Id: v0_00,v 1.1.1.1 1995/12/12 14:36:22 mclareni Exp $
*
* $Log: v0_00,v $
* Revision 1.1.1.1  1995/12/12 14:36:22  mclareni
* Imported sources
*
*
* This directory was created from sigma.car patch history
*CMZ :  1.09/03 28/09/93  09.37.43  by  Carlo E. Vandoni
*-- Author :
*::>          VERSION  1.09/00   930801 09.00
* ********************
* September 20 1993
*
*   Matrix inversion (INV)
*   Matrix determinant (DET)
*
* ********************
* August 1 1993
* Major revision of the package
* Revision of common blocks
* Elimination of unused and dead code
* (Re-)Implementation of features
*
*   Hooks for Matrix inversion and determinant
*
*
*   The following functions have been reactivated
*
*          DAWSON       Dawson's Integral
*          DILOG        Dilogarithm Function
*
*
*   The following functions are now accessible
*
*
*          ADIGAM       Digamma or Psi Function
*          ASINH        Hyperbolic Arcsine
*          ATANI        Arctangent integral
*          FRSIN        Fresnel Integrals
*          FRCOS        Fresnel Integrals
*          GAMMF        Gamma Function for Real Argument
*          GAUSIN       Inverse of Gaussian Distribution
*          RANGAM       Random Numbers in Gamma or Chisquare Distribution
*          STRH0        Struve Functions of Order Zero
*          STRH1        Struve Functions of Order One
*
*
* Nominal speed up (5%)
*
* *********************

*::>          VERSION  1.07/01   921118 09.00
* *********************
* November 18 1992
* Bug in SIORDE fixed
* Input string extended to 500 characters
* *********************
*::>          VERSION  1.07/00   920825 09.00
* *********************
* August 25 1992
* Strings manipulation fully implemanted for the
* PAW Ntuple new types
* *********************
*
*::>          VERSION  1.07/00   920825 09.00
*
*     Bug fix for CRAY version in routine SICMPL
*                VERSION 1.05/00 (18/10/90)
* *********************
* August 19 1991
* Hooks for strings manipulation are now in
* Still to be fully tested
* *********************
* *********************
* About 250 modifications (differ file is 1800 lines long)
* Mostly clean up and optimization
* *********************
*
* *********************
* Modif. 18/10/90
* Correct formal errors: unused assignments, no path to statement
* *********************
* *********************
* Modif. 20/09/90
* Correct interface to the new modified
* KU... routines in KUIP.
* *********************
* *********************
* Modif. 14/08/90
* Corrections of formal errors as requested by the PL
* just a first lot. Not finished yet.
* *********************
* *********************
* Modif. 06/07/90
* Correction on complex power
* *********************
* *********************
* Modif. 25/06/90
* Elimination of arithmetic IFs.
* *********************
* *********************
* Modif. 21/05/90
* Handling of KUIP integer vectors.
* Correction to function calls.
* *********************
* *********************
* Modif. 21/02/90
* Cleaning of redundant code.
*   not finished yet.
* 14410 lines
* 122 DECKS ONLY
* *********************
* *********************
* Modif. 19/02/90
* Cleaning of Common and redundant code.
*   not finished yet.
* 14710 lines
* *********************
* *********************
* Modif. 16/02/90
* COMPLEX CODE check.
* Cleaning of Common and redundant code.
*   not finished yet.
* 14820 lines
* *********************
* *********************
* Modif. 06/02/90
* COMPLEX CODE check.
* Major Cut in COMMON.
* 15174 lines
* *********************
* *********************
* Modif. 05/02/90
* COMPLEX CODE REDONE AFTER DISK CRASH
* Major Cleaning up started.
* 15174 lines
* *********************
* *********************
* Modif. 19/12/1989
* Modifications for UNIX introduced.
* Essentially double backslash under IF=UNIX
* *********************
* *********************
* Modif. 05/10//1989
* A bug in SIARRA (creation of alrge arrays)
* corrected. Minor cleaning of the code.
* *********************
* *********************
* Modif. 27/09//1989
* Incompatibility with the new  KUIP feature (i.e.
* the possibility to call APPL within a macro) removed
* *********************
* *********************
* Modif. 14/08/1989
* KUIP COMMON REMOVED
* *********************
* *********************
* Modif. 04/08/1989
* KUIP COMMON STILL TO BE REMOVED
* Precedence of unary minus CHANGED.
* A number of obsolete routines eliminated
* Number of decks now 138.
* 14584 lines of code.
* *********************
* *********************
* Modif. 31/07/1989
* KUIP COMMON STILL TO BE REMOVED
* Errors in errors handling corrected
* Precedence of unary minus CHANGED IN SIGMACORR ONLY.
* A number of obsolete routines eliminated
* Number of decks now 138.
* 14660 lines of code.
* *********************
* *********************
* Modif. 25/07/1989
* SIGSEE changed, and KUIP COMMON to be removed.
* Errors in handling multidim arrays corrected
* Precedence of unary minus NOT changed.
* Number of decks now 138.
* 15154 lines of code.
* *********************
* *********************
* Modif. 20/07/1989
* All code simulating KUIP functions removed. Basic
* KUIP routines called instead.
* SIGSEE still to be changed, and KUIP COMMON to be removed.
* Careful!! all MZ (e.g. SIGINT)!!
* Precedence of unary minus NOT changed.
* *********************
* *********************
* Modif. 14/07/1989
* Corrected erroneous common block interfacing KUIP.
* Precedence of unary minus NOT changed.
* *********************
**********************
* Modif. 14/06/1989
*
* A ROUNDING ERROR CORRECTED IN SINMCD (DECODING OF NUMBERS)
*
* The following SIGMA functions are now active:
*
* DEL    DELta Function
* DIFF   Forward DIFFerence
* LS     R=LS(A,N) shifts index of A to the left by N steps (cyclic)
* NCO    R=NCO(A) Number of COmponent vector of A
* ORDER  R=ORDER(A,P) finds a permutation that brings
*              P in a non&hyphen.desecending order
*              and applies it to A to generate R.
* PROD   Generates the running product
* MINV   V1=MINV(V) set each element of V1 equal to the minimum value in V
* MAXV   V1=MAXV(V) set each element of V1 equal to the maximum value in V
* MIN    V3=MIN(V1,V2) set each element of V3 equal to the minimum
*                     of the corresponding elements in V1 and V2
* MAX    V3=MAX(V1,V2) set each element of V3 equal to the maximum
*                      of the corresponding elements in V1 and V2
* VMIN   S1=VMIN(V1) set S1 equal to the minimum value in V1
* VMAX   S1=VMAX(V1) set S1 equal to the maximum value in V1
* LVMIN  S1=LVMIN(V1) set S1 equal to the index (location) of the
*                     minimum value in V1
* LVMAX  S1=LVMAX(V1) set S1 equal to the index (location) of the
*                       maximum value in V1
* SUMV   V2=SUMV(V1) running sum of V (Vector result)
* VSUM   S1=VSUM(V) sum of all components of V (Scalar result)
* DIFFV  V2=DIFFV(V) forward difference of V (Vector result)
*
* Available library functions
*
* ABS     ABSolute value
* ACOS    ArCOSine
* ALOGAM  LOGarithm of the GAMma Function (C341)
* ASIN    ArcSINe
* ATAN    ArcTANgent
* ATAN2   ArcTANgent2 (2 arguments)
* BESI0   Mod. Bessel Function I0 (C313)
* BESI1   Mod. Bessel Function I1 (C313)
* BESJ0   Bessel Function J0 (C312)
* BESJ1   Bessel Function J1 (C312)
* BESK0   Mod. Bessel Function K0 (C313)
* BESK1   Mod. Bessel Function K1 (C313)
* BESY0   Bessel Function Y0 (C312)
* BESY1   Bessel Function Y1 (C312)
* COS     COSine
* COSH    Hyperbolic COSine
* COSINT  COSine INTegral     (C336)
* DILOG   DILOGarithm Function  (C304)
* EBESI0  exp(-|x|)I0(x) (C313)
* EBESI1  exp(-|x|)I1(x) (C313)
* EBESK0  exp(x)K0(x) (C313)
* EBESK1  exp(x)K1(x) (C313)
* ELLICK  Complete Elliptic Integral K (C308)
* ELLICE  Complete Elliptic Integral E (C308)
* ERF     Error Function ERF (C300)
* ERFC    Error Function ERFC (C300)
* EXP     EXPonential
* EXPINT  EXPonential INTegral (C337)
* FREQ    Normal Frequency Function FREQ (C300)
* GAMMA   GAMMA Function (C305)
* INT     takes INTegral part of decimal number
* LOG     Natural LOGarithm
* LOG10   Common LOGarithm
* MOD     Remaindering
* RNDM    Random Number Generator - generates random numbers between 0 and 1.
*                    R=RNDM(X), where NCO(R)=NCO(X)
* SIGN    Transfer of SIGN R=SIGN(X,Y), R=|X|*Y/|Y|
* SIN     SINe Function
* SINH    Hyperbolic SINe
* SININT  SINe INTegral       (C336)
* TAN     TANgent
* TANH    Hyperbolic Tangent
* SQRT    SQuare RooT
*
* Note that ill defined functions (e.g. SQRT(-2)) will give 0. as result.
*
**********************
* Modif. 01/06/1989
*
* In order to be more consistent with a number of routines already
* existing in the CERN  Program Library, the names of a number of
* SIGMA functions has been changed,according to the following list:
*
* New name and meaning
*
* V1=MINV(V)      Each element of V1 is set equal to the minimum value in V
*
* V1=MAXV(V)      Each element of V1 is set equal to the maximum value in V
*
* V3=MIN(V1,V2)   Each element of V3 is set equal to the minimum
*                  of the corresponding elements in V1 and V2
*
* V3=MAX(V1,V2)   Each element of V3 is set equal to the maximum
*                 of the corresponding elements in V1 and V2
*
* S1=VMIN(V1)     S1 is set equal to the minimum value in V1
*
* S1=VMAX(V1)     S1 is set equal to the maximum value in V1
*
* S1=LVMIN(V1)    S1 is set equal to the index (location) of the
*                 minimum value in V1
*
* S1=LVMAX(V1)    S1 is set equal to the index (location) of the
*                 maximum value in V1
*
* V2=SUMV(V1)     running sum of V  (Vector result)
*
* S1=VSUM(V)      sum of all components of V (Scalar result)
*
* V2=DIFFV(V1)     forward difference of V  (Vector result)
*
* This replace the modifications in date 24/05/89.
* ****************************************************
* Modif. 24/05/1989
* Implemented MIN2,MAX2,MINV2,MAXV2 (SEE below)
* 15160 lines of code.
*
*
* MIN(V)--->V
* MAX(V)--->V
*
* SMIN(V)--->S      alias VMIN
* SMAX(V)--->S      alias VMAX
*
* LVMIN((V)--->S    alias IMIN
* LVMAX(V)--->S     alias IMAX
*
*-------------------------------------
*  New functions:
*
* MIN2(S,S)--->S
* MAX2(S,S)--->S
*
* MINV(V,V)--->V     min and max componentwise
* MAXV(V,V)--->V
*
* *********************
*************************************************
*                                               *
*            W A R N I N G                      *
*                                               *
*  when moving lines containing ^ from          *
*  SIGMACORR to SIGMA.CAR, remove the @ !!!!    *
*                                               *
*************************************************
* *********************
* Modif. 16/05/1989
* Implemented .CT. (Close To)
* Cleaning
* Number of decks now 143.
* 15039 lines of code.
* *********************
* Modif. 08/05/1989
* Removed more NH in non-FORMAT statements.
* Number of decks now 145.
* 15086 lines of code.
* *********************
* Modif. 07/02/1989
* Implented QUAD.
* Removed all NH in FORMAT statements.
* Number of decks now 145.
* 15178 lines of code.
* *********************
* Modif. 06/02/1989
* Removed almost all nnH.
* Number of decks now 147.
* 15235 lines of code.
* *********************
* Modif. 23/01/1989
* INTRODUCED: VMAX(SMAX),VMIN(SMIN),LVMAX(IMAX),LVIMIN(IMIN).
* Number of decks now 147.
* 15443 lines of code.
* *********************
* Modif. 19/01/1989
* More redundant code and common blocks removed.
* Number of decks now 147.
* 15443 lines of code.
* *********************
* Modif. 18/01/1989
* More redundant coded removed.
* Number of decks now 148.
* 15965 lines of code.
* Two new functions implemented: IMIN and IMAX
* *********************
* Modif. 06/01/1989
* Common block reduction.
* More redundant code removed.
* Number of decks now 148.
* 15950 lines of code.
* *********************
* Modif. 05/01/1989
* Common block reduction.
* More redundant code removed.
* Number of decks now 150.
* 16090 lines of code.
* *********************
* Modif. 03/01/1989
* Further cleaning.
* Number of decks now 152.
* **********************
* Modif. 21/12/1988
*
* Six redundant/obsolete routines eliminated.
* Original number of decks was 160.
* Total number decks is now 154.
* Offending statement is now displayed after
* an error message.
*
* MANY DIIFERENT ROUTINES  MODIFICATION TO HANDLE
*          ERRORS DUE TO VM
* SIPUL    DUMMY
*
* MAXIMUM INPUT STRING IS NOW 255 CHARS.
*
* SEVERAL LARGE ARRAYS TAKEN OUT
*
*
* SILBC7   25/07/88
*        * DUMMY CALL TO CWERF
* SILBC5
*        * DUMMY CALL TO DAWSON
* SILBC1
*        * DUMMY CALL TO DILOG
* SIERRO
*        * FIRST MODIFICATION TO HANDLE ERRORS (VM!)
* SILBC7   ET ALII
*        * DUMMY CALLSTO BESCJ, CDIGAM, CGAMMA
*        * DUMMY CALL TO WHIT, CLOGAM

