diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet index 3307f21..941a873 100644 --- a/books/bookvol10.2.pamphlet +++ b/books/bookvol10.2.pamphlet @@ -724,6 +724,7 @@ digraph pic { \pagepic{ps/v102koerce.ps}{KOERCE}{1.00} {\bf See:}\\ +\pageto{FortranProgramCategory}{FORTCAT} \pageto{SetCategory}{SETCAT} \pagefrom{Category}{CATEGORY} @@ -1519,6 +1520,7 @@ digraph pic { {\bf See:}\\ \pageto{ExtensionField}{XF} \pageto{FiniteAlgebraicExtensionField}{FAXF} +\pageto{FortranMachineTypeCategory}{FMTC} \pageto{FullyRetractableTo}{FRETRCT} \pageto{GradedAlgebra}{GRALG} \pageto{PolynomialCategory}{POLYCAT} @@ -1823,6 +1825,7 @@ digraph pic { {\bf See:}\\ \pageto{Aggregate}{AGG} +\pageto{FortranProgramCategory}{FORTCAT} \pageto{FullyPatternMatchable}{FPATMAB} \pageto{SegmentCategory}{SEGCAT} \pagefrom{Category}{CATEGORY} @@ -2209,6 +2212,98 @@ digraph pic { @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{FortranProgramCategory}{FORTCAT} +\pagepic{ps/v102fortranprogramcategory.ps}{FORTCAT}{1.00} + +{\bf See:}\\ +\pageto{FortranFunctionCategory}{FORTFN} +\pageto{FortranMatrixCategory}{FMC} +\pageto{FortranMatrixFunctionCategory}{FMFUN} +\pageto{FortranVectorCategory}{FVC} +\pageto{FortranVectorFunctionCategory}{FVFUN} +\pagefrom{CoercibleTo}{KOERCE} +\pagefrom{Type}{TYPE} + +{\bf Exports:}\\ +\begin{tabular}{ll} +\cross{FORTCAT}{coerce} & +\cross{FORTCAT}{outputAsFortran} +\end{tabular} + +{\bf Attributes:} +\begin{itemize} +\item {\bf nil} +\end{itemize} + +These are directly exported but not implemented: +\begin{verbatim} + outputAsFortran : % -> Void +\end{verbatim} + +These exports come from \refto{CoercibleTo}(OutputForm): +\begin{verbatim} + coerce : % -> OutputForm +\end{verbatim} + +<>= +)abbrev category FORTCAT FortranProgramCategory +++ Author: Mike Dewar +++ Date Created: November 1992 +++ Date Last Updated: +++ Basic Operations: +++ Related Constructors: FortranType, FortranCode, Switch +++ Also See: +++ AMS Classifications: +++ Keywords: +++ References: +++ Description: +++ \axiomType{FortranProgramCategory} provides various models of +++ FORTRAN subprograms. These can be transformed into actual FORTRAN +++ code. +FortranProgramCategory():Category == Join(Type,CoercibleTo OutputForm) with + outputAsFortran : $ -> Void + ++ \axiom{outputAsFortran(u)} translates \axiom{u} into a legal FORTRAN + ++ subprogram. + +@ +<>= +"FORTCAT" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FORTCAT"]; +"FORTCAT" -> "KOERCE" +"FORTCAT" -> "TYPE" + +@ +<>= +"FortranProgramCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FORTCAT"]; +"FortranProgramCategory()" -> "Type()" +"FortranProgramCategory()" -> "CoercibleTo(OutputForm)" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"FortranProgramCategory()" [color=lightblue]; +"FortranProgramCategory()" -> "Type()" +"FortranProgramCategory()" -> "CoercibleTo(OutputForm)" + +"Type()" [color=lightblue]; +"Type()" -> "Category" + +"CoercibleTo(OutputForm)" [color=seagreen]; +"CoercibleTo(OutputForm)" -> "CoercibleTo(a:Type)" + +"CoercibleTo(a:Type)" [color=lightblue]; +"CoercibleTo(a:Type)" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{FullyRetractableTo}{FRETRCT} \pagepic{ps/v102fullyretractableto.ps}{FRETRCT}{1.00} @@ -3054,6 +3149,630 @@ digraph pic { @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{FortranFunctionCategory}{FORTFN} +\pagepic{ps/v102fortranfunctioncategory.ps}{FORTFN}{1.00} + +{\bf See:}\\ +\pagefrom{FortranProgramCategory}{FORTCAT} + +{\bf Exports:}\\ +\begin{tabular}{llll} +\cross{FORTFN}{coerce} & +\cross{FORTFN}{outputAsFortran} & +\cross{FORTFN}{retract} & +\cross{FORTFN}{retractIfCan} +\end{tabular} + +{\bf Attributes:} +\begin{itemize} +\item {\bf nil} +\end{itemize} + +These are directly exported but not implemented: +\begin{verbatim} + coerce : FortranCode -> % + coerce : List FortranCode -> % + coerce : Record(localSymbols: SymbolTable,code: List FortranCode) -> % + retract : Expression Float -> % + retract : Expression Integer -> % + retract : Polynomial Float -> % + retract : Polynomial Integer -> % + retract : Fraction Polynomial Integer -> % + retract : Fraction Polynomial Float -> % + retractIfCan : Fraction Polynomial Integer -> Union(%,"failed") + retractIfCan : Fraction Polynomial Float -> Union(%,"failed") + retractIfCan : Polynomial Integer -> Union(%,"failed") + retractIfCan : Polynomial Float -> Union(%,"failed") + retractIfCan : Expression Integer -> Union(%,"failed") + retractIfCan : Expression Float -> Union(%,"failed") +\end{verbatim} + +These exports come from \refto{FortranProgramCategory}(): +\begin{verbatim} + coerce : % -> OutputForm + outputAsFortran : % -> Void +\end{verbatim} + +<>= +)abbrev category FORTFN FortranFunctionCategory +++ Author: Mike Dewar +++ Date Created: 13 January 1994 +++ Date Last Updated: 18 March 1994 +++ Related Constructors: FortranProgramCategory. +++ Description: +++ \axiomType{FortranFunctionCategory} is the category of arguments to +++ NAG Library routines which return (sets of) function values. +FortranFunctionCategory():Category == FortranProgramCategory with + coerce : List FortranCode -> $ + ++ coerce(e) takes an object from \spadtype{List FortranCode} and + ++ uses it as the body of an ASP. + coerce : FortranCode -> $ + ++ coerce(e) takes an object from \spadtype{FortranCode} and + ++ uses it as the body of an ASP. + coerce : Record(localSymbols:SymbolTable,code:List(FortranCode)) -> $ + ++ coerce(e) takes the component of \spad{e} from + ++ \spadtype{List FortranCode} and uses it as the body of the ASP, + ++ making the declarations in the \spadtype{SymbolTable} component. + retract : Expression Float -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Expression Float -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Expression Integer -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Expression Integer -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Polynomial Float -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Polynomial Float -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Polynomial Integer -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Polynomial Integer -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Fraction Polynomial Float -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Fraction Polynomial Float -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Fraction Polynomial Integer -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Fraction Polynomial Integer -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + + -- NB: These ASPs also have a coerce from an appropriate instantiation + -- of FortranExpression. + +@ +<>= +"FORTFN" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FORTFN"]; +"FORTFN" -> "FORTCAT" + +@ +<>= +"FortranFunctionCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FORTFN"]; +"FortranFunctionCategory()" -> "FortranProgramCategory()" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"FortranFunctionCategory()" [color=lightblue]; +"FortranFunctionCategory()" -> "FortranProgramCategory()" + +"FortranProgramCategory()" [color=lightblue]; +"FortranProgramCategory()" -> "Type()" +"FortranProgramCategory()" -> "CoercibleTo(OutputForm)" + +"Type()" [color=lightblue]; +"Type()" -> "Category" + +"CoercibleTo(OutputForm)" [color=seagreen]; +"CoercibleTo(OutputForm)" -> "CoercibleTo(a:Type)" + +"CoercibleTo(a:Type)" [color=lightblue]; +"CoercibleTo(a:Type)" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{FortranMatrixCategory}{FMC} +\pagepic{ps/v102fortranmatrixcategory.ps}{FMC}{1.00} + +{\bf See:}\\ +\pagefrom{FortranProgramCategory}{FORTCAT} + +{\bf Exports:}\\ +\begin{tabular}{ll} +\cross{FMC}{coerce} & +\cross{FMC}{outputAsFortran} +\end{tabular} + +{\bf Attributes:} +\begin{itemize} +\item {\bf nil} +\end{itemize} + +These are directly exported but not implemented: +\begin{verbatim} + coerce : Matrix MachineFloat -> % + coerce : List FortranCode -> % + coerce : FortranCode -> % + coerce : Record(localSymbols: SymbolTable,code: List FortranCode) -> % +\end{verbatim} + +These exports come from \refto{FortranProgramCategory}(): +\begin{verbatim} + coerce : % -> OutputForm + outputAsFortran : % -> Void +\end{verbatim} + +<>= +)abbrev category FMC FortranMatrixCategory +++ Author: Mike Dewar +++ Date Created: 21 March 1994 +++ Date Last Updated: +++ Related Constructors: FortranProgramCategory. +++ Description: +++ \axiomType{FortranMatrixCategory} provides support for +++ producing Functions and Subroutines when the input to these +++ is an AXIOM object of type \axiomType{Matrix} or in domains +++ involving \axiomType{FortranCode}. +FortranMatrixCategory():Category == FortranProgramCategory with + coerce : Matrix MachineFloat -> $ + ++ coerce(v) produces an ASP which returns the value of \spad{v}. + coerce : List FortranCode -> $ + ++ coerce(e) takes an object from \spadtype{List FortranCode} and + ++ uses it as the body of an ASP. + coerce : FortranCode -> $ + ++ coerce(e) takes an object from \spadtype{FortranCode} and + ++ uses it as the body of an ASP. + coerce : Record(localSymbols:SymbolTable,code:List(FortranCode)) -> $ + ++ coerce(e) takes the component of \spad{e} from + ++ \spadtype{List FortranCode} and uses it as the body of the ASP, + ++ making the declarations in the \spadtype{SymbolTable} component. + +@ +<>= +"FMC" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FMC"]; +"FMC" -> "FORTCAT" + +@ +<>= +"FortranMatrixCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FMC"]; +"FortranMatrixCategory()" -> "FortranProgramCategory()" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"FortranMatrixCategory()" [color=lightblue]; +"FortranMatrixCategory()" -> "FortranProgramCategory()" + +"FortranProgramCategory()" [color=lightblue]; +"FortranProgramCategory()" -> "Type()" +"FortranProgramCategory()" -> "CoercibleTo(OutputForm)" + +"Type()" [color=lightblue]; +"Type()" -> "Category" + +"CoercibleTo(OutputForm)" [color=seagreen]; +"CoercibleTo(OutputForm)" -> "CoercibleTo(a:Type)" + +"CoercibleTo(a:Type)" [color=lightblue]; +"CoercibleTo(a:Type)" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{FortranMatrixFunctionCategory}{FMFUN} +\pagepic{ps/v102fortranmatrixfunctioncategory.ps}{FMFUN}{1.00} + +{\bf See:}\\ +\pagefrom{FortranProgramCategory}{FORTCAT} + +{\bf Exports:}\\ +\begin{tabular}{llll} +\cross{FMFUN}{coerce} & +\cross{FMFUN}{outputAsFortran} & +\cross{FMFUN}{retract} & +\cross{FMFUN}{retractIfCan} +\end{tabular} + +{\bf Attributes:} +\begin{itemize} +\item {\bf nil} +\end{itemize} + +These are directly exported but not implemented: +\begin{verbatim} + coerce : List FortranCode -> % + coerce : FortranCode -> % + coerce : Record(localSymbols: SymbolTable,code: List FortranCode) -> % + retract : Matrix Expression Float -> % + retract : Matrix Expression Integer -> % + retract : Matrix Polynomial Float -> % + retract : Matrix Polynomial Integer -> % + retract : Matrix Fraction Polynomial Float -> % + retract : Matrix Fraction Polynomial Integer -> % + retractIfCan : Matrix Fraction Polynomial Integer -> Union(%,"failed") + retractIfCan : Matrix Fraction Polynomial Float -> Union(%,"failed") + retractIfCan : Matrix Polynomial Integer -> Union(%,"failed") + retractIfCan : Matrix Polynomial Float -> Union(%,"failed") + retractIfCan : Matrix Expression Integer -> Union(%,"failed") + retractIfCan : Matrix Expression Float -> Union(%,"failed") +\end{verbatim} + +These exports come from \refto{FortranProgramCategory}(): +\begin{verbatim} + coerce : % -> OutputForm + outputAsFortran : % -> Void +\end{verbatim} + +<>= +)abbrev category FMFUN FortranMatrixFunctionCategory +++ Author: Mike Dewar +++ Date Created: March 18 1994 +++ Date Last Updated: +++ Related Constructors: FortranProgramCategory. +++ Description: +++ \axiomType{FortranMatrixFunctionCategory} provides support for +++ producing Functions and Subroutines representing matrices of +++ expressions. + +FortranMatrixFunctionCategory():Category == FortranProgramCategory with + coerce : List FortranCode -> $ + ++ coerce(e) takes an object from \spadtype{List FortranCode} and + ++ uses it as the body of an ASP. + coerce : FortranCode -> $ + ++ coerce(e) takes an object from \spadtype{FortranCode} and + ++ uses it as the body of an ASP. + coerce : Record(localSymbols:SymbolTable,code:List(FortranCode)) -> $ + ++ coerce(e) takes the component of \spad{e} from + ++ \spadtype{List FortranCode} and uses it as the body of the ASP, + ++ making the declarations in the \spadtype{SymbolTable} component. + retract : Matrix Expression Float -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Matrix Expression Float -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Matrix Expression Integer -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Matrix Expression Integer -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Matrix Polynomial Float -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Matrix Polynomial Float -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Matrix Polynomial Integer -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Matrix Polynomial Integer -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Matrix Fraction Polynomial Float -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Matrix Fraction Polynomial Float -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Matrix Fraction Polynomial Integer -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Matrix Fraction Polynomial Integer -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + + -- NB: These ASPs also have a coerce from an appropriate instantiation + -- of Matrix FortranExpression. + +@ +<>= +"FMFUN" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FMFUN"]; +"FMFUN" -> "FORTCAT" + +@ +<>= +"FortranMatrixFunctionCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FMFUN"]; +"FortranMatrixFunctionCategory()" -> "FortranProgramCategory()" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"FortranMatrixFunctionCategory()" [color=lightblue]; +"FortranMatrixFunctionCategory()" -> "FortranProgramCategory()" + +"FortranProgramCategory()" [color=lightblue]; +"FortranProgramCategory()" -> "Type()" +"FortranProgramCategory()" -> "CoercibleTo(OutputForm)" + +"Type()" [color=lightblue]; +"Type()" -> "Category" + +"CoercibleTo(OutputForm)" [color=seagreen]; +"CoercibleTo(OutputForm)" -> "CoercibleTo(a:Type)" + +"CoercibleTo(a:Type)" [color=lightblue]; +"CoercibleTo(a:Type)" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{FortranVectorCategory}{FVC} +\pagepic{ps/v102fortranvectorcategory.ps}{FVC}{1.00} + +{\bf See:}\\ +\pagefrom{FortranProgramCategory}{FORTCAT} + +{\bf Exports:}\\ +\begin{tabular}{lllll} +\end{tabular} + +{\bf Attributes:} +\begin{itemize} +\item {\bf nil} +\end{itemize} + +These are directly exported but not implemented: +\begin{verbatim} + coerce : FortranCode -> % + coerce : List FortranCode -> % + coerce : Vector MachineFloat -> % + coerce : Record(localSymbols: SymbolTable,code: List FortranCode) -> % +\end{verbatim} + +These exports come from \refto{FortranProgramCategory}(): +\begin{verbatim} + coerce : % -> OutputForm + outputAsFortran : % -> Void +\end{verbatim} + +<>= +)abbrev category FVC FortranVectorCategory +++ Author: Mike Dewar +++ Date Created: October 1993 +++ Date Last Updated: 18 March 1994 +++ Related Constructors: FortranProgramCategory. +++ Description: +++ \axiomType{FortranVectorCategory} provides support for +++ producing Functions and Subroutines when the input to these +++ is an AXIOM object of type \axiomType{Vector} or in domains +++ involving \axiomType{FortranCode}. +FortranVectorCategory():Category == FortranProgramCategory with + coerce : Vector MachineFloat -> $ + ++ coerce(v) produces an ASP which returns the value of \spad{v}. + coerce : List FortranCode -> $ + ++ coerce(e) takes an object from \spadtype{List FortranCode} and + ++ uses it as the body of an ASP. + coerce : FortranCode -> $ + ++ coerce(e) takes an object from \spadtype{FortranCode} and + ++ uses it as the body of an ASP. + coerce : Record(localSymbols:SymbolTable,code:List(FortranCode)) -> $ + ++ coerce(e) takes the component of \spad{e} from + ++ \spadtype{List FortranCode} and uses it as the body of the ASP, + ++ making the declarations in the \spadtype{SymbolTable} component. + +@ +<>= +"FVC" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FVC"]; +"FVC" -> "FORTCAT" + +@ +<>= +"FortranVectorCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FVC"]; +"FortranVectorCategory()" -> "FortranProgramCategory()" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"FortranVectorCategory()" [color=lightblue]; +"FortranVectorCategory()" -> "FortranProgramCategory()" + +"FortranProgramCategory()" [color=lightblue]; +"FortranProgramCategory()" -> "Type()" +"FortranProgramCategory()" -> "CoercibleTo(OutputForm)" + +"Type()" [color=lightblue]; +"Type()" -> "Category" + +"CoercibleTo(OutputForm)" [color=seagreen]; +"CoercibleTo(OutputForm)" -> "CoercibleTo(a:Type)" + +"CoercibleTo(a:Type)" [color=lightblue]; +"CoercibleTo(a:Type)" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{FortranVectorFunctionCategory}{FVFUN} +\pagepic{ps/v102fortranvectorfunctioncategory.ps}{FVFUN}{1.00} + +{\bf See:}\\ +\pagefrom{FortranProgramCategory}{FORTCAT} + +{\bf Exports:}\\ +\begin{tabular}{llll} +\cross{FVFUN}{coerce} & +\cross{FVFUN}{outputAsFortran} & +\cross{FVFUN}{retract} & +\cross{FVFUN}{retractIfCan} +\end{tabular} + +{\bf Attributes:} +\begin{itemize} +\item {\bf nil} +\end{itemize} + +These are directly exported but not implemented: +\begin{verbatim} + coerce : FortranCode -> % + coerce : List FortranCode -> % + coerce : Record(localSymbols: SymbolTable,code: List FortranCode) -> % + retract : Vector Fraction Polynomial Integer -> % + retract : Vector Fraction Polynomial Float -> % + retract : Vector Polynomial Integer -> % + retract : Vector Polynomial Float -> % + retract : Vector Expression Integer -> % + retract : Vector Expression Float -> % + retractIfCan : Vector Fraction Polynomial Integer -> Union(%,"failed") + retractIfCan : Vector Fraction Polynomial Float -> Union(%,"failed") + retractIfCan : Vector Polynomial Integer -> Union(%,"failed") + retractIfCan : Vector Polynomial Float -> Union(%,"failed") + retractIfCan : Vector Expression Integer -> Union(%,"failed") + retractIfCan : Vector Expression Float -> Union(%,"failed") +\end{verbatim} + +These exports come from \refto{FortranProgramCategory}(): +\begin{verbatim} + coerce : % -> OutputForm + outputAsFortran : % -> Void +\end{verbatim} + +<>= +)abbrev category FVFUN FortranVectorFunctionCategory +++ Author: Mike Dewar +++ Date Created: 11 March 1994 +++ Date Last Updated: 18 March 1994 +++ Related Constructors: FortranProgramCategory. +++ Description: +++ \axiomType{FortranVectorFunctionCategory} is the catagory of arguments +++ to NAG Library routines which return the values of vectors of functions. +FortranVectorFunctionCategory():Category == FortranProgramCategory with + coerce : List FortranCode -> $ + ++ coerce(e) takes an object from \spadtype{List FortranCode} and + ++ uses it as the body of an ASP. + coerce : FortranCode -> $ + ++ coerce(e) takes an object from \spadtype{FortranCode} and + ++ uses it as the body of an ASP. + coerce : Record(localSymbols:SymbolTable,code:List(FortranCode)) -> $ + ++ coerce(e) takes the component of \spad{e} from + ++ \spadtype{List FortranCode} and uses it as the body of the ASP, + ++ making the declarations in the \spadtype{SymbolTable} component. + retract : Vector Expression Float -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Vector Expression Float -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Vector Expression Integer -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Vector Expression Integer -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Vector Polynomial Float -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Vector Polynomial Float -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Vector Polynomial Integer -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Vector Polynomial Integer -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Vector Fraction Polynomial Float -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Vector Fraction Polynomial Float -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retract : Vector Fraction Polynomial Integer -> $ + ++ retract(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + retractIfCan : Vector Fraction Polynomial Integer -> Union($,"failed") + ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that + ++ legal Fortran-77 is produced. + + -- NB: These ASPs also have a coerce from an appropriate instantiation + -- of Vector FortranExpression. + +@ +<>= +"FVFUN" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FVFUN"]; +"FVFUN" -> "FORTCAT" + +@ +<>= +"FortranVectorFunctionCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FVFUN"]; +"FortranVectorFunctionCategory()" -> "FortranProgramCategory()" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"FortranVectorFunctionCategory()" [color=lightblue]; +"FortranVectorFunctionCategory()" -> "FortranProgramCategory()" + +"FortranProgramCategory()" [color=lightblue]; +"FortranProgramCategory()" -> "Type()" +"FortranProgramCategory()" -> "CoercibleTo(OutputForm)" + +"Type()" [color=lightblue]; +"Type()" -> "Category" + +"CoercibleTo(OutputForm)" [color=seagreen]; +"CoercibleTo(OutputForm)" -> "CoercibleTo(a:Type)" + +"CoercibleTo(a:Type)" [color=lightblue]; +"CoercibleTo(a:Type)" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{FullyEvalableOver}{FEVALAB} \pagepic{ps/v102fullyevalableover.ps}{FEVALAB}{0.75} @@ -4266,6 +4985,7 @@ digraph pic { {\bf See:}\\ \pageto{BitAggregate}{BTAGG} +\pageto{FortranMachineTypeCategory}{FMTC} \pageto{OrderedAbelianSemiGroup}{OASGP} \pageto{OrderedFinite}{ORDFIN} \pageto{OrderedMonoid}{ORDMON} @@ -14216,6 +14936,7 @@ digraph pic { {\bf See:}\\ \pageto{BiModule}{BMODULE} +\pageto{LeftAlgebra}{LALG} \pageto{Ring}{RING} \pagefrom{AbelianGroup}{ABELGRP} @@ -18672,6 +19393,7 @@ digraph pic { \pageto{DifferentialExtension}{DIFEXT} \pageto{DifferentialRing}{DIFRING} \pageto{EntireRing}{ENTIRER} +\pageto{LeftAlgebra}{LALG} \pageto{LinearlyExplicitRingOver}{LINEXP} \pageto{OrderedRing}{ORDRING} \pageto{PartialDifferentialRing}{PDRING} @@ -20276,6 +20998,145 @@ digraph pic { @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{LeftAlgebra}{LALG} +\pagepic{ps/v102leftalgebra.ps}{LALG}{1.00} + +{\bf See:}\\ +\pagefrom{LeftModule}{LMODULE} +\pagefrom{Ring}{RING} + +{\bf Exports:}\\ +\begin{tabular}{lllll} +\cross{LALG}{0} & +\cross{LALG}{1} & +\cross{LALG}{coerce} & +\cross{LALG}{hash} & +\cross{LALG}{latex} \\ +\cross{LALG}{one?} & +\cross{LALG}{recip} & +\cross{LALG}{sample} & +\cross{LALG}{zero?} & +\cross{LALG}{characteristic} \\ +\cross{LALG}{subtractIfCan} & +\cross{LALG}{?*?} & +\cross{LALG}{?+?} & +\cross{LALG}{?-?} & +\cross{LALG}{-?} \\ +\cross{LALG}{?=?} & +\cross{LALG}{?\~{}=?} & +\cross{LALG}{?**?} & +\cross{LALG}{?\^{}?} & +\end{tabular} + +{\bf Attributes Exported:} +\begin{itemize} +\item {\bf \cross{LALG}{unitsKnown}} +is true if a monoid (a multiplicative semigroup with a 1) has +unitsKnown means that the operation {\tt recip} can only return +``failed'' if its argument is not a unit. +\end{itemize} + +These are implemented by this category: +\begin{verbatim} + coerce : R -> % +\end{verbatim} + +These exports come from \refto{Ring}(): +\begin{verbatim} + 0 : () -> % + 1 : () -> % + characteristic : () -> NonNegativeInteger + coerce : % -> OutputForm + coerce : Integer -> % + hash : % -> SingleInteger + latex : % -> String + one? : % -> Boolean + recip : % -> Union(%,"failed") + sample : () -> % + subtractIfCan : (%,%) -> Union(%,"failed") + zero? : % -> Boolean + ?+? : (%,%) -> % + ?=? : (%,%) -> Boolean + ?~=? : (%,%) -> Boolean + ?*? : (NonNegativeInteger,%) -> % + ?*? : (PositiveInteger,%) -> % + ?*? : (Integer,%) -> % + ?*? : (%,%) -> % + ?-? : (%,%) -> % + -? : % -> % + ?**? : (%,PositiveInteger) -> % + ?**? : (%,NonNegativeInteger) -> % + ?^? : (%,NonNegativeInteger) -> % + ?^? : (%,PositiveInteger) -> % +\end{verbatim} + +These exports come from \refto{LeftModule}(R:Type): +\begin{verbatim} + ?*? : (R,%) -> % +\end{verbatim} + +<>= +)abbrev category LALG LeftAlgebra +++ Author: Larry A. Lambe +++ Date : 03/01/89; revised 03/17/89; revised 12/02/90. +++ Description: The category of all left algebras over an arbitrary +++ ring. +LeftAlgebra(R:Ring): Category == Join(Ring, LeftModule R) with + coerce: R -> % + ++ coerce(r) returns r * 1 where 1 is the identity of the + ++ left algebra. + add + coerce(x:R):% == x * 1$% + +@ +<>= +"LALG" + [color=lightblue,href="bookvol10.2.pdf#nameddest=LALG"]; +"LALG" -> "LMODULE" +"LALG" -> "RING" + +@ +<>= +"LeftAlgebra(a:Ring)" + [color=lightblue,href="bookvol10.2.pdf#nameddest=LALG"]; +"LeftAlgebra(a:Ring)" -> "LeftModule(a:Ring)" +"LeftAlgebra(a:Ring)" -> "Ring()" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"LeftAlgebra(a:Ring)" [color=lightblue]; +"LeftAlgebra(a:Ring)" -> "LeftModule(a:Ring)" +"LeftAlgebra(a:Ring)" -> "Ring()" + +"Ring()" [color=lightblue]; +"Ring()" -> "Rng()" +"Ring()" -> "Monoid()" +"Ring()" -> "LeftModule(a:Ring)" + +"Rng()" [color=lightblue]; +"Rng()" -> "ABELGRP..." +"Rng()" -> "SGROUP..." + +"Monoid()" [color=lightblue]; +"Monoid()" -> "SGROUP..." + +"LeftModule(a:Ring)" [color=seagreen]; +"LeftModule(a:Ring)" -> "LeftModule(a:Rng)" + +"LeftModule(a:Rng)" [color=lightblue]; +"LeftModule(a:Rng)" -> "ABELGRP..." + +"SGROUP..." [color=lightblue]; +"ABELGRP..." [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{LinearlyExplicitRingOver}{LINEXP} \pagepic{ps/v102linearlyexplicitringover.ps}{LINEXP}{0.90} @@ -23369,6 +24230,7 @@ digraph pic { \pagepic{ps/v102integraldomain.ps}{INTDOM}{0.65} {\bf See:}\\ +\pageto{FortranMachineTypeCategory}{FMTC} \pageto{GcdDomain}{GCDDOM} \pageto{OrderedIntegralDomain}{OINTDOM} \pageto{UnivariatePolynomialCategory}{UPOLYC} @@ -23594,6 +24456,222 @@ digraph pic { @ \chapter{Category Layer 13} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{FortranMachineTypeCategory}{FMTC} +\pagepic{ps/v102fortranmachinetypecategory.ps}{FMTC}{0.40} + +{\bf See:}\\ +\pagefrom{IntegralDomain}{INTDOM} +\pagefrom{OrderedSet}{ORDSET} +\pagefrom{RetractableTo}{RETRACT} + +{\bf Exports:}\\ +\begin{tabular}{lllll} +\cross{FMTC}{0} & +\cross{FMTC}{1} & +\cross{FMTC}{associates?} & +\cross{FMTC}{characteristic} & +\cross{FMTC}{coerce} \\ +\cross{FMTC}{exquo} & +\cross{FMTC}{hash} & +\cross{FMTC}{latex} & +\cross{FMTC}{max} & +\cross{FMTC}{min} \\ +\cross{FMTC}{one?} & +\cross{FMTC}{recip} & +\cross{FMTC}{retract} & +\cross{FMTC}{retractIfCan} & +\cross{FMTC}{sample} \\ +\cross{FMTC}{subtractIfCan} & +\cross{FMTC}{unit?} & +\cross{FMTC}{unitCanonical} & +\cross{FMTC}{unitNormal} & +\cross{FMTC}{zero?} \\ +\cross{FMTC}{?\~{}=?} & +\cross{FMTC}{?\^{}?} & +\cross{FMTC}{?*?} & +\cross{FMTC}{?**?} & +\cross{FMTC}{?+?} \\ +\cross{FMTC}{?-?} & +\cross{FMTC}{-?} & +\cross{FMTC}{?$<$?} & +\cross{FMTC}{?$<=$?} & +\cross{FMTC}{?=?} \\ +\cross{FMTC}{?$>$?} & +\cross{FMTC}{?$>=$?} &&& +\end{tabular} + +{\bf Attributes Exported:} +\begin{itemize} +\item {\bf \cross{FMTC}{noZeroDivisors}} +is true if $x * y ~= 0$ implies both x and y are non-zero. +\item {\bf \cross{FMTC}{commutative("*")}} +is true if it has an operation $"*": (D,D) -> D$ +which is commutative. +\item {\bf \cross{FMTC}{unitsKnown}} +is true if a monoid (a multiplicative semigroup with a 1) has +unitsKnown means that the operation {\tt recip} can only return +``failed'' if its argument is not a unit. +\item {\bf \cross{FMTC}{leftUnitary}} +is true if $1 * x = x$ for all x. +\item {\bf \cross{FMTC}{rightUnitary}} +is true if $x * 1 = x$ for all x. +\end{itemize} + +These exports come from \refto{IntegralDomain}(): +\begin{verbatim} + 0 : () -> % + 1 : () -> % + associates? : (%,%) -> Boolean + characteristic : () -> NonNegativeInteger + coerce : Integer -> % + coerce : % -> OutputForm + coerce : % -> % + exquo : (%,%) -> Union(%,"failed") + hash : % -> SingleInteger + latex : % -> String + one? : % -> Boolean + recip : % -> Union(%,"failed") + sample : () -> % + subtractIfCan : (%,%) -> Union(%,"failed") + unit? : % -> Boolean + unitCanonical : % -> % + unitNormal : % -> Record(unit: %,canonical: %,associate: %) + zero? : % -> Boolean + ?+? : (%,%) -> % + ?=? : (%,%) -> Boolean + ?~=? : (%,%) -> Boolean + ?*? : (%,%) -> % + ?*? : (Integer,%) -> % + ?*? : (NonNegativeInteger,%) -> % + ?*? : (PositiveInteger,%) -> % + ?-? : (%,%) -> % + -? : % -> % + ?^? : (%,NonNegativeInteger) -> % + ?^? : (%,PositiveInteger) -> % + ?**? : (%,NonNegativeInteger) -> % + ?**? : (%,PositiveInteger) -> % +\end{verbatim} + +These exports come from \refto{OrderedSet}(): +\begin{verbatim} + max : (%,%) -> % + min : (%,%) -> % + ? Boolean + ?>? : (%,%) -> Boolean + ?<=? : (%,%) -> Boolean + ?>=? : (%,%) -> Boolean +\end{verbatim} + +These exports come from \refto{RetractableTo}(Integer): +\begin{verbatim} + coerce : Integer -> % + retract : % -> Integer + retractIfCan : % -> Union(Integer,"failed") +\end{verbatim} + +<>= +)abbrev category FMTC FortranMachineTypeCategory +++ Author: Mike Dewar +++ Date Created: December 1993 +++ Date Last Updated: +++ Basic Operations: +++ Related Domains: +++ Also See: FortranExpression, MachineInteger, MachineFloat, MachineComplex +++ AMS Classifications: +++ Keywords: +++ Examples: +++ References: +++ Description: A category of domains which model machine arithmetic +++ used by machines in the AXIOM-NAG link. +FortranMachineTypeCategory():Category == Join(IntegralDomain,OrderedSet, + RetractableTo(Integer) ) + +@ +<>= +"FMTC" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FMTC"]; +"FMTC" -> "INTDOM" +"FMTC" -> "ORDSET" +"FMTC" -> "RETRACT" + +@ +<>= +"FortranMachineTypeCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FMTC"]; +"FortranMachineTypeCategory()" -> "IntegralDomain()" +"FortranMachineTypeCategory()" -> "OrderedSet()" +"FortranMachineTypeCategory()" -> "RetractableTo(Integer)" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"FortranMachineTypeCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=FMTC"]; +"FortranMachineTypeCategory()" -> "IntegralDomain()" +"FortranMachineTypeCategory()" -> "OrderedSet()" +"FortranMachineTypeCategory()" -> "RetractableTo(Integer)" + +"RetractableTo(Integer)" + [color=seagreen,href="bookvol10.2.pdf#nameddest=RETRACT"]; +"RetractableTo(Integer)" -> "RetractableTo(a:Type)" + +"RetractableTo(a:Type)" + [color=lightblue,href="bookvol10.2.pdf#nameddest=RETRACT"]; +"RetractableTo(a:Type)" -> "Category" + +"OrderedSet()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=ORDSET"]; +"OrderedSet()" -> "SetCategory()" + +"IntegralDomain()" [color=lightblue]; +"IntegralDomain()" -> "CommutativeRing()" +"IntegralDomain()" -> "Algebra(a:CommutativeRing)" +"IntegralDomain()" -> "EntireRing()" + +"CommutativeRing()" [color=lightblue]; +"CommutativeRing()" -> "RING..." +"CommutativeRing()" -> "BMODULE..." + +"EntireRing()" [color=lightblue]; +"EntireRing()" -> "RING..." +"EntireRing()" -> "BMODULE..." + +"Algebra(a:CommutativeRing)" [color=lightblue]; +"Algebra(a:CommutativeRing)" -> "RING..." +"Algebra(a:CommutativeRing)" -> "Module(a:CommutativeRing)" + +"Module(a:CommutativeRing)" [color=lightblue]; +"Module(a:CommutativeRing)" -> + "BiModule(a:CommutativeRing,b:CommutativeRing)" + +"BiModule(a:CommutativeRing,b:CommutativeRing)" [color=seagreen]; +"BiModule(a:CommutativeRing,b:CommutativeRing)" -> "BMODULE..." + +"BMODULE..." [color=lightblue]; +"RING..." [color=lightblue]; + +"SetCategory()" [color=lightblue]; +"SetCategory()" -> "BasicType()" +"SetCategory()" -> "CoercibleTo(OutputForm)" + +"BasicType()" [color=lightblue]; +"BasicType()" -> "Category" + +"CoercibleTo(OutputForm)" [color=seagreen]; +"CoercibleTo(OutputForm)" -> "CoercibleTo(a:Type)" + +"CoercibleTo(a:Type)" [color=lightblue]; +"CoercibleTo(a:Type)" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{FramedNonAssociativeAlgebra}{FRNAALG} \pagepic{ps/v102framednonassociativealgebra.ps}{FRNAALG}{0.65} @@ -41001,13 +42079,20 @@ Note that this code is not included in the generated catdef.spad file. <> <> <> +<> +<> <> +<> +<> +<> <> <> <> <> <> <> +<> +<> <> <> <> @@ -41020,6 +42105,7 @@ Note that this code is not included in the generated catdef.spad file. <> <> <> +<> <> <> <> @@ -41141,13 +42227,20 @@ digraph dotabb { <> <> <> +<> +<> <> +<> +<> +<> <> <> <> <> <> <> +<> +<> <> <> <> @@ -41159,6 +42252,7 @@ digraph dotabb { <> <> <> +<> <> <> <> @@ -41283,13 +42377,20 @@ digraph dotfull { <> <> <> +<> +<> <> +<> +<> +<> <> <> <> <> <> <> +<> +<> <> <> <> @@ -41301,6 +42402,7 @@ digraph dotfull { <> <> <> +<> <> <> <> diff --git a/books/ps/v102fortranfunctioncategory.ps b/books/ps/v102fortranfunctioncategory.ps new file mode 100644 index 0000000..131676b --- /dev/null +++ b/books/ps/v102fortranfunctioncategory.ps @@ -0,0 +1,494 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 265 368 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 265 368 +%%PageOrientation: Portrait +gsave +36 36 229 332 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 330 lineto +227 330 lineto +227 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 330 lineto +227 330 lineto +227 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% FortranFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 168 324 moveto +0 324 lineto +0 288 lineto +168 288 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 168 324 moveto +0 324 lineto +0 288 lineto +168 288 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +8 301 moveto +(FortranFunctionCategory\(\)) +[7.44 6.96 5.04 3.84 4.8 6.24 6.96 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 167 252 moveto +1 252 lineto +1 216 lineto +167 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 167 252 moveto +1 252 lineto +1 216 lineto +167 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +8 229 moveto +(FortranProgramCategory\(\)) +[7.44 6.96 5.04 3.84 4.8 6.24 6.96 7.68 4.8 6.96 7.2 4.8 6.24 10.8 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% FortranFunctionCategory()->FortranProgramCategory() +newpath 84 288 moveto +84 280 84 271 84 262 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 88 262 moveto +84 252 lineto +81 262 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 88 262 moveto +84 252 lineto +81 262 lineto +closepath +stroke +end grestore +% Type() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 56 108 moveto +2 108 lineto +2 72 lineto +56 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 56 108 moveto +2 108 lineto +2 72 lineto +56 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +10 85 moveto +(Type\(\)) +[7.2 6.96 6.96 6.24 4.56 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory()->Type() +newpath 69 216 moveto +62 206 53 193 48 180 curveto +40 160 35 136 32 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 35 118 moveto +31 108 lineto +29 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 35 118 moveto +31 108 lineto +29 118 lineto +closepath +stroke +end grestore +% CoercibleTo(OutputForm) +gsave 10 dict begin +filled +0.404 0.667 0.545 nodecolor +0.404 0.667 0.545 nodecolor +newpath 221 180 moveto +57 180 lineto +57 144 lineto +221 144 lineto +closepath +fill +0.404 0.667 0.545 nodecolor +newpath 221 180 moveto +57 180 lineto +57 144 lineto +221 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +65 157 moveto +(CoercibleTo\(OutputForm\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 10.08 6.96 3.84 6.96 6.96 3.84 7.44 6.96 5.04 10.8 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory()->CoercibleTo(OutputForm) +newpath 98 216 moveto +104 208 112 197 119 188 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 122 190 moveto +125 180 lineto +116 186 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 122 190 moveto +125 180 lineto +116 186 lineto +closepath +stroke +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 118 36 moveto +50 36 lineto +50 0 lineto +118 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 118 36 moveto +50 36 lineto +50 0 lineto +118 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +58 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% Type()->Category +newpath 43 72 moveto +49 64 57 53 64 44 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 67 46 moveto +70 36 lineto +61 42 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 67 46 moveto +70 36 lineto +61 42 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 206 108 moveto +74 108 lineto +74 72 lineto +206 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 206 108 moveto +74 108 lineto +74 72 lineto +206 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +82 85 moveto +(CoercibleTo\(a:Type\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 6.24 3.84 7.2 6.96 6.96 6.24 4.56] +xshow +end grestore +end grestore +% CoercibleTo(OutputForm)->CoercibleTo(a:Type) +newpath 139 144 moveto +140 136 140 127 140 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 144 118 moveto +140 108 lineto +137 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 144 118 moveto +140 108 lineto +137 118 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type)->Category +newpath 126 72 moveto +119 64 111 53 104 44 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 107 42 moveto +98 36 lineto +101 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 107 42 moveto +98 36 lineto +101 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102fortranmachinetypecategory.ps b/books/ps/v102fortranmachinetypecategory.ps new file mode 100644 index 0000000..6095c3c --- /dev/null +++ b/books/ps/v102fortranmachinetypecategory.ps @@ -0,0 +1,1122 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 887 440 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 887 440 +%%PageOrientation: Portrait +gsave +36 36 851 404 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 402 lineto +849 402 lineto +849 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 402 lineto +849 402 lineto +849 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% FortranMachineTypeCategory() +[ /Rect [ 424 360 618 396 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.2.pdf#nameddest=FMTC) >> + /Subtype /Link +/ANN pdfmark +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 618 396 moveto +424 396 lineto +424 360 lineto +618 360 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 618 396 moveto +424 396 lineto +424 360 lineto +618 360 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +431 373 moveto +(FortranMachineTypeCategory\(\)) +[7.44 6.96 5.04 3.84 4.8 6.24 6.96 12.48 6.24 6 6.96 3.84 6.96 6.24 7.2 6.96 6.96 6.24 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% IntegralDomain() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 322 324 moveto +208 324 lineto +208 288 lineto +322 288 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 322 324 moveto +208 324 lineto +208 288 lineto +322 288 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +215 301 moveto +(IntegralDomain\(\)) +[4.56 6.96 3.84 6.24 7.2 4.8 6.24 3.84 10.08 6.96 10.8 6.24 3.84 6.96 4.56 4.56] +xshow +end grestore +end grestore +% FortranMachineTypeCategory()->IntegralDomain() +newpath 457 360 moveto +419 350 370 336 332 325 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 333 322 moveto +322 322 lineto +331 328 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 333 322 moveto +322 322 lineto +331 328 lineto +closepath +stroke +end grestore +% OrderedSet() +[ /Rect [ 628 288 716 324 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.2.pdf#nameddest=ORDSET) >> + /Subtype /Link +/ANN pdfmark +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 716 324 moveto +628 324 lineto +628 288 lineto +716 288 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 716 324 moveto +628 324 lineto +628 288 lineto +716 288 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +635 301 moveto +(OrderedSet\(\)) +[10.08 4.56 6.96 6.24 4.8 6.24 6.96 7.68 6 3.84 4.56 4.56] +xshow +end grestore +end grestore +% FortranMachineTypeCategory()->OrderedSet() +newpath 559 360 moveto +579 350 604 339 625 329 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 627 332 moveto +634 324 lineto +624 326 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 627 332 moveto +634 324 lineto +624 326 lineto +closepath +stroke +end grestore +% RetractableTo(Integer) +[ /Rect [ 450 288 592 324 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.2.pdf#nameddest=RETRACT) >> + /Subtype /Link +/ANN pdfmark +gsave 10 dict begin +filled +0.404 0.667 0.545 nodecolor +0.404 0.667 0.545 nodecolor +newpath 592 324 moveto +450 324 lineto +450 288 lineto +592 288 lineto +closepath +fill +0.404 0.667 0.545 nodecolor +newpath 592 324 moveto +450 324 lineto +450 288 lineto +592 288 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +457 301 moveto +(RetractableTo\(Integer\)) +[9.12 6 3.84 4.8 6.24 6.24 4.08 6.24 6.96 3.84 6.24 7.44 6.96 4.56 4.56 6.96 3.84 6.24 6.72 6.24 4.8 4.56] +xshow +end grestore +end grestore +% FortranMachineTypeCategory()->RetractableTo(Integer) +newpath 521 360 moveto +521 352 521 343 521 334 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 525 334 moveto +521 324 lineto +518 334 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 525 334 moveto +521 324 lineto +518 334 lineto +closepath +stroke +end grestore +% CommutativeRing() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 128 252 moveto +0 252 lineto +0 216 lineto +128 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 128 252 moveto +0 252 lineto +0 216 lineto +128 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +8 229 moveto +(CommutativeRing\(\)) +[9.36 6.96 10.8 10.8 6.96 4.08 6.24 3.84 3.84 6.48 6.24 9.36 3.84 6.96 6.96 4.56 4.56] +xshow +end grestore +end grestore +% IntegralDomain()->CommutativeRing() +newpath 215 288 moveto +187 278 153 266 124 255 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 125 252 moveto +114 252 lineto +123 258 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 125 252 moveto +114 252 lineto +123 258 lineto +closepath +stroke +end grestore +% Algebra(a:CommutativeRing) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 434 252 moveto +250 252 lineto +250 216 lineto +434 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 434 252 moveto +250 252 lineto +250 216 lineto +434 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +258 229 moveto +(Algebra\(a:CommutativeRing\)) +[10.08 3.84 6.72 6.24 6.96 4.8 6.24 4.56 6.24 3.84 9.36 6.96 10.8 10.8 6.96 4.08 6.24 3.84 3.84 6.48 6.24 9.36 3.84 6.96 6.96 4.56] +xshow +end grestore +end grestore +% IntegralDomain()->Algebra(a:CommutativeRing) +newpath 284 288 moveto +294 279 305 269 315 259 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 318 261 moveto +323 252 lineto +313 256 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 318 261 moveto +323 252 lineto +313 256 lineto +closepath +stroke +end grestore +% EntireRing() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 232 252 moveto +146 252 lineto +146 216 lineto +232 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 232 252 moveto +146 252 lineto +146 216 lineto +232 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +153 229 moveto +(EntireRing\(\)) +[8.64 6.96 3.84 3.84 4.8 6.24 9.36 3.84 6.96 6.96 4.56 4.56] +xshow +end grestore +end grestore +% IntegralDomain()->EntireRing() +newpath 246 288 moveto +236 279 225 269 215 259 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 218 257 moveto +208 252 lineto +213 262 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 218 257 moveto +208 252 lineto +213 262 lineto +closepath +stroke +end grestore +% SetCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 738 252 moveto +644 252 lineto +644 216 lineto +738 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 738 252 moveto +644 252 lineto +644 216 lineto +738 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +651 229 moveto +(SetCategory\(\)) +[7.68 6 3.84 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% OrderedSet()->SetCategory() +newpath 677 288 moveto +679 280 681 271 683 262 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 686 263 moveto +686 252 lineto +680 261 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 686 263 moveto +686 252 lineto +680 261 lineto +closepath +stroke +end grestore +% RetractableTo(a:Type) +[ /Rect [ 451 144 591 180 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.2.pdf#nameddest=RETRACT) >> + /Subtype /Link +/ANN pdfmark +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 591 180 moveto +451 180 lineto +451 144 lineto +591 144 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 591 180 moveto +451 180 lineto +451 144 lineto +591 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +458 157 moveto +(RetractableTo\(a:Type\)) +[9.12 6 3.84 4.8 6.24 6.24 4.08 6.24 6.96 3.84 6.24 7.44 6.96 4.56 6.24 3.84 7.2 6.96 6.96 6.24 4.56] +xshow +end grestore +end grestore +% RetractableTo(Integer)->RetractableTo(a:Type) +newpath 521 288 moveto +521 263 521 219 521 190 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 525 190 moveto +521 180 lineto +518 190 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 525 190 moveto +521 180 lineto +518 190 lineto +closepath +stroke +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 709 36 moveto +641 36 lineto +641 0 lineto +709 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 709 36 moveto +641 36 lineto +641 0 lineto +709 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +649 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% RetractableTo(a:Type)->Category +newpath 535 144 moveto +549 125 575 94 600 72 curveto +611 61 625 51 638 42 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 640 45 moveto +646 36 lineto +636 39 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 640 45 moveto +646 36 lineto +636 39 lineto +closepath +stroke +end grestore +% BasicType() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 843 108 moveto +759 108 lineto +759 72 lineto +843 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 843 108 moveto +759 108 lineto +759 72 lineto +843 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +766 85 moveto +(BasicType\(\)) +[9.36 6.24 5.52 3.84 6.24 7.2 6.96 6.96 6.24 4.56 4.56] +xshow +end grestore +end grestore +% SetCategory()->BasicType() +newpath 737 216 moveto +753 207 771 195 782 180 curveto +795 162 799 137 800 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 803 118 moveto +801 108 lineto +797 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 803 118 moveto +801 108 lineto +797 118 lineto +closepath +stroke +end grestore +% CoercibleTo(OutputForm) +gsave 10 dict begin +filled +0.404 0.667 0.545 nodecolor +0.404 0.667 0.545 nodecolor +newpath 773 180 moveto +609 180 lineto +609 144 lineto +773 144 lineto +closepath +fill +0.404 0.667 0.545 nodecolor +newpath 773 180 moveto +609 180 lineto +609 144 lineto +773 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +617 157 moveto +(CoercibleTo\(OutputForm\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 10.08 6.96 3.84 6.96 6.96 3.84 7.44 6.96 5.04 10.8 4.56] +xshow +end grestore +end grestore +% SetCategory()->CoercibleTo(OutputForm) +newpath 691 216 moveto +691 208 691 199 691 190 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 695 190 moveto +691 180 lineto +688 190 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 695 190 moveto +691 180 lineto +688 190 lineto +closepath +stroke +end grestore +% RING... +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 158 180 moveto +98 180 lineto +98 144 lineto +158 144 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 158 180 moveto +98 180 lineto +98 144 lineto +158 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +105 157 moveto +(RING...) +[9.36 4.56 9.84 10.08 3.6 3.6 3.6] +xshow +end grestore +end grestore +% CommutativeRing()->RING... +newpath 80 216 moveto +88 207 97 197 105 188 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 108 190 moveto +112 180 lineto +103 185 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 108 190 moveto +112 180 lineto +103 185 lineto +closepath +stroke +end grestore +% BMODULE... +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 235 36 moveto +137 36 lineto +137 0 lineto +235 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 235 36 moveto +137 36 lineto +137 0 lineto +235 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +145 13 moveto +(BMODULE...) +[9.36 12.48 10.08 10.08 10.08 8.64 8.64 3.6 3.6 3.6] +xshow +end grestore +end grestore +% CommutativeRing()->BMODULE... +newpath 67 216 moveto +71 197 78 167 89 144 curveto +108 105 139 68 161 44 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 164 46 moveto +168 36 lineto +159 41 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 164 46 moveto +168 36 lineto +159 41 lineto +closepath +stroke +end grestore +% Algebra(a:CommutativeRing)->RING... +newpath 288 216 moveto +251 203 202 187 168 175 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 169 172 moveto +158 172 lineto +167 178 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 169 172 moveto +158 172 lineto +167 178 lineto +closepath +stroke +end grestore +% Module(a:CommutativeRing) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 433 180 moveto +251 180 lineto +251 144 lineto +433 144 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 433 180 moveto +251 180 lineto +251 144 lineto +433 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +258 157 moveto +(Module\(a:CommutativeRing\)) +[12.48 6.96 6.96 6.96 3.84 6.24 4.56 6.24 3.84 9.36 6.96 10.8 10.8 6.96 4.08 6.24 3.84 3.84 6.48 6.24 9.36 3.84 6.96 6.96 4.56] +xshow +end grestore +end grestore +% Algebra(a:CommutativeRing)->Module(a:CommutativeRing) +newpath 342 216 moveto +342 208 342 199 342 190 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 346 190 moveto +342 180 lineto +339 190 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 346 190 moveto +342 180 lineto +339 190 lineto +closepath +stroke +end grestore +% EntireRing()->RING... +newpath 174 216 moveto +167 207 158 197 150 188 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 152 185 moveto +143 180 lineto +147 190 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 152 185 moveto +143 180 lineto +147 190 lineto +closepath +stroke +end grestore +% EntireRing()->BMODULE... +newpath 189 216 moveto +188 178 187 91 186 46 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 190 46 moveto +186 36 lineto +183 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 190 46 moveto +186 36 lineto +183 46 lineto +closepath +stroke +end grestore +% BiModule(a:CommutativeRing,b:CommutativeRing) +gsave 10 dict begin +filled +0.404 0.667 0.545 nodecolor +0.404 0.667 0.545 nodecolor +newpath 526 108 moveto +214 108 lineto +214 72 lineto +526 72 lineto +closepath +fill +0.404 0.667 0.545 nodecolor +newpath 526 108 moveto +214 108 lineto +214 72 lineto +526 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +221 85 moveto +(BiModule\(a:CommutativeRing,b:CommutativeRing\)) +[9.36 3.84 12.48 6.96 6.96 6.96 3.84 6.24 4.56 6.24 3.84 9.36 6.96 10.8 10.8 6.96 4.08 6.24 3.84 3.84 6.48 6.24 9.36 3.84 6.96 6.96 3.6 6.96 3.84 9.36 6.96 10.8 10.8 6.96 4.08 6.24 3.84 3.84 6.48 6.24 9.36 3.84 6.96 6.96 4.56] +xshow +end grestore +end grestore +% Module(a:CommutativeRing)->BiModule(a:CommutativeRing,b:CommutativeRing) +newpath 349 144 moveto +352 136 356 126 359 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 363 119 moveto +363 108 lineto +356 116 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 363 119 moveto +363 108 lineto +356 116 lineto +closepath +stroke +end grestore +% BiModule(a:CommutativeRing,b:CommutativeRing)->BMODULE... +newpath 324 72 moveto +299 62 268 50 241 40 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 243 37 moveto +232 36 lineto +240 43 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 243 37 moveto +232 36 lineto +240 43 lineto +closepath +stroke +end grestore +% BasicType()->Category +newpath 769 72 moveto +753 63 733 51 715 41 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 716 38 moveto +706 36 lineto +713 44 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 716 38 moveto +706 36 lineto +713 44 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 741 108 moveto +609 108 lineto +609 72 lineto +741 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 741 108 moveto +609 108 lineto +609 72 lineto +741 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +617 85 moveto +(CoercibleTo\(a:Type\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 6.24 3.84 7.2 6.96 6.96 6.24 4.56] +xshow +end grestore +end grestore +% CoercibleTo(OutputForm)->CoercibleTo(a:Type) +newpath 687 144 moveto +685 136 683 127 681 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 684 117 moveto +679 108 lineto +678 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 684 117 moveto +679 108 lineto +678 118 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type)->Category +newpath 675 72 moveto +675 64 675 55 675 46 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 679 46 moveto +675 36 lineto +672 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 679 46 moveto +675 36 lineto +672 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102fortranmatrixcategory.ps b/books/ps/v102fortranmatrixcategory.ps new file mode 100644 index 0000000..4e41e32 --- /dev/null +++ b/books/ps/v102fortranmatrixcategory.ps @@ -0,0 +1,494 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 264 368 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 264 368 +%%PageOrientation: Portrait +gsave +36 36 228 332 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 330 lineto +226 330 lineto +226 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 330 lineto +226 330 lineto +226 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% FortranMatrixCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 161 324 moveto +5 324 lineto +5 288 lineto +161 288 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 161 324 moveto +5 324 lineto +5 288 lineto +161 288 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +12 301 moveto +(FortranMatrixCategory\(\)) +[7.44 6.96 5.04 3.84 4.8 6.24 6.96 12.48 6.24 3.84 5.04 3.84 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 166 252 moveto +0 252 lineto +0 216 lineto +166 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 166 252 moveto +0 252 lineto +0 216 lineto +166 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +7 229 moveto +(FortranProgramCategory\(\)) +[7.44 6.96 5.04 3.84 4.8 6.24 6.96 7.68 4.8 6.96 7.2 4.8 6.24 10.8 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% FortranMatrixCategory()->FortranProgramCategory() +newpath 83 288 moveto +83 280 83 271 83 262 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 87 262 moveto +83 252 lineto +80 262 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 87 262 moveto +83 252 lineto +80 262 lineto +closepath +stroke +end grestore +% Type() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 55 108 moveto +1 108 lineto +1 72 lineto +55 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 55 108 moveto +1 108 lineto +1 72 lineto +55 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +9 85 moveto +(Type\(\)) +[7.2 6.96 6.96 6.24 4.56 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory()->Type() +newpath 68 216 moveto +61 206 52 193 47 180 curveto +39 160 34 136 31 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 34 118 moveto +30 108 lineto +28 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 34 118 moveto +30 108 lineto +28 118 lineto +closepath +stroke +end grestore +% CoercibleTo(OutputForm) +gsave 10 dict begin +filled +0.404 0.667 0.545 nodecolor +0.404 0.667 0.545 nodecolor +newpath 220 180 moveto +56 180 lineto +56 144 lineto +220 144 lineto +closepath +fill +0.404 0.667 0.545 nodecolor +newpath 220 180 moveto +56 180 lineto +56 144 lineto +220 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +64 157 moveto +(CoercibleTo\(OutputForm\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 10.08 6.96 3.84 6.96 6.96 3.84 7.44 6.96 5.04 10.8 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory()->CoercibleTo(OutputForm) +newpath 97 216 moveto +103 208 111 197 118 188 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 121 190 moveto +124 180 lineto +115 186 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 121 190 moveto +124 180 lineto +115 186 lineto +closepath +stroke +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 117 36 moveto +49 36 lineto +49 0 lineto +117 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 117 36 moveto +49 36 lineto +49 0 lineto +117 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +57 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% Type()->Category +newpath 42 72 moveto +48 64 56 53 63 44 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 66 46 moveto +69 36 lineto +60 42 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 66 46 moveto +69 36 lineto +60 42 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 205 108 moveto +73 108 lineto +73 72 lineto +205 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 205 108 moveto +73 108 lineto +73 72 lineto +205 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +81 85 moveto +(CoercibleTo\(a:Type\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 6.24 3.84 7.2 6.96 6.96 6.24 4.56] +xshow +end grestore +end grestore +% CoercibleTo(OutputForm)->CoercibleTo(a:Type) +newpath 138 144 moveto +139 136 139 127 139 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 143 118 moveto +139 108 lineto +136 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 143 118 moveto +139 108 lineto +136 118 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type)->Category +newpath 125 72 moveto +118 64 110 53 103 44 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 106 42 moveto +97 36 lineto +100 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 106 42 moveto +97 36 lineto +100 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102fortranmatrixfunctioncategory.ps b/books/ps/v102fortranmatrixfunctioncategory.ps new file mode 100644 index 0000000..8ad54a6 --- /dev/null +++ b/books/ps/v102fortranmatrixfunctioncategory.ps @@ -0,0 +1,494 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 284 368 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 284 368 +%%PageOrientation: Portrait +gsave +36 36 248 332 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 330 lineto +246 330 lineto +246 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 330 lineto +246 330 lineto +246 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% FortranMatrixFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 206 324 moveto +0 324 lineto +0 288 lineto +206 288 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 206 324 moveto +0 324 lineto +0 288 lineto +206 288 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +8 301 moveto +(FortranMatrixFunctionCategory\(\)) +[7.44 6.96 5.04 3.84 4.8 6.24 6.96 12.48 6.24 3.84 5.04 3.84 6.96 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 186 252 moveto +20 252 lineto +20 216 lineto +186 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 186 252 moveto +20 252 lineto +20 216 lineto +186 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +27 229 moveto +(FortranProgramCategory\(\)) +[7.44 6.96 5.04 3.84 4.8 6.24 6.96 7.68 4.8 6.96 7.2 4.8 6.24 10.8 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% FortranMatrixFunctionCategory()->FortranProgramCategory() +newpath 103 288 moveto +103 280 103 271 103 262 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 107 262 moveto +103 252 lineto +100 262 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 107 262 moveto +103 252 lineto +100 262 lineto +closepath +stroke +end grestore +% Type() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 75 108 moveto +21 108 lineto +21 72 lineto +75 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 75 108 moveto +21 108 lineto +21 72 lineto +75 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +29 85 moveto +(Type\(\)) +[7.2 6.96 6.96 6.24 4.56 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory()->Type() +newpath 88 216 moveto +81 206 72 193 67 180 curveto +59 160 54 136 51 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 54 118 moveto +50 108 lineto +48 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 54 118 moveto +50 108 lineto +48 118 lineto +closepath +stroke +end grestore +% CoercibleTo(OutputForm) +gsave 10 dict begin +filled +0.404 0.667 0.545 nodecolor +0.404 0.667 0.545 nodecolor +newpath 240 180 moveto +76 180 lineto +76 144 lineto +240 144 lineto +closepath +fill +0.404 0.667 0.545 nodecolor +newpath 240 180 moveto +76 180 lineto +76 144 lineto +240 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +84 157 moveto +(CoercibleTo\(OutputForm\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 10.08 6.96 3.84 6.96 6.96 3.84 7.44 6.96 5.04 10.8 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory()->CoercibleTo(OutputForm) +newpath 117 216 moveto +123 208 131 197 138 188 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 141 190 moveto +144 180 lineto +135 186 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 141 190 moveto +144 180 lineto +135 186 lineto +closepath +stroke +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 137 36 moveto +69 36 lineto +69 0 lineto +137 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 137 36 moveto +69 36 lineto +69 0 lineto +137 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +77 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% Type()->Category +newpath 62 72 moveto +68 64 76 53 83 44 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 86 46 moveto +89 36 lineto +80 42 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 86 46 moveto +89 36 lineto +80 42 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 225 108 moveto +93 108 lineto +93 72 lineto +225 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 225 108 moveto +93 108 lineto +93 72 lineto +225 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +101 85 moveto +(CoercibleTo\(a:Type\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 6.24 3.84 7.2 6.96 6.96 6.24 4.56] +xshow +end grestore +end grestore +% CoercibleTo(OutputForm)->CoercibleTo(a:Type) +newpath 158 144 moveto +159 136 159 127 159 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 163 118 moveto +159 108 lineto +156 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 163 118 moveto +159 108 lineto +156 118 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type)->Category +newpath 145 72 moveto +138 64 130 53 123 44 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 126 42 moveto +117 36 lineto +120 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 126 42 moveto +117 36 lineto +120 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102fortranprogramcategory.ps b/books/ps/v102fortranprogramcategory.ps new file mode 100644 index 0000000..131676b --- /dev/null +++ b/books/ps/v102fortranprogramcategory.ps @@ -0,0 +1,494 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 265 368 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 265 368 +%%PageOrientation: Portrait +gsave +36 36 229 332 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 330 lineto +227 330 lineto +227 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 330 lineto +227 330 lineto +227 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% FortranFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 168 324 moveto +0 324 lineto +0 288 lineto +168 288 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 168 324 moveto +0 324 lineto +0 288 lineto +168 288 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +8 301 moveto +(FortranFunctionCategory\(\)) +[7.44 6.96 5.04 3.84 4.8 6.24 6.96 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 167 252 moveto +1 252 lineto +1 216 lineto +167 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 167 252 moveto +1 252 lineto +1 216 lineto +167 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +8 229 moveto +(FortranProgramCategory\(\)) +[7.44 6.96 5.04 3.84 4.8 6.24 6.96 7.68 4.8 6.96 7.2 4.8 6.24 10.8 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% FortranFunctionCategory()->FortranProgramCategory() +newpath 84 288 moveto +84 280 84 271 84 262 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 88 262 moveto +84 252 lineto +81 262 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 88 262 moveto +84 252 lineto +81 262 lineto +closepath +stroke +end grestore +% Type() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 56 108 moveto +2 108 lineto +2 72 lineto +56 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 56 108 moveto +2 108 lineto +2 72 lineto +56 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +10 85 moveto +(Type\(\)) +[7.2 6.96 6.96 6.24 4.56 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory()->Type() +newpath 69 216 moveto +62 206 53 193 48 180 curveto +40 160 35 136 32 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 35 118 moveto +31 108 lineto +29 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 35 118 moveto +31 108 lineto +29 118 lineto +closepath +stroke +end grestore +% CoercibleTo(OutputForm) +gsave 10 dict begin +filled +0.404 0.667 0.545 nodecolor +0.404 0.667 0.545 nodecolor +newpath 221 180 moveto +57 180 lineto +57 144 lineto +221 144 lineto +closepath +fill +0.404 0.667 0.545 nodecolor +newpath 221 180 moveto +57 180 lineto +57 144 lineto +221 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +65 157 moveto +(CoercibleTo\(OutputForm\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 10.08 6.96 3.84 6.96 6.96 3.84 7.44 6.96 5.04 10.8 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory()->CoercibleTo(OutputForm) +newpath 98 216 moveto +104 208 112 197 119 188 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 122 190 moveto +125 180 lineto +116 186 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 122 190 moveto +125 180 lineto +116 186 lineto +closepath +stroke +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 118 36 moveto +50 36 lineto +50 0 lineto +118 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 118 36 moveto +50 36 lineto +50 0 lineto +118 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +58 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% Type()->Category +newpath 43 72 moveto +49 64 57 53 64 44 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 67 46 moveto +70 36 lineto +61 42 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 67 46 moveto +70 36 lineto +61 42 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 206 108 moveto +74 108 lineto +74 72 lineto +206 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 206 108 moveto +74 108 lineto +74 72 lineto +206 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +82 85 moveto +(CoercibleTo\(a:Type\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 6.24 3.84 7.2 6.96 6.96 6.24 4.56] +xshow +end grestore +end grestore +% CoercibleTo(OutputForm)->CoercibleTo(a:Type) +newpath 139 144 moveto +140 136 140 127 140 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 144 118 moveto +140 108 lineto +137 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 144 118 moveto +140 108 lineto +137 118 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type)->Category +newpath 126 72 moveto +119 64 111 53 104 44 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 107 42 moveto +98 36 lineto +101 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 107 42 moveto +98 36 lineto +101 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102fortranvectorcategory.ps b/books/ps/v102fortranvectorcategory.ps new file mode 100644 index 0000000..6af87d5 --- /dev/null +++ b/books/ps/v102fortranvectorcategory.ps @@ -0,0 +1,494 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 264 368 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 264 368 +%%PageOrientation: Portrait +gsave +36 36 228 332 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 330 lineto +226 330 lineto +226 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 330 lineto +226 330 lineto +226 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% FortranVectorCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 161 324 moveto +5 324 lineto +5 288 lineto +161 288 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 161 324 moveto +5 324 lineto +5 288 lineto +161 288 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +13 301 moveto +(FortranVectorCategory\(\)) +[7.44 6.96 5.04 3.84 4.8 6.24 6.96 8.88 6.24 6.24 3.84 6.96 4.8 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 166 252 moveto +0 252 lineto +0 216 lineto +166 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 166 252 moveto +0 252 lineto +0 216 lineto +166 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +7 229 moveto +(FortranProgramCategory\(\)) +[7.44 6.96 5.04 3.84 4.8 6.24 6.96 7.68 4.8 6.96 7.2 4.8 6.24 10.8 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% FortranVectorCategory()->FortranProgramCategory() +newpath 83 288 moveto +83 280 83 271 83 262 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 87 262 moveto +83 252 lineto +80 262 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 87 262 moveto +83 252 lineto +80 262 lineto +closepath +stroke +end grestore +% Type() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 55 108 moveto +1 108 lineto +1 72 lineto +55 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 55 108 moveto +1 108 lineto +1 72 lineto +55 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +9 85 moveto +(Type\(\)) +[7.2 6.96 6.96 6.24 4.56 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory()->Type() +newpath 68 216 moveto +61 206 52 193 47 180 curveto +39 160 34 136 31 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 34 118 moveto +30 108 lineto +28 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 34 118 moveto +30 108 lineto +28 118 lineto +closepath +stroke +end grestore +% CoercibleTo(OutputForm) +gsave 10 dict begin +filled +0.404 0.667 0.545 nodecolor +0.404 0.667 0.545 nodecolor +newpath 220 180 moveto +56 180 lineto +56 144 lineto +220 144 lineto +closepath +fill +0.404 0.667 0.545 nodecolor +newpath 220 180 moveto +56 180 lineto +56 144 lineto +220 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +64 157 moveto +(CoercibleTo\(OutputForm\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 10.08 6.96 3.84 6.96 6.96 3.84 7.44 6.96 5.04 10.8 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory()->CoercibleTo(OutputForm) +newpath 97 216 moveto +103 208 111 197 118 188 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 121 190 moveto +124 180 lineto +115 186 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 121 190 moveto +124 180 lineto +115 186 lineto +closepath +stroke +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 117 36 moveto +49 36 lineto +49 0 lineto +117 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 117 36 moveto +49 36 lineto +49 0 lineto +117 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +57 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% Type()->Category +newpath 42 72 moveto +48 64 56 53 63 44 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 66 46 moveto +69 36 lineto +60 42 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 66 46 moveto +69 36 lineto +60 42 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 205 108 moveto +73 108 lineto +73 72 lineto +205 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 205 108 moveto +73 108 lineto +73 72 lineto +205 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +81 85 moveto +(CoercibleTo\(a:Type\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 6.24 3.84 7.2 6.96 6.96 6.24 4.56] +xshow +end grestore +end grestore +% CoercibleTo(OutputForm)->CoercibleTo(a:Type) +newpath 138 144 moveto +139 136 139 127 139 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 143 118 moveto +139 108 lineto +136 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 143 118 moveto +139 108 lineto +136 118 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type)->Category +newpath 125 72 moveto +118 64 110 53 103 44 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 106 42 moveto +97 36 lineto +100 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 106 42 moveto +97 36 lineto +100 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102fortranvectorfunctioncategory.ps b/books/ps/v102fortranvectorfunctioncategory.ps new file mode 100644 index 0000000..286b3e7 --- /dev/null +++ b/books/ps/v102fortranvectorfunctioncategory.ps @@ -0,0 +1,494 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 283 368 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 283 368 +%%PageOrientation: Portrait +gsave +36 36 247 332 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 330 lineto +245 330 lineto +245 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 330 lineto +245 330 lineto +245 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% FortranVectorFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 204 324 moveto +0 324 lineto +0 288 lineto +204 288 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 204 324 moveto +0 324 lineto +0 288 lineto +204 288 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +7 301 moveto +(FortranVectorFunctionCategory\(\)) +[7.44 6.96 5.04 3.84 4.8 6.24 6.96 8.88 6.24 6.24 3.84 6.96 4.8 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 185 252 moveto +19 252 lineto +19 216 lineto +185 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 185 252 moveto +19 252 lineto +19 216 lineto +185 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +26 229 moveto +(FortranProgramCategory\(\)) +[7.44 6.96 5.04 3.84 4.8 6.24 6.96 7.68 4.8 6.96 7.2 4.8 6.24 10.8 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% FortranVectorFunctionCategory()->FortranProgramCategory() +newpath 102 288 moveto +102 280 102 271 102 262 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 106 262 moveto +102 252 lineto +99 262 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 106 262 moveto +102 252 lineto +99 262 lineto +closepath +stroke +end grestore +% Type() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 74 108 moveto +20 108 lineto +20 72 lineto +74 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 74 108 moveto +20 108 lineto +20 72 lineto +74 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +28 85 moveto +(Type\(\)) +[7.2 6.96 6.96 6.24 4.56 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory()->Type() +newpath 87 216 moveto +80 206 71 193 66 180 curveto +58 160 53 136 50 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 53 118 moveto +49 108 lineto +47 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 53 118 moveto +49 108 lineto +47 118 lineto +closepath +stroke +end grestore +% CoercibleTo(OutputForm) +gsave 10 dict begin +filled +0.404 0.667 0.545 nodecolor +0.404 0.667 0.545 nodecolor +newpath 239 180 moveto +75 180 lineto +75 144 lineto +239 144 lineto +closepath +fill +0.404 0.667 0.545 nodecolor +newpath 239 180 moveto +75 180 lineto +75 144 lineto +239 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +83 157 moveto +(CoercibleTo\(OutputForm\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 10.08 6.96 3.84 6.96 6.96 3.84 7.44 6.96 5.04 10.8 4.56] +xshow +end grestore +end grestore +% FortranProgramCategory()->CoercibleTo(OutputForm) +newpath 116 216 moveto +122 208 130 197 137 188 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 140 190 moveto +143 180 lineto +134 186 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 140 190 moveto +143 180 lineto +134 186 lineto +closepath +stroke +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 136 36 moveto +68 36 lineto +68 0 lineto +136 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 136 36 moveto +68 36 lineto +68 0 lineto +136 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +76 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% Type()->Category +newpath 61 72 moveto +67 64 75 53 82 44 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 85 46 moveto +88 36 lineto +79 42 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 85 46 moveto +88 36 lineto +79 42 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 224 108 moveto +92 108 lineto +92 72 lineto +224 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 224 108 moveto +92 108 lineto +92 72 lineto +224 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +100 85 moveto +(CoercibleTo\(a:Type\)) +[9.36 6.96 6.24 4.8 6.24 3.84 6.96 3.84 6.24 7.44 6.96 4.56 6.24 3.84 7.2 6.96 6.96 6.24 4.56] +xshow +end grestore +end grestore +% CoercibleTo(OutputForm)->CoercibleTo(a:Type) +newpath 157 144 moveto +158 136 158 127 158 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 162 118 moveto +158 108 lineto +155 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 162 118 moveto +158 108 lineto +155 118 lineto +closepath +stroke +end grestore +% CoercibleTo(a:Type)->Category +newpath 144 72 moveto +137 64 129 53 122 44 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 125 42 moveto +116 36 lineto +119 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 125 42 moveto +116 36 lineto +119 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102leftalgebra.ps b/books/ps/v102leftalgebra.ps new file mode 100644 index 0000000..6780ff7 --- /dev/null +++ b/books/ps/v102leftalgebra.ps @@ -0,0 +1,626 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 334 368 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 334 368 +%%PageOrientation: Portrait +gsave +36 36 298 332 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 330 lineto +296 330 lineto +296 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 330 lineto +296 330 lineto +296 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% LeftAlgebra(a:Ring) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 185 324 moveto +55 324 lineto +55 288 lineto +185 288 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 185 324 moveto +55 324 lineto +55 288 lineto +185 288 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +62 301 moveto +(LeftAlgebra\(a:Ring\)) +[8.64 6.24 4.8 3.84 10.08 3.84 6.72 6.24 6.96 4.8 6.24 4.56 6.24 3.84 9.36 3.84 6.96 6.96 4.56] +xshow +end grestore +end grestore +% LeftModule(a:Ring) +gsave 10 dict begin +filled +0.404 0.667 0.545 nodecolor +0.404 0.667 0.545 nodecolor +newpath 130 180 moveto +0 180 lineto +0 144 lineto +130 144 lineto +closepath +fill +0.404 0.667 0.545 nodecolor +newpath 130 180 moveto +0 180 lineto +0 144 lineto +130 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +8 157 moveto +(LeftModule\(a:Ring\)) +[8.64 6.24 4.8 3.84 12.48 6.96 6.96 6.96 3.84 6.24 4.56 6.24 3.84 9.36 3.84 6.96 6.96 4.56] +xshow +end grestore +end grestore +% LeftAlgebra(a:Ring)->LeftModule(a:Ring) +newpath 113 288 moveto +103 263 86 219 75 190 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 78 189 moveto +72 180 lineto +72 191 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 78 189 moveto +72 180 lineto +72 191 lineto +closepath +stroke +end grestore +% Ring() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 188 252 moveto +134 252 lineto +134 216 lineto +188 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 188 252 moveto +134 252 lineto +134 216 lineto +188 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +142 229 moveto +(Ring\(\)) +[9.36 3.84 6.96 6.96 4.56 4.56] +xshow +end grestore +end grestore +% LeftAlgebra(a:Ring)->Ring() +newpath 130 288 moveto +135 280 140 270 146 261 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 149 262 moveto +151 252 lineto +143 259 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 149 262 moveto +151 252 lineto +143 259 lineto +closepath +stroke +end grestore +% LeftModule(a:Rng) +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 137 108 moveto +11 108 lineto +11 72 lineto +137 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 137 108 moveto +11 108 lineto +11 72 lineto +137 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +19 85 moveto +(LeftModule\(a:Rng\)) +[8.64 6.24 4.8 3.84 12.48 6.96 6.96 6.96 3.84 6.24 4.56 6.24 3.84 9.36 6.96 6.96 4.56] +xshow +end grestore +end grestore +% LeftModule(a:Ring)->LeftModule(a:Rng) +newpath 67 144 moveto +68 136 69 127 70 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 73 118 moveto +72 108 lineto +67 117 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 73 118 moveto +72 108 lineto +67 117 lineto +closepath +stroke +end grestore +% Ring()->LeftModule(a:Ring) +newpath 137 216 moveto +125 207 110 196 97 186 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 99 183 moveto +89 180 lineto +95 189 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 99 183 moveto +89 180 lineto +95 189 lineto +closepath +stroke +end grestore +% Rng() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 202 180 moveto +148 180 lineto +148 144 lineto +202 144 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 202 180 moveto +148 180 lineto +148 144 lineto +202 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +158 157 moveto +(Rng\(\)) +[9.36 6.96 6.96 4.56 4.56] +xshow +end grestore +end grestore +% Ring()->Rng() +newpath 165 216 moveto +166 208 168 199 170 190 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 173 190 moveto +172 180 lineto +167 189 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 173 190 moveto +172 180 lineto +167 189 lineto +closepath +stroke +end grestore +% Monoid() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 290 180 moveto +220 180 lineto +220 144 lineto +290 144 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 290 180 moveto +220 180 lineto +220 144 lineto +290 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +227 157 moveto +(Monoid\(\)) +[12.48 6.96 6.96 6.96 3.84 6.96 4.56 4.56] +xshow +end grestore +end grestore +% Ring()->Monoid() +newpath 185 216 moveto +196 207 211 196 224 186 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 226 189 moveto +232 180 lineto +222 183 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 226 189 moveto +232 180 lineto +222 183 lineto +closepath +stroke +end grestore +% ABELGRP... +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 167 36 moveto +77 36 lineto +77 0 lineto +167 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 167 36 moveto +77 36 lineto +77 0 lineto +167 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +84 13 moveto +(ABELGRP...) +[10.08 9.36 8.64 8.64 10.08 9.36 6.24 3.6 3.6 3.6] +xshow +end grestore +end grestore +% Rng()->ABELGRP... +newpath 170 144 moveto +164 125 155 96 146 72 curveto +142 63 138 54 134 45 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 137 44 moveto +130 36 lineto +131 47 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 137 44 moveto +130 36 lineto +131 47 lineto +closepath +stroke +end grestore +% SGROUP... +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 286 108 moveto +206 108 lineto +206 72 lineto +286 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 286 108 moveto +206 108 lineto +206 72 lineto +286 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +214 85 moveto +(SGROUP...) +[7.68 10.08 8.64 10.08 10.08 6.24 3.6 3.6 3.6] +xshow +end grestore +end grestore +% Rng()->SGROUP... +newpath 193 144 moveto +202 135 212 125 221 116 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 224 118 moveto +228 108 lineto +219 113 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 224 118 moveto +228 108 lineto +219 113 lineto +closepath +stroke +end grestore +% Monoid()->SGROUP... +newpath 253 144 moveto +252 136 251 127 250 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 253 117 moveto +248 108 lineto +247 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 253 117 moveto +248 108 lineto +247 118 lineto +closepath +stroke +end grestore +% LeftModule(a:Rng)->ABELGRP... +newpath 86 72 moveto +91 64 98 54 104 44 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 107 46 moveto +110 36 lineto +101 42 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 107 46 moveto +110 36 lineto +101 42 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/changelog b/changelog index b906a78..02e2bca 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,15 @@ +20081006 tpd books/bookvol10.2.pamphlet add categories +20081006 tpd src/algebra/Makefile remove fortcat.spad +20081006 tpd src/algebra/fortcat.spad.pamphlet absorbed into bookvol10.2 +20081006 tpd books/ps/v102fortranfunctioncategory.ps added +20081006 tpd books/ps/v102fortranmachinetypecategory.ps added +20081006 tpd books/ps/v102fortranmatrixcategory.ps added +20081006 tpd books/ps/v102fortranmatrixfunctioncategory.ps added +20081006 tpd books/ps/v102fortranprogramcategory.ps added +20081006 tpd books/ps/v102fortranvectorcategory.ps added +20081006 tpd books/ps/v102fortranvectorfunctioncategory.ps added +20081006 tpd src/algebra/derham.spad move LALG to bookvol10.2 +20081006 tpd books/ps/v102leftalgebra.ps added 20081005 tpd books/bookvol10.2 add categores 20081005 tpd books/ps/v102fullyevalableover.ps added 20081005 tpd src/algebra/equation2.spad move FEVALAB to bookvol10.2 diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index e3030a0..f932feb 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -330,7 +330,6 @@ LAYER7=\ \subsubsection{Completed spad files} \begin{verbatim} card.spad.pamphlet (CARD) -fortcat.spad.pamphlet (FORTFN FMC FORTCAT FVC FMTC FMFUN FVFUN) \end{verbatim} <>= @@ -1211,7 +1210,7 @@ SPADFILES= \ ${OUTSRC}/ffp.spad ${OUTSRC}/ffx.spad \ ${OUTSRC}/files.spad ${OUTSRC}/float.spad ${OUTSRC}/fmod.spad \ ${OUTSRC}/fname.spad ${OUTSRC}/fnla.spad ${OUTSRC}/formula.spad \ - ${OUTSRC}/fortcat.spad ${OUTSRC}/fortmac.spad ${OUTSRC}/fortpak.spad \ + ${OUTSRC}/fortmac.spad ${OUTSRC}/fortpak.spad \ ${OUTSRC}/fortran.spad ${OUTSRC}/forttyp.spad ${OUTSRC}/fourier.spad \ ${OUTSRC}/fparfrac.spad ${OUTSRC}/fraction.spad ${OUTSRC}/free.spad \ ${OUTSRC}/fr.spad ${OUTSRC}/fs2expxp.spad ${OUTSRC}/fs2ups.spad \ @@ -1371,7 +1370,7 @@ DOCFILES= \ ${DOC}/ffp.spad.dvi ${DOC}/ffrac.as.dvi ${DOC}/ffx.spad.dvi \ ${DOC}/files.spad.dvi ${DOC}/float.spad.dvi ${DOC}/fmod.spad.dvi \ ${DOC}/fname.spad.dvi ${DOC}/fnla.spad.dvi ${DOC}/formula.spad.dvi \ - ${DOC}/fortcat.spad.dvi ${DOC}/fortmac.spad.dvi ${DOC}/fortpak.spad.dvi \ + ${DOC}/fortmac.spad.dvi ${DOC}/fortpak.spad.dvi \ ${DOC}/fortran.spad.dvi ${DOC}/forttyp.spad.dvi ${DOC}/fourier.spad.dvi \ ${DOC}/fparfrac.spad.dvi ${DOC}/fraction.spad.dvi ${DOC}/free.spad.dvi \ ${DOC}/fr.spad.dvi ${DOC}/fs2expxp.spad.dvi ${DOC}/fs2ups.spad.dvi \ diff --git a/src/algebra/derham.spad.pamphlet b/src/algebra/derham.spad.pamphlet index 1055a99..2bfa12d 100644 --- a/src/algebra/derham.spad.pamphlet +++ b/src/algebra/derham.spad.pamphlet @@ -9,22 +9,6 @@ \eject \tableofcontents \eject -\section{category LALG LeftAlgebra} -<>= -)abbrev category LALG LeftAlgebra -++ Author: Larry A. Lambe -++ Date : 03/01/89; revised 03/17/89; revised 12/02/90. -++ Description: The category of all left algebras over an arbitrary -++ ring. -LeftAlgebra(R:Ring): Category == Join(Ring, LeftModule R) with - --operations - coerce: R -> % - ++ coerce(r) returns r * 1 where 1 is the identity of the - ++ left algebra. - add - coerce(x:R):% == x * 1$% - -@ \section{domain EAB ExtAlgBasis} <>= )abbrev domain EAB ExtAlgBasis @@ -1034,7 +1018,6 @@ DeRhamComplex(CoefRing,listIndVar:List Symbol): Export == Implement where <<*>>= <> -<> <> <> <> diff --git a/src/algebra/fortcat.spad.pamphlet b/src/algebra/fortcat.spad.pamphlet deleted file mode 100644 index 16daa51..0000000 --- a/src/algebra/fortcat.spad.pamphlet +++ /dev/null @@ -1,345 +0,0 @@ -\documentclass{article} -\usepackage{axiom} -\begin{document} -\title{\$SPAD/src/algebra fortcat.spad} -\author{Mike Dewar} -\maketitle -\begin{abstract} -\end{abstract} -\eject -\tableofcontents -\eject -\section{category FORTFN FortranFunctionCategory} -<>= -)abbrev category FORTFN FortranFunctionCategory -++ Author: Mike Dewar -++ Date Created: 13 January 1994 -++ Date Last Updated: 18 March 1994 -++ Related Constructors: FortranProgramCategory. -++ Description: -++ \axiomType{FortranFunctionCategory} is the category of arguments to -++ NAG Library routines which return (sets of) function values. -FortranFunctionCategory():Category == FortranProgramCategory with - coerce : List FortranCode -> $ - ++ coerce(e) takes an object from \spadtype{List FortranCode} and - ++ uses it as the body of an ASP. - coerce : FortranCode -> $ - ++ coerce(e) takes an object from \spadtype{FortranCode} and - ++ uses it as the body of an ASP. - coerce : Record(localSymbols:SymbolTable,code:List(FortranCode)) -> $ - ++ coerce(e) takes the component of \spad{e} from - ++ \spadtype{List FortranCode} and uses it as the body of the ASP, - ++ making the declarations in the \spadtype{SymbolTable} component. - retract : Expression Float -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Expression Float -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Expression Integer -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Expression Integer -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Polynomial Float -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Polynomial Float -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Polynomial Integer -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Polynomial Integer -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Fraction Polynomial Float -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Fraction Polynomial Float -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Fraction Polynomial Integer -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Fraction Polynomial Integer -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - - -- NB: These ASPs also have a coerce from an appropriate instantiation - -- of FortranExpression. - - -@ -\section{category FMC FortranMatrixCategory} -<>= -)abbrev category FMC FortranMatrixCategory -++ Author: Mike Dewar -++ Date Created: 21 March 1994 -++ Date Last Updated: -++ Related Constructors: FortranProgramCategory. -++ Description: -++ \axiomType{FortranMatrixCategory} provides support for -++ producing Functions and Subroutines when the input to these -++ is an AXIOM object of type \axiomType{Matrix} or in domains -++ involving \axiomType{FortranCode}. -FortranMatrixCategory():Category == FortranProgramCategory with - coerce : Matrix MachineFloat -> $ - ++ coerce(v) produces an ASP which returns the value of \spad{v}. - coerce : List FortranCode -> $ - ++ coerce(e) takes an object from \spadtype{List FortranCode} and - ++ uses it as the body of an ASP. - coerce : FortranCode -> $ - ++ coerce(e) takes an object from \spadtype{FortranCode} and - ++ uses it as the body of an ASP. - coerce : Record(localSymbols:SymbolTable,code:List(FortranCode)) -> $ - ++ coerce(e) takes the component of \spad{e} from - ++ \spadtype{List FortranCode} and uses it as the body of the ASP, - ++ making the declarations in the \spadtype{SymbolTable} component. - -@ -\section{category FORTCAT FortranProgramCategory} -<>= -)abbrev category FORTCAT FortranProgramCategory -++ Author: Mike Dewar -++ Date Created: November 1992 -++ Date Last Updated: -++ Basic Operations: -++ Related Constructors: FortranType, FortranCode, Switch -++ Also See: -++ AMS Classifications: -++ Keywords: -++ References: -++ Description: -++ \axiomType{FortranProgramCategory} provides various models of -++ FORTRAN subprograms. These can be transformed into actual FORTRAN -++ code. -FortranProgramCategory():Category == Join(Type,CoercibleTo OutputForm) with - outputAsFortran : $ -> Void - ++ \axiom{outputAsFortran(u)} translates \axiom{u} into a legal FORTRAN - ++ subprogram. - -@ -\section{category FVC FortranVectorCategory} -<>= -)abbrev category FVC FortranVectorCategory -++ Author: Mike Dewar -++ Date Created: October 1993 -++ Date Last Updated: 18 March 1994 -++ Related Constructors: FortranProgramCategory. -++ Description: -++ \axiomType{FortranVectorCategory} provides support for -++ producing Functions and Subroutines when the input to these -++ is an AXIOM object of type \axiomType{Vector} or in domains -++ involving \axiomType{FortranCode}. -FortranVectorCategory():Category == FortranProgramCategory with - coerce : Vector MachineFloat -> $ - ++ coerce(v) produces an ASP which returns the value of \spad{v}. - coerce : List FortranCode -> $ - ++ coerce(e) takes an object from \spadtype{List FortranCode} and - ++ uses it as the body of an ASP. - coerce : FortranCode -> $ - ++ coerce(e) takes an object from \spadtype{FortranCode} and - ++ uses it as the body of an ASP. - coerce : Record(localSymbols:SymbolTable,code:List(FortranCode)) -> $ - ++ coerce(e) takes the component of \spad{e} from - ++ \spadtype{List FortranCode} and uses it as the body of the ASP, - ++ making the declarations in the \spadtype{SymbolTable} component. - -@ -\section{category FMTC FortranMachineTypeCategory} -<>= -)abbrev category FMTC FortranMachineTypeCategory -++ Author: Mike Dewar -++ Date Created: December 1993 -++ Date Last Updated: -++ Basic Operations: -++ Related Domains: -++ Also See: FortranExpression, MachineInteger, MachineFloat, MachineComplex -++ AMS Classifications: -++ Keywords: -++ Examples: -++ References: -++ Description: A category of domains which model machine arithmetic -++ used by machines in the AXIOM-NAG link. -FortranMachineTypeCategory():Category == Join(IntegralDomain,OrderedSet, - RetractableTo(Integer) ) - -@ -\section{category FMFUN FortranMatrixFunctionCategory} -<>= -)abbrev category FMFUN FortranMatrixFunctionCategory -++ Author: Mike Dewar -++ Date Created: March 18 1994 -++ Date Last Updated: -++ Related Constructors: FortranProgramCategory. -++ Description: -++ \axiomType{FortranMatrixFunctionCategory} provides support for -++ producing Functions and Subroutines representing matrices of -++ expressions. - -FortranMatrixFunctionCategory():Category == FortranProgramCategory with - coerce : List FortranCode -> $ - ++ coerce(e) takes an object from \spadtype{List FortranCode} and - ++ uses it as the body of an ASP. - coerce : FortranCode -> $ - ++ coerce(e) takes an object from \spadtype{FortranCode} and - ++ uses it as the body of an ASP. - coerce : Record(localSymbols:SymbolTable,code:List(FortranCode)) -> $ - ++ coerce(e) takes the component of \spad{e} from - ++ \spadtype{List FortranCode} and uses it as the body of the ASP, - ++ making the declarations in the \spadtype{SymbolTable} component. - retract : Matrix Expression Float -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Matrix Expression Float -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Matrix Expression Integer -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Matrix Expression Integer -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Matrix Polynomial Float -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Matrix Polynomial Float -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Matrix Polynomial Integer -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Matrix Polynomial Integer -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Matrix Fraction Polynomial Float -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Matrix Fraction Polynomial Float -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Matrix Fraction Polynomial Integer -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Matrix Fraction Polynomial Integer -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - - -- NB: These ASPs also have a coerce from an appropriate instantiation - -- of Matrix FortranExpression. - -@ -\section{category FVFUN FortranVectorFunctionCategory} -<>= -)abbrev category FVFUN FortranVectorFunctionCategory -++ Author: Mike Dewar -++ Date Created: 11 March 1994 -++ Date Last Updated: 18 March 1994 -++ Related Constructors: FortranProgramCategory. -++ Description: -++ \axiomType{FortranVectorFunctionCategory} is the catagory of arguments -++ to NAG Library routines which return the values of vectors of functions. -FortranVectorFunctionCategory():Category == FortranProgramCategory with - coerce : List FortranCode -> $ - ++ coerce(e) takes an object from \spadtype{List FortranCode} and - ++ uses it as the body of an ASP. - coerce : FortranCode -> $ - ++ coerce(e) takes an object from \spadtype{FortranCode} and - ++ uses it as the body of an ASP. - coerce : Record(localSymbols:SymbolTable,code:List(FortranCode)) -> $ - ++ coerce(e) takes the component of \spad{e} from - ++ \spadtype{List FortranCode} and uses it as the body of the ASP, - ++ making the declarations in the \spadtype{SymbolTable} component. - retract : Vector Expression Float -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Vector Expression Float -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Vector Expression Integer -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Vector Expression Integer -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Vector Polynomial Float -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Vector Polynomial Float -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Vector Polynomial Integer -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Vector Polynomial Integer -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Vector Fraction Polynomial Float -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Vector Fraction Polynomial Float -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retract : Vector Fraction Polynomial Integer -> $ - ++ retract(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - retractIfCan : Vector Fraction Polynomial Integer -> Union($,"failed") - ++ retractIfCan(e) tries to convert \spad{e} into an ASP, checking that - ++ legal Fortran-77 is produced. - - -- NB: These ASPs also have a coerce from an appropriate instantiation - -- of Vector FortranExpression. - -@ -\section{License} -<>= ---Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd. ---All rights reserved. --- ---Redistribution and use in source and binary forms, with or without ---modification, are permitted provided that the following conditions are ---met: --- --- - Redistributions of source code must retain the above copyright --- notice, this list of conditions and the following disclaimer. --- --- - Redistributions in binary form must reproduce the above copyright --- notice, this list of conditions and the following disclaimer in --- the documentation and/or other materials provided with the --- distribution. --- --- - Neither the name of The Numerical ALgorithms Group Ltd. nor the --- names of its contributors may be used to endorse or promote products --- derived from this software without specific prior written permission. --- ---THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS ---IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED ---TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ---PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER ---OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ---EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ---PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ---PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ---LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ---NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ---SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -@ -<<*>>= -<> - -<> -<> -<> -<> -<> -<> -<> - -@ -\eject -\begin{thebibliography}{99} -\bibitem{1} nothing -\end{thebibliography} -\end{document}