diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet index ffc18ab..da31f0c 100644 --- a/books/bookvol10.3.pamphlet +++ b/books/bookvol10.3.pamphlet @@ -27157,7 +27157,7 @@ where the denominator 18014398509481984 is 2^54 See Also: -0 )help Float +o )help Float o )show DoubleFloat @ @@ -27636,6 +27636,314 @@ DoubleFloat(): Join(FloatingPointSystem, DifferentialRing, OpenMath, @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{domain DFVEC DoubleFloatVector} +<>= +)set break resume +)sys rm -f DoubleFloatVector.output +)spool DoubleFloatVector.output +)set message test on +)set message auto off +)clear all + +--S 1 of 6 +)show DoubleFloatVector +--R DoubleFloatVector is a domain constructor +--R Abbreviation for DoubleFloatVector is DFVEC +--R This constructor is exposed in this frame. +--R Issue )edit bookvol10.3.pamphlet to see algebra source code for DFVEC +--R +--R------------------------------- Operations -------------------------------- +--R concat : List % -> % concat : (%,%) -> % +--R concat : (DoubleFloat,%) -> % concat : (%,DoubleFloat) -> % +--R construct : List DoubleFloat -> % copy : % -> % +--R delete : (%,Integer) -> % ?.? : (%,Integer) -> DoubleFloat +--R empty : () -> % empty? : % -> Boolean +--R entries : % -> List DoubleFloat eq? : (%,%) -> Boolean +--R index? : (Integer,%) -> Boolean indices : % -> List Integer +--R insert : (%,%,Integer) -> % qelt : (%,Integer) -> DoubleFloat +--R qnew : Integer -> % reverse : % -> % +--R sample : () -> % +--R #? : % -> NonNegativeInteger if $ has finiteAggregate +--R ?*? : (%,DoubleFloat) -> % if DoubleFloat has MONOID +--R ?*? : (DoubleFloat,%) -> % if DoubleFloat has MONOID +--R ?*? : (Integer,%) -> % if DoubleFloat has ABELGRP +--R ?+? : (%,%) -> % if DoubleFloat has ABELSG +--R ?-? : (%,%) -> % if DoubleFloat has ABELGRP +--R -? : % -> % if DoubleFloat has ABELGRP +--R ? Boolean if DoubleFloat has ORDSET +--R ?<=? : (%,%) -> Boolean if DoubleFloat has ORDSET +--R ?=? : (%,%) -> Boolean if DoubleFloat has SETCAT +--R ?>? : (%,%) -> Boolean if DoubleFloat has ORDSET +--R ?>=? : (%,%) -> Boolean if DoubleFloat has ORDSET +--R any? : ((DoubleFloat -> Boolean),%) -> Boolean if $ has finiteAggregate +--R coerce : % -> OutputForm if DoubleFloat has SETCAT +--R convert : % -> InputForm if DoubleFloat has KONVERT INFORM +--R copyInto! : (%,%,Integer) -> % if $ has shallowlyMutable +--R count : (DoubleFloat,%) -> NonNegativeInteger if $ has finiteAggregate and DoubleFloat has SETCAT +--R count : ((DoubleFloat -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate +--R cross : (%,%) -> % if DoubleFloat has RING +--R delete : (%,UniversalSegment Integer) -> % +--R dot : (%,%) -> DoubleFloat if DoubleFloat has RING +--R ?.? : (%,UniversalSegment Integer) -> % +--R elt : (%,Integer,DoubleFloat) -> DoubleFloat +--R entry? : (DoubleFloat,%) -> Boolean if $ has finiteAggregate and DoubleFloat has SETCAT +--R eval : (%,List DoubleFloat,List DoubleFloat) -> % if DoubleFloat has EVALAB DFLOAT and DoubleFloat has SETCAT +--R eval : (%,DoubleFloat,DoubleFloat) -> % if DoubleFloat has EVALAB DFLOAT and DoubleFloat has SETCAT +--R eval : (%,Equation DoubleFloat) -> % if DoubleFloat has EVALAB DFLOAT and DoubleFloat has SETCAT +--R eval : (%,List Equation DoubleFloat) -> % if DoubleFloat has EVALAB DFLOAT and DoubleFloat has SETCAT +--R every? : ((DoubleFloat -> Boolean),%) -> Boolean if $ has finiteAggregate +--R fill! : (%,DoubleFloat) -> % if $ has shallowlyMutable +--R find : ((DoubleFloat -> Boolean),%) -> Union(DoubleFloat,"failed") +--R first : % -> DoubleFloat if Integer has ORDSET +--R hash : % -> SingleInteger if DoubleFloat has SETCAT +--R insert : (DoubleFloat,%,Integer) -> % +--R latex : % -> String if DoubleFloat has SETCAT +--R length : % -> DoubleFloat if DoubleFloat has RADCAT and DoubleFloat has RING +--R less? : (%,NonNegativeInteger) -> Boolean +--R magnitude : % -> DoubleFloat if DoubleFloat has RADCAT and DoubleFloat has RING +--R map : (((DoubleFloat,DoubleFloat) -> DoubleFloat),%,%) -> % +--R map : ((DoubleFloat -> DoubleFloat),%) -> % +--R map! : ((DoubleFloat -> DoubleFloat),%) -> % if $ has shallowlyMutable +--R max : (%,%) -> % if DoubleFloat has ORDSET +--R maxIndex : % -> Integer if Integer has ORDSET +--R member? : (DoubleFloat,%) -> Boolean if $ has finiteAggregate and DoubleFloat has SETCAT +--R members : % -> List DoubleFloat if $ has finiteAggregate +--R merge : (%,%) -> % if DoubleFloat has ORDSET +--R merge : (((DoubleFloat,DoubleFloat) -> Boolean),%,%) -> % +--R min : (%,%) -> % if DoubleFloat has ORDSET +--R minIndex : % -> Integer if Integer has ORDSET +--R more? : (%,NonNegativeInteger) -> Boolean +--R new : (NonNegativeInteger,DoubleFloat) -> % +--R outerProduct : (%,%) -> Matrix DoubleFloat if DoubleFloat has RING +--R parts : % -> List DoubleFloat if $ has finiteAggregate +--R position : (DoubleFloat,%,Integer) -> Integer if DoubleFloat has SETCAT +--R position : (DoubleFloat,%) -> Integer if DoubleFloat has SETCAT +--R position : ((DoubleFloat -> Boolean),%) -> Integer +--R qsetelt! : (%,Integer,DoubleFloat) -> DoubleFloat if $ has shallowlyMutable +--R reduce : (((DoubleFloat,DoubleFloat) -> DoubleFloat),%) -> DoubleFloat if $ has finiteAggregate +--R reduce : (((DoubleFloat,DoubleFloat) -> DoubleFloat),%,DoubleFloat) -> DoubleFloat if $ has finiteAggregate +--R reduce : (((DoubleFloat,DoubleFloat) -> DoubleFloat),%,DoubleFloat,DoubleFloat) -> DoubleFloat if $ has finiteAggregate and DoubleFloat has SETCAT +--R remove : ((DoubleFloat -> Boolean),%) -> % if $ has finiteAggregate +--R remove : (DoubleFloat,%) -> % if $ has finiteAggregate and DoubleFloat has SETCAT +--R removeDuplicates : % -> % if $ has finiteAggregate and DoubleFloat has SETCAT +--R reverse! : % -> % if $ has shallowlyMutable +--R select : ((DoubleFloat -> Boolean),%) -> % if $ has finiteAggregate +--R setelt : (%,UniversalSegment Integer,DoubleFloat) -> DoubleFloat if $ has shallowlyMutable +--R setelt : (%,Integer,DoubleFloat) -> DoubleFloat if $ has shallowlyMutable +--R size? : (%,NonNegativeInteger) -> Boolean +--R sort : % -> % if DoubleFloat has ORDSET +--R sort : (((DoubleFloat,DoubleFloat) -> Boolean),%) -> % +--R sort! : % -> % if $ has shallowlyMutable and DoubleFloat has ORDSET +--R sort! : (((DoubleFloat,DoubleFloat) -> Boolean),%) -> % if $ has shallowlyMutable +--R sorted? : % -> Boolean if DoubleFloat has ORDSET +--R sorted? : (((DoubleFloat,DoubleFloat) -> Boolean),%) -> Boolean +--R swap! : (%,Integer,Integer) -> Void if $ has shallowlyMutable +--R zero : NonNegativeInteger -> % if DoubleFloat has ABELMON +--R ?~=? : (%,%) -> Boolean if DoubleFloat has SETCAT +--R +--E 1 + +--S 2 of 6 +qnew 17 +--R +--R (1) [0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.] +--R Type: DoubleFloatVector +--E 2 + +-- NOTE: DFVEC arrays are 0-based, normal Axiom arrays are 1-based +--S 3 of 6 +a.1:=1.0 + + (3) 1. + Type: DoubleFloat +--E 3 + +--S 4 of 6 +a + + (4) [0.,1.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.] + Type: DoubleFloatVector +--E 4 + +--S 5 of 6 +a.0:=2.0 + + (5) 2. + Type: DoubleFloat +--E 5 + +--S 6 of 6 +a + + (6) [2.,1.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.] + Type: DoubleFloatVector +--E 6 + +)spool +)lisp (bye) + +@ + +<>= +==================================================================== +DoubleFloatVector examples +==================================================================== +This domain creates a lisp simple array of machine doublefloats. +It provides one new function called qnew which takes an integer +that gives the array length. + +NOTE: Unlike normal Axiom arrays the DoubleFloatVector arrays +are 0-based so the first element is 0. Axiom arrays normally +start at 1. + +qnew 17 + + [0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.] + +a.1:=1.0 + 1. + +a + [0.,1.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.] + +a.0:=2.0 + 2. + +a + [2.,1.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.] + + +See Also: +o )help Float +o )help DoubleFloat +o )show DoubleFloatVector + +@ +\pagehead{DoubleFloatVector}{DFVEC} +\pagepic{ps/v103doublefloatvector.ps}{DFVEC}{1.00} + +{\bf Exports:}\\ +\begin{tabular}{lllll} +\cross{DFVEC}{\#?} & +\cross{DFVEC}{-?} & +\cross{DFVEC}{?*?} & +\cross{DFVEC}{?+?} & +\cross{DFVEC}{?-?} \\ +\cross{DFVEC}{?.?} & +\cross{DFVEC}{?$<=$?} & +\cross{DFVEC}{?$<$?} & +\cross{DFVEC}{?=?} & +\cross{DFVEC}{?$>=$?} \\ +\cross{DFVEC}{?$>$?} & +\cross{DFVEC}{?\~{}=?} & +\cross{DFVEC}{any?} & +\cross{DFVEC}{coerce} & +\cross{DFVEC}{concat} \\ +\cross{DFVEC}{construct} & +\cross{DFVEC}{convert} & +\cross{DFVEC}{copy} & +\cross{DFVEC}{copyInto!} & +\cross{DFVEC}{count} \\ +\cross{DFVEC}{cross} & +\cross{DFVEC}{delete} & +\cross{DFVEC}{dot} & +\cross{DFVEC}{elt} & +\cross{DFVEC}{empty} \\ +\cross{DFVEC}{empty?} & +\cross{DFVEC}{entries} & +\cross{DFVEC}{entry?} & +\cross{DFVEC}{eq?} & +\cross{DFVEC}{eval} \\ +\cross{DFVEC}{every?} & +\cross{DFVEC}{fill!} & +\cross{DFVEC}{find} & +\cross{DFVEC}{first} & +\cross{DFVEC}{hash} \\ +\cross{DFVEC}{index?} & +\cross{DFVEC}{indices} & +\cross{DFVEC}{insert} & +\cross{DFVEC}{latex} & +\cross{DFVEC}{length} \\ +\cross{DFVEC}{less?} & +\cross{DFVEC}{magnitude} & +\cross{DFVEC}{map} & +\cross{DFVEC}{map!} & +\cross{DFVEC}{max} \\ +\cross{DFVEC}{maxIndex} & +\cross{DFVEC}{member?} & +\cross{DFVEC}{members} & +\cross{DFVEC}{merge} & +\cross{DFVEC}{min} \\ +\cross{DFVEC}{minIndex} & +\cross{DFVEC}{more?} & +\cross{DFVEC}{new} & +\cross{DFVEC}{outerProduct} & +\cross{DFVEC}{parts} \\ +\cross{DFVEC}{position} & +\cross{DFVEC}{qelt} & +\cross{DFVEC}{qnew} & +\cross{DFVEC}{qsetelt!} & +\cross{DFVEC}{reduce} \\ +\cross{DFVEC}{remove} & +\cross{DFVEC}{removeDuplicates} & +\cross{DFVEC}{reverse} & +\cross{DFVEC}{reverse!} & +\cross{DFVEC}{sample} \\ +\cross{DFVEC}{select} & +\cross{DFVEC}{setelt} & +\cross{DFVEC}{size?} & +\cross{DFVEC}{sort} & +\cross{DFVEC}{sort!} \\ +\cross{DFVEC}{sorted?} & +\cross{DFVEC}{swap!} & +\cross{DFVEC}{zero} && +\end{tabular} + +<>= +)abbrev domain DFVEC DoubleFloatVector +++ Author: Waldek Hebisch +++ Description: This is a low-level domain which implements vectors +++ (one dimensional arrays) of double precision floating point +++ numbers. Indexing is 0 based, there is no bound checking (unless +++ provided by lower level). +DoubleFloatVector : VectorCategory DoubleFloat with + qnew : Integer -> % + ++ qnew(n) creates a new uninitialized vector of length n. + ++ + ++X qnew(7) + == add + + Qelt1 ==> DELT$Lisp + Qsetelt1 ==> DSETELT$Lisp + + qelt(x, i) == Qelt1(x, i) + qsetelt_!(x, i, s) == Qsetelt1(x, i, s) + Qsize ==> DLEN$Lisp + Qnew ==> MAKE_-DOUBLE_-VECTOR$Lisp + Qnew1 ==> MAKE_-DOUBLE_-VECTOR1$Lisp + + #x == Qsize x + minIndex x == 0 + empty() == Qnew(0$Lisp) + qnew(n) == Qnew(n) + new(n, x) == Qnew1(n, x) + qelt(x, i) == Qelt1(x, i) + elt(x:%, i:Integer) == Qelt1(x, i) + qsetelt_!(x, i, s) == Qsetelt1(x, i, s) + setelt(x : %, i : Integer, s : DoubleFloat) == Qsetelt1(x, i, s) + fill_!(x, s) == + for i in 0..((Qsize(x)) - 1) repeat Qsetelt1(x, i, s) + x + +@ +<>= +"DFVEC" [color="#88FF44",href="bookvol10.3.pdf#nameddest=DFVEC", + shape=ellipse] +"VECTCAT" [color=lightblue,href="bookvol10.2.pdf#nameddest=VECTCAT"]; +"DFVEC" -> "VECTCAT" + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{domain DROPT DrawOption} <>= @@ -148117,6 +148425,7 @@ Note that this code is not included in the generated catdef.spad file. <> <> <> +<> <> <> <> diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index 21b4e7a..2d14288 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -23911,6 +23911,7 @@ otherwise the new algebra won't be loaded by the interpreter when needed. (|DistinctDegreeFactorize| . DDFACT) (|Divisor| . DIV) (|DoubleFloat| . DFLOAT) + (|DoubleFloatVector| . DFVEC) (|DoubleFloatSpecialFunctions| . DFSFUN) (|DrawComplex| . DRAWCX) (|DrawNumericHack| . DRAWHACK) @@ -37945,6 +37946,45 @@ an AssociationList representation @ +\section{DoubleFloatVector} +Double Float Vectors are simple arrays of lisp double-floats +made available at the Spad language level. + +\defmacro{dlen}{DoubleFloatVector Qsize function support} +<>= +(defmacro dlen (v) + `(length (the (simple-array double-float (*)) ,v))) + +@ + +\defmacro{make-double-vector}{DoubleFloatVector Qnew function support} +<>= +(defmacro make-double-vector (n) + `(make-array (list ,n) :element-type 'double-float)) + +@ + +\defmacro{make-double-vector1}{DoubleFloatVector Qnew1 function support} +<>= +(defmacro make-double-vector1 (n s) + `(make-array (list ,n) :element-type 'double-float :initial-element ,s)) + +@ + +\defmacro{delt}{DoubleFloatVector Qelt1 function support} +<>= +(defmacro delt (v i) + `(aref (the (simple-array double-float (*)) ,v) ,i)) + +@ + +\defmacro{dsetelt}{DoubleFloatVector Qsetelt1 function support} +<>= +(defmacro dsetelt (v i s) + `(setf (aref (the (simple-array double-float (*)) ,v) ,i) ,s)) + +@ + \section{Integer} \defun{divide2}{Integer divide function support} Note that this is defined as a SPADReplace function in Integer @@ -39628,10 +39668,15 @@ This needs to work off the internal exposure list, not the file. <> <> <> +<> +<> +<> <> <> <> <> +<> +<> <> <> <> diff --git a/books/ps/v103doublefloatvector.ps b/books/ps/v103doublefloatvector.ps new file mode 100644 index 0000000..cee6edf --- /dev/null +++ b/books/ps/v103doublefloatvector.ps @@ -0,0 +1,258 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Graphviz version 2.20.2 (Mon Mar 30 10:09:11 UTC 2009) +%%For: (root) root +%%Title: pic +%%Pages: 1 +%%BoundingBox: 36 36 132 152 +%%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 + 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 text fitted to its expected width +/alignedtext { % width text + /text exch def + /width exch def + gsave + width 0 gt { + [] 0 setdash + text stringwidth pop width exch sub text length div 0 text ashow + } if + 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 +setupLatin1 +%%Page: 1 1 +%%PageBoundingBox: 36 36 132 152 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 96 116 boxprim clip newpath +1 1 set_scale 0 rotate 40 40 translate +% DFVEC +gsave +[ /Rect [ 0 72 88 108 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.3.pdf#nameddest=DFVEC) >> + /Subtype /Link +/ANN pdfmark +0.273 0.733 1.000 nodecolor +44 90 43.97 18 ellipse_path fill +1 setlinewidth +filled +0.273 0.733 1.000 nodecolor +44 90 43.97 18 ellipse_path stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +20 85.9 moveto 48 (DFVEC) alignedtext +grestore +% VECTCAT +gsave +[ /Rect [ 4 0 84 36 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.2.pdf#nameddest=VECTCAT) >> + /Subtype /Link +/ANN pdfmark +0.537 0.247 0.902 nodecolor +newpath 84 36 moveto +4 36 lineto +4 0 lineto +84 0 lineto +closepath fill +1 setlinewidth +filled +0.537 0.247 0.902 nodecolor +newpath 84 36 moveto +4 36 lineto +4 0 lineto +84 0 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +11.5 13.9 moveto 65 (VECTCAT) alignedtext +grestore +% DFVEC->VECTCAT +gsave +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 44 72 moveto +44 64 44 55 44 46 curveto +stroke +0.000 0.000 0.000 edgecolor +newpath 47.5 46 moveto +44 36 lineto +40.5 46 lineto +closepath fill +1 setlinewidth +solid +0.000 0.000 0.000 edgecolor +newpath 47.5 46 moveto +44 36 lineto +40.5 46 lineto +closepath stroke +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +end +restore +%%EOF diff --git a/changelog b/changelog index 8b98b59..c80ef8d 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,8 @@ +20100703 wxh src/axiom-website/patches.html 20100703.02.wxh.patch +20100703 wxh src/algebra/Makefile help and test files for DoubleFloatVector +20100703 wxh books/bookvol5 expose DFVEC, add support macros +20100703 wxh books/ps/v103doublefloatvector.ps added +20100703 wxh books/bookvol10.3 add DoubleFloatVector 20100703 tpd src/axiom-website/patches.html 20100703.01.tpd.patch 20100703 tpd books/bookvol6 fix deleted variable from axiom script 20100702 tpd src/axiom-website/patches.html 20100702.03.tpd.patch diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index b5eba6c..2aac71f 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -4447,8 +4447,8 @@ Used by next layer: IVECTOR PTCAT STRICAT <>= LAYER9=\ - ${OUT}/AFFPL.o \ - ${OUT}/BITS.o ${OUT}/DIRPROD2.o ${OUT}/IMATRIX.o ${OUT}/INTRVL.o \ + ${OUT}/AFFPL.o ${OUT}/BITS.o ${OUT}/DFVEC.o \ + ${OUT}/DIRPROD2.o ${OUT}/IMATRIX.o ${OUT}/INTRVL.o \ ${OUT}/IVECTOR.o ${OUT}/LOCPOWC.o \ ${OUT}/LODO1.o ${OUT}/LODO2.o ${OUT}/LPOLY.o \ ${OUT}/LSMP.o ${OUT}/LSMP1.o ${OUT}/MATCAT2.o ${OUT}/PROJPL.o \ @@ -4482,6 +4482,20 @@ LAYER9=\ /*"BITS" -> {"RETRACT"; "LINEXP"; "PATMAB"; "CFCAT"; "REAL"; "CHARZ"}*/ /*"BITS" -> {"STEP"; "OM"}*/ +"DFVEC" [color="#88FF44",href="bookvol10.3.pdf#nameddest=DFVEC"] +"DFVEC" -> "VECTCAT" +/*"DFVEC" -> {"A1AGG"; "FLAGG"; "LNAGG"; "IXAGG"; "HOAGG"; "AGG"; "TYPE"}*/ +/*"DFVEC" -> {"SETCAT"; "BASTYPE"; "KOERCE"; "EVALAB"; "IEVALAB"; "ELTAGG"}*/ +/*"DFVEC" -> {"ELTAB"; "CLAGG"; "KONVERT"; "ORDSET"; "INT"; "SINT"; "NNI"}*/ +/*"DFVEC" -> {"FPS"; "RNS"; "FIELD"; "EUCDOM"; "PID"; "GCDDOM"; "INTDOM"}*/ +/*"DFVEC" -> {"COMRING"; "RING"; "RNG"; "ABELGRP"; "CABMON"; "ABELMON"}*/ +/*"DFVEC" -> {"ABELSG"; "SGROUP"; "MONOID"; "LMODULE"; "BMODULE"; "RMODULE"}*/ +/*"DFVEC" -> {"ALGEBRA"; "MODULE"; "ENTIRER"; "UFD"; "DIVRING"; "ORDRING"}*/ +/*"DFVEC" -> {"OAGROUP"; "OCAMON"; "OAMON"; "OASGP"; "REAL"; "RETRACT"}*/ +/*"DFVEC" -> {"RADCAT"; "PATMAB"; "CHARZ"; "DIFRING"; "OM"; "TRANFUN"}*/ +/*"DFVEC" -> {"TRIGCAT"; "ATRIG"; "HYPCAT"; "AHYP"; "ELEMFUN"; "SPFCAT"}*/ +/*"DFVEC" -> {"INS"; "OINTDOM"; "LINEXP"; "CFCAT"; "STEP"}*/ + "DIRPROD2" [color="#FF4488",href="bookvol10.4.pdf#nameddest=DIRPROD2"] /*"DIRPROD2" -> "TYPE"*/ "DIRPROD2" -> "VECTCAT" @@ -17325,6 +17339,7 @@ SPADHELP=\ ${HELP}/Divisor.help \ ${HELP}/DivisorCategory.help \ ${HELP}/DoubleFloat.help \ + ${HELP}/DoubleFloatVector.help \ ${HELP}/DoublyLinkedAggregate.help \ ${HELP}/DrawOption.help \ ${HELP}/d01ajfAnnaType.help \ @@ -18012,6 +18027,7 @@ REGRESS= \ Divisor.regress \ DivisorCategory.regress \ DoubleFloat.regress \ + DoubleFloatVector.regress \ DoublyLinkedAggregate.regress \ DrawOption.regress \ d01ajfAnnaType.regress \ @@ -20108,6 +20124,16 @@ ${HELP}/DoubleFloat.help: ${BOOKS}/bookvol10.3.pamphlet >${INPUT}/DoubleFloat.input @echo "DoubleFloat (DFLOAT)" >>${HELPFILE} +${HELP}/DoubleFloatVector.help: ${BOOKS}/bookvol10.3.pamphlet + @echo 7210 create DoubleFloatVector.help from \ + ${BOOKS}/bookvol10.3.pamphlet + @${TANGLE} -R"DoubleFloatVector.help" ${BOOKS}/bookvol10.3.pamphlet \ + >${HELP}/DoubleFloatVector.help + @cp ${HELP}/DoubleFloatVector.help ${HELP}/DFVEC.help + @${TANGLE} -R"DoubleFloatVector.input" ${BOOKS}/bookvol10.3.pamphlet \ + >${INPUT}/DoubleFloatVector.input + @echo "DoubleFloatVector (DFVEC)" >>${HELPFILE} + ${HELP}/DoublyLinkedAggregate.help: ${BOOKS}/bookvol10.2.pamphlet @echo 5000 create DoublyLinkedAggregate.help from \ ${BOOKS}/bookvol10.2.pamphlet diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 0e1d097..b50e256 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -2968,5 +2968,7 @@ src/doc/Makefile cleanly latex pure latex files
src/input/Makefile segment test set choice from command line
20100703.01.tpd.patch books/bookvol6 fix deleted variable from axiom script
+20100703.02.wxh.patch +books/bookvol10.3 add DoubleFloatVector