diff --git a/changelog b/changelog index 776b956..43b1f80 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,20 @@ +20080823 tpd src/algebra/s.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/multsqfr.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/f07.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/f04.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/f02.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/f01.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/e04.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/e02.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/e01.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/d03.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/d02.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/d01.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/c06.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/c05.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/c02.spad remove ++CapitalLetter syntax +20080823 tpd src/algebra/axtimer.as remove ++CapitalLetter syntax +20080823 tpd src/algebra/asp.spad remove ++CapitalLetter syntax 20080823 tpd src/algebra/stream.spad stream API examples 20080823 tpd src/algebra/aggcat.spad UnaryRecursiveAggregate API examples 20080822 tpd src/input/Makefile add linalg, overload regression tests diff --git a/src/algebra/asp.spad.pamphlet b/src/algebra/asp.spad.pamphlet index 7899fb3..220c4ab 100644 --- a/src/algebra/asp.spad.pamphlet +++ b/src/algebra/asp.spad.pamphlet @@ -18,9 +18,9 @@ ++ 6 October 1994 ++ Related Constructors: FortranFunctionCategory, FortranProgramCategory. ++ Description: -++\spadtype{Asp1} produces Fortran for Type 1 ASPs, needed for various -++NAG routines. Type 1 ASPs take a univariate expression (in the symbol -++X) and turn it into a Fortran Function like the following: +++ \spadtype{Asp1} produces Fortran for Type 1 ASPs, needed for various +++ NAG routines. Type 1 ASPs take a univariate expression (in the symbol +++ X) and turn it into a Fortran Function like the following: ++\begin{verbatim} ++ DOUBLE PRECISION FUNCTION F(X) ++ DOUBLE PRECISION X @@ -2941,10 +2941,10 @@ Asp55(name): Exports == Implementation where ++ 6 October 1994 ++ Related Constructors: FortranVectorFunctionCategory, FortranProgramCategory ++ Description: -++\spadtype{Asp6} produces Fortran for Type 6 ASPs, needed for NAG routines -++\axiomOpFrom{c05nbf}{c05Package}, \axiomOpFrom{c05ncf}{c05Package}. -++These represent vectors of functions of X(i) and look like: -++\begin{verbatim} +++ \spadtype{Asp6} produces Fortran for Type 6 ASPs, needed for NAG routines +++ \axiomOpFrom{c05nbf}{c05Package}, \axiomOpFrom{c05ncf}{c05Package}. +++ These represent vectors of functions of X(i) and look like: +++ \begin{verbatim} ++ SUBROUTINE FCN(N,X,FVEC,IFLAG) ++ DOUBLE PRECISION X(N),FVEC(N) ++ INTEGER N,IFLAG @@ -2966,7 +2966,7 @@ Asp55(name): Exports == Implementation where ++ FVEC(9)=(-2.0D0*X(9)**2)+3.0D0*X(9)+(-1.0D0*X(8))+1.0D0 ++ RETURN ++ END -++\end{verbatim} +++ \end{verbatim} Asp6(name): Exports == Implementation where name : Symbol @@ -3088,11 +3088,11 @@ Asp6(name): Exports == Implementation where ++ 6 October 1994 ++ Related Constructors: FortranVectorFunctionCategory, FortranProgramCategory ++ Description: -++\spadtype{Asp7} produces Fortran for Type 7 ASPs, needed for NAG routines -++\axiomOpFrom{d02bbf}{d02Package}, \axiomOpFrom{d02gaf}{d02Package}. -++These represent a vector of functions of the scalar X and -++the array Z, and look like: -++\begin{verbatim} +++ \spadtype{Asp7} produces Fortran for Type 7 ASPs, needed for NAG routines +++ \axiomOpFrom{d02bbf}{d02Package}, \axiomOpFrom{d02gaf}{d02Package}. +++ These represent a vector of functions of the scalar X and +++ the array Z, and look like: +++ \begin{verbatim} ++ SUBROUTINE FCN(X,Z,F) ++ DOUBLE PRECISION F(*),X,Z(*) ++ F(1)=DTAN(Z(3)) @@ -3101,7 +3101,7 @@ Asp6(name): Exports == Implementation where ++ F(3)=-0.03199999999999999D0/(X*Z(2)**2) ++ RETURN ++ END -++\end{verbatim} +++ \end{verbatim} Asp7(name): Exports == Implementation where name : Symbol @@ -4106,19 +4106,21 @@ Asp80(name): Exports == Implementation where ++ 6 October 1994 ++ Related Constructors: FortranVectorFunctionCategory, FortranProgramCategory ++ Description: -++\spadtype{Asp9} produces Fortran for Type 9 ASPs, needed for NAG routines -++\axiomOpFrom{d02bhf}{d02Package}, \axiomOpFrom{d02cjf}{d02Package}, \axiomOpFrom{d02ejf}{d02Package}. -++These ASPs represent a function of a scalar X and a vector Y, for example: -++\begin{verbatim} +++ \spadtype{Asp9} produces Fortran for Type 9 ASPs, needed for NAG routines +++ \axiomOpFrom{d02bhf}{d02Package}, +++ \axiomOpFrom{d02cjf}{d02Package}, +++ \axiomOpFrom{d02ejf}{d02Package}. +++ These ASPs represent a function of a scalar X and a vector Y, for example: +++ \begin{verbatim} ++ DOUBLE PRECISION FUNCTION G(X,Y) ++ DOUBLE PRECISION X,Y(*) ++ G=X+Y(1) ++ RETURN ++ END -++\end{verbatim} -++If the user provides a constant value for G, then extra information is added -++via COMMON blocks used by certain routines. This specifies that the value -++returned by G in this case is to be ignored. +++ \end{verbatim} +++ If the user provides a constant value for G, then extra information is added +++ via COMMON blocks used by certain routines. This specifies that the value +++ returned by G in this case is to be ignored. Asp9(name): Exports == Implementation where name : Symbol diff --git a/src/algebra/axtimer.as.pamphlet b/src/algebra/axtimer.as.pamphlet index b05a3aa..1f046bb 100644 --- a/src/algebra/axtimer.as.pamphlet +++ b/src/algebra/axtimer.as.pamphlet @@ -81,7 +81,7 @@ Timer: BasicType with { ++ and t is not stopped or affected. reset!: % -> %; ++ Resets the timer t to 0 and stops it if it is running. - ++Returns the timer t after it is reset. + ++ Returns the timer t after it is reset. start!: % -> Z; ++ Starts or restarts t, without resetting it to 0, ++ It has no effect on t if it is already running. diff --git a/src/algebra/c02.spad.pamphlet b/src/algebra/c02.spad.pamphlet index f51481a..f3adcc8 100644 --- a/src/algebra/c02.spad.pamphlet +++ b/src/algebra/c02.spad.pamphlet @@ -15,10 +15,10 @@ ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Thu May 12 17:44:27 1994 -++Description: -++This package uses the NAG Library to compute the zeros of a -++polynomial with real or complex coefficients. -++See \downlink{Manual Page}{manpageXXc02}. +++ Description: +++ This package uses the NAG Library to compute the zeros of a +++ polynomial with real or complex coefficients. +++ See \downlink{Manual Page}{manpageXXc02}. NagPolynomialRootsPackage(): Exports == Implementation where S ==> Symbol diff --git a/src/algebra/c05.spad.pamphlet b/src/algebra/c05.spad.pamphlet index 61e2337..591b1fc 100644 --- a/src/algebra/c05.spad.pamphlet +++ b/src/algebra/c05.spad.pamphlet @@ -15,12 +15,12 @@ ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Thu May 12 17:44:28 1994 -++Description: -++This package uses the NAG Library to calculate real zeros of -++continuous real functions of one or more variables. (Complex -++equations must be expressed in terms of the equivalent larger -++system of real equations.) -++See \downlink{Manual Page}{manpageXXc05}. +++ Description: +++ This package uses the NAG Library to calculate real zeros of +++ continuous real functions of one or more variables. (Complex +++ equations must be expressed in terms of the equivalent larger +++ system of real equations.) +++ See \downlink{Manual Page}{manpageXXc05}. NagRootFindingPackage(): Exports == Implementation where S ==> Symbol diff --git a/src/algebra/c06.spad.pamphlet b/src/algebra/c06.spad.pamphlet index be504dd..a4ed2fe 100644 --- a/src/algebra/c06.spad.pamphlet +++ b/src/algebra/c06.spad.pamphlet @@ -15,11 +15,11 @@ ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Thu May 12 17:44:30 1994 -++Description: -++This package uses the NAG Library to calculate the discrete Fourier -++transform of a sequence of real or complex data values, and -++applies it to calculate convolutions and correlations. -++See \downlink{Manual Page}{manpageXXc06}. +++ Description: +++ This package uses the NAG Library to calculate the discrete Fourier +++ transform of a sequence of real or complex data values, and +++ applies it to calculate convolutions and correlations. +++ See \downlink{Manual Page}{manpageXXc06}. NagSeriesSummationPackage(): Exports == Implementation where S ==> Symbol diff --git a/src/algebra/d01.spad.pamphlet b/src/algebra/d01.spad.pamphlet index d3770e1..f3f99c5 100644 --- a/src/algebra/d01.spad.pamphlet +++ b/src/algebra/d01.spad.pamphlet @@ -15,11 +15,11 @@ ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Thu May 12 17:44:37 1994 -++Description: -++This package uses the NAG Library to calculate the numerical value of -++definite integrals in one or more dimensions and to evaluate -++weights and abscissae of integration rules. -++See \downlink{Manual Page}{manpageXXd01}. +++ Description: +++ This package uses the NAG Library to calculate the numerical value of +++ definite integrals in one or more dimensions and to evaluate +++ weights and abscissae of integration rules. +++ See \downlink{Manual Page}{manpageXXd01}. NagIntegrationPackage(): Exports == Implementation where S ==> Symbol diff --git a/src/algebra/d02.spad.pamphlet b/src/algebra/d02.spad.pamphlet index 2b4e3d2..3238c4c 100644 --- a/src/algebra/d02.spad.pamphlet +++ b/src/algebra/d02.spad.pamphlet @@ -15,16 +15,16 @@ ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Mon Jun 20 17:56:33 1994 -++Description: -++This package uses the NAG Library to calculate the numerical solution of ordinary -++differential equations. There are two main types of problem, -++those in which all boundary conditions are specified at one point -++(initial-value problems), and those in which the boundary -++conditions are distributed between two or more points (boundary- -++value problems and eigenvalue problems). Routines are available -++for initial-value problems, two-point boundary-value problems and -++Sturm-Liouville eigenvalue problems. -++See \downlink{Manual Page}{manpageXXd02}. +++ Description: +++ This package uses the NAG Library to calculate the numerical solution of +++ ordinary differential equations. There are two main types of problem, +++ those in which all boundary conditions are specified at one point +++ (initial-value problems), and those in which the boundary +++ conditions are distributed between two or more points (boundary- +++ value problems and eigenvalue problems). Routines are available +++ for initial-value problems, two-point boundary-value problems and +++ Sturm-Liouville eigenvalue problems. +++ See \downlink{Manual Page}{manpageXXd02}. NagOrdinaryDifferentialEquationsPackage(): Exports == Implementation where S ==> Symbol FOP ==> FortranOutputStackPackage diff --git a/src/algebra/d03.spad.pamphlet b/src/algebra/d03.spad.pamphlet index 9f4e0cb..15eba88 100644 --- a/src/algebra/d03.spad.pamphlet +++ b/src/algebra/d03.spad.pamphlet @@ -15,10 +15,10 @@ ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Thu May 12 17:44:51 1994 -++Description: -++This package uses the NAG Library to solve partial -++differential equations. -++See \downlink{Manual Page}{manpageXXd03}. +++ Description: +++ This package uses the NAG Library to solve partial +++ differential equations. +++ See \downlink{Manual Page}{manpageXXd03}. NagPartialDifferentialEquationsPackage(): Exports == Implementation where S ==> Symbol FOP ==> FortranOutputStackPackage diff --git a/src/algebra/e01.spad.pamphlet b/src/algebra/e01.spad.pamphlet index 9ad62c8..47a4131 100644 --- a/src/algebra/e01.spad.pamphlet +++ b/src/algebra/e01.spad.pamphlet @@ -15,16 +15,16 @@ ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Thu May 12 17:44:53 1994 -++Description: -++This package uses the NAG Library to calculate the interpolation of a function of -++one or two variables. When provided with the value of the -++function (and possibly one or more of its lowest-order -++derivatives) at each of a number of values of the variable(s), -++the routines provide either an interpolating function or an -++interpolated value. For some of the interpolating functions, -++there are supporting routines to evaluate, differentiate or -++integrate them. -++See \downlink{Manual Page}{manpageXXe01}. +++ Description: +++ This package uses the NAG Library to calculate the interpolation of a +++ function of one or two variables. When provided with the value of the +++ function (and possibly one or more of its lowest-order +++ derivatives) at each of a number of values of the variable(s), +++ the routines provide either an interpolating function or an +++ interpolated value. For some of the interpolating functions, +++ there are supporting routines to evaluate, differentiate or +++ integrate them. +++ See \downlink{Manual Page}{manpageXXe01}. NagInterpolationPackage(): Exports == Implementation where diff --git a/src/algebra/e02.spad.pamphlet b/src/algebra/e02.spad.pamphlet index e09dfca..dfe3306 100644 --- a/src/algebra/e02.spad.pamphlet +++ b/src/algebra/e02.spad.pamphlet @@ -15,31 +15,31 @@ ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Thu May 12 17:44:59 1994 -++Description: -++This package uses the NAG Library to find a -++function which approximates a set of data points. Typically the -++data contain random errors, as of experimental measurement, which -++need to be smoothed out. To seek an approximation to the data, it -++is first necessary to specify for the approximating function a -++mathematical form (a polynomial, for example) which contains a -++number of unspecified coefficients: the appropriate fitting -++routine then derives for the coefficients the values which -++provide the best fit of that particular form. The package deals -++mainly with curve and surface fitting (i.e., fitting with -++functions of one and of two variables) when a polynomial or a -++cubic spline is used as the fitting function, since these cover -++the most common needs. However, fitting with other functions -++and/or more variables can be undertaken by means of general -++linear or nonlinear routines (some of which are contained in -++other packages) depending on whether the coefficients in the -++function occur linearly or nonlinearly. Cases where a graph -++rather than a set of data points is given can be treated simply -++by first reading a suitable set of points from the graph. -++The package also contains routines for evaluating, -++differentiating and integrating polynomial and spline curves and -++surfaces, once the numerical values of their coefficients have -++been determined. -++See \downlink{Manual Page}{manpageXXe02}. +++ Description: +++ This package uses the NAG Library to find a +++ function which approximates a set of data points. Typically the +++ data contain random errors, as of experimental measurement, which +++ need to be smoothed out. To seek an approximation to the data, it +++ is first necessary to specify for the approximating function a +++ mathematical form (a polynomial, for example) which contains a +++ number of unspecified coefficients: the appropriate fitting +++ routine then derives for the coefficients the values which +++ provide the best fit of that particular form. The package deals +++ mainly with curve and surface fitting (i.e., fitting with +++ functions of one and of two variables) when a polynomial or a +++ cubic spline is used as the fitting function, since these cover +++ the most common needs. However, fitting with other functions +++ and/or more variables can be undertaken by means of general +++ linear or nonlinear routines (some of which are contained in +++ other packages) depending on whether the coefficients in the +++ function occur linearly or nonlinearly. Cases where a graph +++ rather than a set of data points is given can be treated simply +++ by first reading a suitable set of points from the graph. +++ The package also contains routines for evaluating, +++ differentiating and integrating polynomial and spline curves and +++ surfaces, once the numerical values of their coefficients have +++ been determined. +++ See \downlink{Manual Page}{manpageXXe02}. NagFittingPackage(): Exports == Implementation where diff --git a/src/algebra/e04.spad.pamphlet b/src/algebra/e04.spad.pamphlet index e0f482f..e8fd934 100644 --- a/src/algebra/e04.spad.pamphlet +++ b/src/algebra/e04.spad.pamphlet @@ -15,16 +15,16 @@ ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Thu May 12 17:45:09 1994 -++Description: -++This package uses the NAG Library to perform optimization. -++An optimization problem involves minimizing a function (called -++the objective function) of several variables, possibly subject to -++restrictions on the values of the variables defined by a set of -++constraint functions. The routines in the NAG Foundation Library -++are concerned with function minimization only, since the problem -++of maximizing a given function can be transformed into a -++minimization problem simply by multiplying the function by -1. -++See \downlink{Manual Page}{manpageXXe04}. +++ Description: +++ This package uses the NAG Library to perform optimization. +++ An optimization problem involves minimizing a function (called +++ the objective function) of several variables, possibly subject to +++ restrictions on the values of the variables defined by a set of +++ constraint functions. The routines in the NAG Foundation Library +++ are concerned with function minimization only, since the problem +++ of maximizing a given function can be transformed into a +++ minimization problem simply by multiplying the function by -1. +++ See \downlink{Manual Page}{manpageXXe04}. NagOptimisationPackage(): Exports == Implementation where S ==> Symbol FOP ==> FortranOutputStackPackage diff --git a/src/algebra/f01.spad.pamphlet b/src/algebra/f01.spad.pamphlet index edbbc35..2799673 100644 --- a/src/algebra/f01.spad.pamphlet +++ b/src/algebra/f01.spad.pamphlet @@ -15,10 +15,10 @@ ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Thu May 12 17:45:15 1994 -++Description: -++This package uses the NAG Library to provide facilities for matrix factorizations and -++associated transformations. -++See \downlink{Manual Page}{manpageXXf01}. +++ Description: +++ This package uses the NAG Library to provide facilities for matrix +++ factorizations and associated transformations. +++ See \downlink{Manual Page}{manpageXXf01}. NagMatrixOperationsPackage(): Exports == Implementation where S ==> Symbol FOP ==> FortranOutputStackPackage diff --git a/src/algebra/f02.spad.pamphlet b/src/algebra/f02.spad.pamphlet index e5db779..36c0a08 100644 --- a/src/algebra/f02.spad.pamphlet +++ b/src/algebra/f02.spad.pamphlet @@ -15,15 +15,15 @@ ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Thu May 12 17:45:20 1994 -++Description: -++This package uses the NAG Library to compute -++\begin{items} -++\item eigenvalues and eigenvectors of a matrix -++\item eigenvalues and eigenvectors of generalized matrix -++eigenvalue problems -++\item singular values and singular vectors of a matrix. -++\end{items} -++See \downlink{Manual Page}{manpageXXf02}. +++ Description: +++ This package uses the NAG Library to compute +++ \begin{items} +++ \item eigenvalues and eigenvectors of a matrix +++ \item eigenvalues and eigenvectors of generalized matrix +++ eigenvalue problems +++ \item singular values and singular vectors of a matrix. +++ \end{items} +++ See \downlink{Manual Page}{manpageXXf02}. NagEigenPackage(): Exports == Implementation where S ==> Symbol diff --git a/src/algebra/f04.spad.pamphlet b/src/algebra/f04.spad.pamphlet index 8be3d92..bbd3374 100644 --- a/src/algebra/f04.spad.pamphlet +++ b/src/algebra/f04.spad.pamphlet @@ -15,13 +15,14 @@ ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Thu May 12 17:45:31 1994 -++Description: -++This package uses the NAG Library to solve the matrix equation \axiom{AX=B}, where \axiom{B} -++may be a single vector or a matrix of multiple right-hand sides. -++The matrix \axiom{A} may be real, complex, symmetric, Hermitian positive- -++definite, or sparse. It may also be rectangular, in which case a -++least-squares solution is obtained. -++See \downlink{Manual Page}{manpageXXf04}. +++ Description: +++ This package uses the NAG Library to solve the matrix equation +++ \axiom{AX=B}, where \axiom{B} +++ may be a single vector or a matrix of multiple right-hand sides. +++ The matrix \axiom{A} may be real, complex, symmetric, Hermitian positive- +++ definite, or sparse. It may also be rectangular, in which case a +++ least-squares solution is obtained. +++ See \downlink{Manual Page}{manpageXXf04}. NagLinearEquationSolvingPackage(): Exports == Implementation where S ==> Symbol FOP ==> FortranOutputStackPackage diff --git a/src/algebra/f07.spad.pamphlet b/src/algebra/f07.spad.pamphlet index bc8f4ae..7b94a78 100644 --- a/src/algebra/f07.spad.pamphlet +++ b/src/algebra/f07.spad.pamphlet @@ -15,11 +15,11 @@ ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Thu May 12 17:45:42 1994 -++Description: -++This package uses the NAG Library to compute matrix -++factorizations, and to solve systems of linear equations -++following the matrix factorizations. -++See \downlink{Manual Page}{manpageXXf07}. +++ Description: +++ This package uses the NAG Library to compute matrix +++ factorizations, and to solve systems of linear equations +++ following the matrix factorizations. +++ See \downlink{Manual Page}{manpageXXf07}. NagLapack(): Exports == Implementation where S ==> Symbol FOP ==> FortranOutputStackPackage diff --git a/src/algebra/multsqfr.spad.pamphlet b/src/algebra/multsqfr.spad.pamphlet index fbc32ee..271d61b 100644 --- a/src/algebra/multsqfr.spad.pamphlet +++ b/src/algebra/multsqfr.spad.pamphlet @@ -12,7 +12,7 @@ \section{package MULTSQFR MultivariateSquareFree} <>= )abbrev package MULTSQFR MultivariateSquareFree -++Author : P.Gianni +++ Author : P.Gianni ++ This package provides the functions for the computation of the square ++ free decomposition of a multivariate polynomial. ++ It uses the package GenExEuclid for the resolution of diff --git a/src/algebra/s.spad.pamphlet b/src/algebra/s.spad.pamphlet index 7da7e73..785bb5f 100644 --- a/src/algebra/s.spad.pamphlet +++ b/src/algebra/s.spad.pamphlet @@ -15,10 +15,10 @@ ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Thu May 12 17:45:44 1994 -++Description: -++This package uses the NAG Library to compute some commonly -++occurring physical and mathematical functions. -++See \downlink{Manual Page}{manpageXXs}. +++ Description: +++ This package uses the NAG Library to compute some commonly +++ occurring physical and mathematical functions. +++ See \downlink{Manual Page}{manpageXXs}. NagSpecialFunctionsPackage(): Exports == Implementation where S ==> Symbol FOP ==> FortranOutputStackPackage