diff --git a/books/bookvol10.5.pamphlet b/books/bookvol10.5.pamphlet
index 1262b46..8d67bee 100644
--- a/books/bookvol10.5.pamphlet
+++ b/books/bookvol10.5.pamphlet
@@ -2137,56 +2137,56 @@ BlasLevelOne() : Exports == Implementation where
Exports == with
dcabs1: CDF -> DF
- ++ dcabs1(z) computes (+ (abs (realpart z)) (abs (imagpart z)))
+ ++dcabs1(z) computes (+ (abs (realpart z)) (abs (imagpart z)))
++
++X t1:Complex DoubleFloat := complex(1.0,0)
++X dcabs1(t1)
dasum: (SI, DX, SI) -> DF
- ++ dasum(n,array,incx) computes the sum of n elements in array
- ++ using a stride of incx
+ ++dasum(n,array,incx) computes the sum of n elements in array
+ ++using a stride of incx
++
- ++X dx:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ]
+ ++X dx:PRIMARR(DFLOAT):=[[1.0,2.0,3.0,4.0,5.0,6.0]]
++X dasum(6,dx,1)
++X dasum(3,dx,2)
daxpy: (SI, DF, DX, SI, DX, SI) -> DX
- ++ daxpy(n,da,x,incx,y,incy) computes a y = a*x + y
- ++ for each of the chosen elements of the vectors x and y
- ++ and a constant multiplier a
- ++ Note that the vector y is modified with the results.
+ ++daxpy(n,da,x,incx,y,incy) computes a y = a*x + y
+ ++for each of the chosen elements of the vectors x and y
+ ++and a constant multiplier a
+ ++Note that the vector y is modified with the results.
++
- ++X x:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ]
- ++X y:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ]
+ ++X x:PRIMARR(DFLOAT):=[[1.0,2.0,3.0,4.0,5.0,6.0]]
+ ++X y:PRIMARR(DFLOAT):=[[1.0,2.0,3.0,4.0,5.0,6.0]]
++X daxpy(6,2.0,x,1,y,1)
++X y
- ++X m:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0] ]
- ++X n:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ]
+ ++X m:PRIMARR(DFLOAT):=[[1.0,2.0,3.0]]
+ ++X n:PRIMARR(DFLOAT):=[[1.0,2.0,3.0,4.0,5.0,6.0]]
++X daxpy(3,-2.0,m,1,n,2)
++X n
dcopy: (SI, DX, SI, DX, SI) -> DX
- ++ dcopy(n,x,incx,y,incy) copies y from x
- ++ for each of the chosen elements of the vectors x and y
- ++ Note that the vector y is modified with the results.
+ ++dcopy(n,x,incx,y,incy) copies y from x
+ ++for each of the chosen elements of the vectors x and y
+ ++Note that the vector y is modified with the results.
++
- ++X x:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ]
- ++X y:PRIMARR(DFLOAT):=[ [0.0,0.0,0.0,0.0,0.0,0.0] ]
+ ++X x:PRIMARR(DFLOAT):=[[1.0,2.0,3.0,4.0,5.0,6.0]]
+ ++X y:PRIMARR(DFLOAT):=[[0.0,0.0,0.0,0.0,0.0,0.0]]
++X dcopy(6,x,1,y,1)
++X y
- ++X m:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0] ]
- ++X n:PRIMARR(DFLOAT):=[ [0.0,0.0,0.0,0.0,0.0,0.0] ]
+ ++X m:PRIMARR(DFLOAT):=[[1.0,2.0,3.0]]
+ ++X n:PRIMARR(DFLOAT):=[[0.0,0.0,0.0,0.0,0.0,0.0]]
++X dcopy(3,m,1,n,2)
++X n
ddot: (SI, DX, SI, DX, SI) -> DF
- ++ ddot(n,x,incx,y,incy) computes the vector dot product
- ++ of elements from the vector x and the vector y
- ++ If the indicies are negative the elements are taken
- ++ relative to the far end of the vector.
+ ++ddot(n,x,incx,y,incy) computes the vector dot product
+ ++of elements from the vector x and the vector y
+ ++If the indicies are negative the elements are taken
+ ++relative to the far end of the vector.
++
- ++X x:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0] ]
- ++X y:PRIMARR(DFLOAT):=[ [5.0,6.0,7.0,8.0,9.0] ]
+ ++X x:PRIMARR(DFLOAT):=[[1.0,2.0,3.0,4.0,5.0]]
+ ++X y:PRIMARR(DFLOAT):=[[5.0,6.0,7.0,8.0,9.0]]
++X ddot(0,a,1,b,1) -- handle 0 elements ==> 0
++X ddot(3,a,1,b,1) -- (1,2,3) * (5,6,7) ==> 38.0
++X ddot(3,a,1,b,2) -- increment = 2 in b (1,2,3) * (5,7,9) ==> 46.0
@@ -2196,28 +2196,28 @@ BlasLevelOne() : Exports == Implementation where
++X ddot(3,a,-2,b,-2) -- (5,3,1) * (9,7,5) ==> 71.0
dnrm2: (SI, DX, SI) -> DF
- ++ dnrm2 takes the norm of the vector, ||x||
+ ++dnrm2 takes the norm of the vector, ||x||
++
- ++X a:PRIMARR(DFLOAT):=[ [3.0, -4.0, 5.0, -7.0, 9.0] ]
+ ++X a:PRIMARR(DFLOAT):=[[3.0, -4.0, 5.0, -7.0, 9.0]]
++X dnrm2(3,a,1) -- 7.0710678118654755 = sqrt(3.0^2 + -4.0^2 + 5.0^2)
++X dnrm2(5,a,1) -- 13.416407864998739 = sqrt(180.0)
++X dnrm2(3,a,2) -- 10.72380529476361 = sqrt(115.0)
drotg: (DF, DF, DF, DF) -> DX
- ++ drotg computes a 2D plane Givens rotation spanned by two
- ++ coordinate axes.
+ ++drotg computes a 2D plane Givens rotation spanned by two
+ ++coordinate axes.
++
++X a:MATRIX(DFLOAT):=[[6,5,0],[5,1,4],[0,4,3]]
++X drotg(elt(a,1,1),elt(a,1,2),0.0D0,0.0D0)
drot: (SI, DX, SI, DX, SI, DF, DF) -> LDX
- ++ drot computes a 2D plane Givens rotation spanned by two
- ++ coordinate axes. It modifies the arrays in place.
- ++ The call drot(n,dx,incx,dy,incy,c,s) has the dx array which
- ++ contains the y axis locations and dy which contains the
- ++ y axis locations. They are rotated in parallel where
- ++ c is the cosine of the angle and s is the sine of the angle and
- ++ c^2+s^2 = 1
+ ++drot computes a 2D plane Givens rotation spanned by two
+ ++coordinate axes. It modifies the arrays in place.
+ ++The call drot(n,dx,incx,dy,incy,c,s) has the dx array which
+ ++contains the y axis locations and dy which contains the
+ ++y axis locations. They are rotated in parallel where
+ ++c is the cosine of the angle and s is the sine of the angle and
+ ++c^2+s^2 = 1
++
++X dx:PRIMARR(DFLOAT):=[[6,0, 1.0, 4.0, -1.0, -1.0]]
++X dy:PRIMARR(DFLOAT):=[[5.0, 1.0, -4.0, 4.0, -4.0]]
@@ -2229,9 +2229,9 @@ BlasLevelOne() : Exports == Implementation where
++X dy -- dy has been modified
dscal: (SI, DF, DX, SI) -> DX
- ++ dscal scales each element of the vector by the scalar so
- ++ dscal(n,da,dx,incx) = da*dx for n elements, incremented by incx
- ++ Note that the dx array is modified in place.
+ ++dscal scales each element of the vector by the scalar so
+ ++dscal(n,da,dx,incx) = da*dx for n elements, incremented by incx
+ ++Note that the dx array is modified in place.
++
++X dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]]
++X dscal(6,2.0,dx,1)
@@ -2241,8 +2241,8 @@ BlasLevelOne() : Exports == Implementation where
++X dx
dswap: (SI, DX, SI, DX, SI) -> LDX
- ++ dswap swaps elements from the first vector with the second
- ++ Note that the arrays are modified in place.
+ ++dswap swaps elements from the first vector with the second
+ ++Note that the arrays are modified in place.
++
++X dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]]
++X dy:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]]
@@ -2255,10 +2255,10 @@ BlasLevelOne() : Exports == Implementation where
++X dswap(5,dx,1,dy,-1)
dzasum: (SI, PCDF, SI) -> DF
- ++ dzasum takes the sum over all of the array where each
- ++ element of the array sum is the sum of the absolute
- ++ value of the real part and the absolute value of the
- ++ imaginary part of each array element:
+ ++dzasum takes the sum over all of the array where each
+ ++element of the array sum is the sum of the absolute
+ ++value of the real part and the absolute value of the
+ ++imaginary part of each array element:
++ for i in array do sum = sum + (real(a(i)) + imag(a(i)))
++
++X d:PRIMARR(COMPLEX(DFLOAT)):=[[1.0+2.0*%i,-3.0+4.0*%i,5.0-6.0*%i]]
@@ -2267,8 +2267,8 @@ BlasLevelOne() : Exports == Implementation where
++X dzasum(-3,d,1) -- 0.0
dznrm2: (SI, PCDF, SI) -> DF
- ++ dznrm2 returns the norm of a complex vector. It computes
- ++ sqrt(sum(v*conjugate(v)))
+ ++dznrm2 returns the norm of a complex vector. It computes
+ ++sqrt(sum(v*conjugate(v)))
++
++X a:PRIMARR(COMPLEX(DFLOAT))
++X a:=[[3.+4.*%i,-4.+5.*%i,5.+6.*%i,7.-8.*%i,-9.-2.*%i]]
@@ -2281,9 +2281,9 @@ BlasLevelOne() : Exports == Implementation where
++X dznrm2(1,a,2) -- should be 5.0
icamax: (INT, PCF, INT) -> INT
- ++ icamax computes the largest absolute value of the elements
- ++ of the array and returns the index of the first instance
- ++ of the maximum
+ ++icamax computes the largest absolute value of the elements
+ ++of the array and returns the index of the first instance
+ ++of the maximum
++
++X a:PRIMARR(COMPLEX(FLOAT))
++X a:=[[3.+4.*%i,-4.+5.*%i,5.+6.*%i,7.-8.*%i,-9.-2.*%i]]
@@ -2294,9 +2294,9 @@ BlasLevelOne() : Exports == Implementation where
++X icamax(3,a,2) -- should be 1
idamax: (INT, DX, INT) -> INT
- ++ idamax computes the largest absolute value of the elements
- ++ of the array and returns the index of the first instance
- ++ of the maximum.
+ ++idamax computes the largest absolute value of the elements
+ ++of the array and returns the index of the first instance
+ ++of the maximum.
++
++X a:PRIMARR(DFLOAT):=[[3.0, 4.0, -3.0, 5.0, -1.0]]
++X idamax(5,a,1) -- should be 3
@@ -2311,9 +2311,9 @@ BlasLevelOne() : Exports == Implementation where
++X idamax(5,a,1) -- should be 3
isamax: (INT, SX, INT) -> INT
- ++ isamax computes the largest absolute value of the elements
- ++ of the array and returns the index of the first instance
- ++ of the maximum.
+ ++isamax computes the largest absolute value of the elements
+ ++of the array and returns the index of the first instance
+ ++of the maximum.
++
++X a:PRIMARR(FLOAT):=[[3.0, 4.0, -3.0, 5.0, -1.0]]
++X isamax(5,a,1) -- should be 3
@@ -2328,9 +2328,9 @@ BlasLevelOne() : Exports == Implementation where
++X isamax(5,a,1) -- should be 3
izamax: (SI, PCDF, SI) -> INT
- ++ izamax computes the largest absolute value of the elements
- ++ of the array and returns the index of the first instance
- ++ of the maximum.
+ ++izamax computes the largest absolute value of the elements
+ ++of the array and returns the index of the first instance
+ ++of the maximum.
++
++X a:PRIMARR(COMPLEX(DFLOAT))
++X a:=[[3.+4.*%i,-4.+5.*%i,5.+6.*%i,7.-8.*%i,-9.-2.*%i]]
@@ -2341,10 +2341,10 @@ BlasLevelOne() : Exports == Implementation where
++X izamax(3,a,2) -- should be 1
zaxpy: (SI, CDF, PCDF, SI, PCDF, SI) -> PCDF
- ++ zaxpy(n,da,x,incx,y,incy) computes a y = a*x + y
- ++ for each of the chosen elements of the vectors x and y
- ++ and a constant multiplier a
- ++ Note that the vector y is modified with the results.
+ ++zaxpy(n,da,x,incx,y,incy) computes a y = a*x + y
+ ++for each of the chosen elements of the vectors x and y
+ ++and a constant multiplier a
+ ++Note that the vector y is modified with the results.
++
++X a:PRIMARR(COMPLEX(DFLOAT))
++X a:=[[3.+4.*%i, -4.+5.*%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*%i]]
diff --git a/buglist b/buglist
index ceb1642..1a8b7e3 100644
--- a/buglist
+++ b/buglist
@@ -1764,74 +1764,6 @@ typos 40305:
"\\indented{1}{mapDown!(t,p,f) returns \\spad{t} after traversing \\spad{t} in \"preorder\"} \\indented{1}{(node then left then right) fashion replacing the successive} \\indented{1}{interior nodes as follows. Let \\spad{l} and \\spad{r} denote the left and} \\indented{1}{right subtrees of \\spad{t.} The root value \\spad{x} of \\spad{t} is replaced by \\spad{p.}} \\indented{1}{Then f(value \\spad{l,} value \\spad{r,} \\spad{p),} where \\spad{l} and \\spad{r} denote the left} \\indented{1}{and right subtrees of \\spad{t,} is evaluated producing two values} \\indented{1}{pl and \\spad{pr.} Then \\spad{mapDown!(l,pl,f)} and \\spad{mapDown!(l,pr,f)}} \\indented{1}{are evaluated.} \\blankline \\spad{X} T1:=BalancedBinaryTree Integer \\spad{X} t2:=balancedBinaryTree(4, 0)$T1 \\spad{X} setleaves!(t2,[1,2,3,4]::List(Integer)) \\spad{X} adder3(i:Integer,j:Integer,k:Integer):List Integer \\spad{==} [i+j,j+k] \\spad{X} mapDown!(t2,4::INT,adder3) \\spad{X} \\spad{t2}"
=========================================================================
-typos 40304:
-
->compiling BLAS1.spad to BLAS1.nrlib
-
---->bookvol10.5.pamphlet-->BlasLevelOne((dcabs1 (DF CDF))): Improper first word in comments:
-"\\indented{1}{dcabs1(z) computes \\spad{(+} (abs (realpart \\spad{z))} (abs (imagpart z)))} \\blankline \\spad{X} t1:Complex DoubleFloat \\spad{:=} complex(1.0,0) \\spad{X} dcabs1(t1)"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((dasum (DF SI DX SI))): Improper first word in comments:
---->bookvol10.5.pamphlet-->BlasLevelOne((dasum (DF SI DX SI))): Missing left bracket
-"\\indented{1}{dasum(n,array,incx) computes the sum of \\spad{n} elements in array} \\indented{1}{using a stride of incx} \\blankline \\spad{X} dx:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ] \\spad{X} dasum(6,dx,1) \\spad{X} dasum(3,dx,2)"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((daxpy (DX SI DF DX SI DX SI))): Improper first word in comments:
---->bookvol10.5.pamphlet-->BlasLevelOne((daxpy (DX SI DF DX SI DX SI))): Missing left bracket
---->bookvol10.5.pamphlet-->BlasLevelOne((daxpy (DX SI DF DX SI DX SI))): Missing left bracket
---->bookvol10.5.pamphlet-->BlasLevelOne((daxpy (DX SI DF DX SI DX SI))): Missing left bracket
---->bookvol10.5.pamphlet-->BlasLevelOne((daxpy (DX SI DF DX SI DX SI))): Missing left bracket
-"\\indented{1}{daxpy(n,da,x,incx,y,incy) computes a \\spad{y} = a*x + \\spad{y}} \\indented{1}{for each of the chosen elements of the vectors \\spad{x} and \\spad{y}} \\indented{1}{and a constant multiplier a} \\indented{1}{Note that the vector \\spad{y} is modified with the results.} \\blankline \\spad{X} x:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ] \\spad{X} y:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ] \\spad{X} daxpy(6,2.0,x,1,y,1) \\spad{X} \\spad{y} \\spad{X} m:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0] ] \\spad{X} n:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ] \\spad{X} daxpy(3,-2.0,m,1,n,2) \\spad{X} \\spad{n}"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((dcopy (DX SI DX SI DX SI))): Improper first word in comments:
---->bookvol10.5.pamphlet-->BlasLevelOne((dcopy (DX SI DX SI DX SI))): Missing left bracket
---->bookvol10.5.pamphlet-->BlasLevelOne((dcopy (DX SI DX SI DX SI))): Missing left bracket
---->bookvol10.5.pamphlet-->BlasLevelOne((dcopy (DX SI DX SI DX SI))): Missing left bracket
---->bookvol10.5.pamphlet-->BlasLevelOne((dcopy (DX SI DX SI DX SI))): Missing left bracket
-"\\indented{1}{dcopy(n,x,incx,y,incy) copies \\spad{y} from \\spad{x}} \\indented{1}{for each of the chosen elements of the vectors \\spad{x} and \\spad{y}} \\indented{1}{Note that the vector \\spad{y} is modified with the results.} \\blankline \\spad{X} x:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ] \\spad{X} y:PRIMARR(DFLOAT):=[ [0.0,0.0,0.0,0.0,0.0,0.0] ] \\spad{X} dcopy(6,x,1,y,1) \\spad{X} \\spad{y} \\spad{X} m:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0] ] \\spad{X} n:PRIMARR(DFLOAT):=[ [0.0,0.0,0.0,0.0,0.0,0.0] ] \\spad{X} dcopy(3,m,1,n,2) \\spad{X} \\spad{n}"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((ddot (DF SI DX SI DX SI))): Improper first word in comments:
---->bookvol10.5.pamphlet-->BlasLevelOne((ddot (DF SI DX SI DX SI))): Missing left bracket
---->bookvol10.5.pamphlet-->BlasLevelOne((ddot (DF SI DX SI DX SI))): Missing left bracket
-"\\indented{1}{ddot(n,x,incx,y,incy) computes the vector dot product} \\indented{1}{of elements from the vector \\spad{x} and the vector \\spad{y}} \\indented{1}{If the indicies are negative the elements are taken} \\indented{1}{relative to the far end of the vector.} \\blankline \\spad{X} x:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0] ] \\spad{X} y:PRIMARR(DFLOAT):=[ [5.0,6.0,7.0,8.0,9.0] ] \\spad{X} ddot(0,a,1,b,1) \\spad{--} handle 0 elements \\spad{==>} 0 \\spad{X} ddot(3,a,1,b,1) \\spad{--} (1,2,3) * (5,6,7) \\spad{==>} 38.0 \\spad{X} ddot(3,a,1,b,2) \\spad{--} increment = 2 in \\spad{b} (1,2,3) * (5,7,9) \\spad{==>} 46.0 \\spad{X} ddot(3,a,2,b,1) \\spad{--} increment = 2 in a (1,3,5) * (5,6,7) \\spad{==>} 58.0 \\spad{X} ddot(3,a,1,b,-2) \\spad{--} increment = \\spad{-2} in \\spad{b} (1,2,3) * (9,7,5) \\spad{==>} 38.0 \\spad{X} ddot(2,a,-2,b,1) \\spad{--} increment = \\spad{-2} in a (5,3,1) * (5,6,7) \\spad{==>} 50.0 \\spad{X} ddot(3,a,-2,b,-2) \\spad{--} (5,3,1) * (9,7,5) \\spad{==>} 71.0"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((dnrm2 (DF SI DX SI))): Improper first word in comments:
---->bookvol10.5.pamphlet-->BlasLevelOne((dnrm2 (DF SI DX SI))): Missing left bracket
-"\\indented{1}{dnrm2 takes the norm of the vector, ||x||} \\blankline \\spad{X} a:PRIMARR(DFLOAT):=[ [3.0, -4.0, 5.0, -7.0, 9.0] ] \\spad{X} dnrm2(3,a,1) \\spad{--} 7.0710678118654755 = \\spad{sqrt(3.0^2} + \\spad{-4.0^2} + 5.0^2) \\spad{X} dnrm2(5,a,1) \\spad{--} 13.416407864998739 = sqrt(180.0) \\spad{X} dnrm2(3,a,2) \\spad{--} 10.72380529476361 = sqrt(115.0)"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((drotg (DX DF DF DF DF))): Improper first word in comments:
-"\\indented{1}{drotg computes a 2D plane Givens rotation spanned by two} \\indented{1}{coordinate axes.} \\blankline \\spad{X} a:MATRIX(DFLOAT):=[[6,5,0],[5,1,4],[0,4,3]] \\spad{X} drotg(elt(a,1,1),elt(a,1,2),0.0D0,0.0D0)"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((drot (LDX SI DX SI DX SI DF DF))): Improper first word in comments:
-"\\indented{1}{drot computes a 2D plane Givens rotation spanned by two} \\indented{1}{coordinate axes. It modifies the arrays in place.} \\indented{1}{The call drot(n,dx,incx,dy,incy,c,s) has the \\spad{dx} array which} \\indented{1}{contains the \\spad{y} axis locations and dy which contains the} \\indented{1}{y axis locations. They are rotated in parallel where} \\indented{1}{c is the cosine of the angle and \\spad{s} is the sine of the angle and} \\indented{1}{c^2+s^2 = 1} \\blankline \\spad{X} dx:PRIMARR(DFLOAT):=[[6,0, 1.0, 4.0, -1.0, -1.0]] \\spad{X} dy:PRIMARR(DFLOAT):=[[5.0, 1.0, -4.0, 4.0, -4.0]] \\spad{X} drot(5,dx,1,dy,1,0.707106781,0.707106781) \\spad{--} rotate by 45 degrees \\spad{X} \\spad{dx} \\spad{--} \\spad{dx} has been modified \\spad{X} dy \\spad{--} dy has been modified \\spad{X} drot(5,dx,1,dy,1,0.707106781,-0.707106781) \\spad{--} rotate by \\spad{-45} degrees \\spad{X} \\spad{dx} \\spad{--} \\spad{dx} has been modified \\spad{X} dy \\spad{--} dy has been modified"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((dscal (DX SI DF DX SI))): Improper first word in comments:
-"\\indented{1}{dscal scales each element of the vector by the scalar so} \\indented{1}{dscal(n,da,dx,incx) = da*dx for \\spad{n} elements, incremented by incx} \\indented{1}{Note that the \\spad{dx} array is modified in place.} \\blankline \\spad{X} dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dscal(6,2.0,dx,1) \\spad{X} \\spad{dx} \\spad{X} dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dscal(3,0.5,dx,1) \\spad{X} \\spad{dx}"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((dswap (LDX SI DX SI DX SI))): Improper first word in comments:
-"\\indented{1}{dswap swaps elements from the first vector with the second} \\indented{1}{Note that the arrays are modified in place.} \\blankline \\spad{X} dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dy:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dswap(5,dx,1,dy,1) \\spad{X} dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dy:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dswap(3,dx,2,dy,2) \\spad{X} dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dy:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dswap(5,dx,1,dy,-1)"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((dzasum (DF SI PCDF SI))): Improper first word in comments:
-"\\indented{1}{dzasum takes the sum over all of the array where each} \\indented{1}{element of the array sum is the sum of the absolute} \\indented{1}{value of the real part and the absolute value of the} \\indented{1}{imaginary part of each array element:} \\indented{3}{for \\spad{i} in array do sum = sum + (real(a(i)) + imag(a(i)))} \\blankline \\spad{X} d:PRIMARR(COMPLEX(DFLOAT)):=[[1.0+2.0*\\%i,-3.0+4.0*\\%i,5.0-6.0*\\%i]] \\spad{X} dzasum(3,d,1) \\spad{--} 21.0 \\spad{X} dzasum(3,d,2) \\spad{--} 14.0 \\spad{X} dzasum(-3,d,1) \\spad{--} 0.0"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((dznrm2 (DF SI PCDF SI))): Improper first word in comments:
-"\\indented{1}{dznrm2 returns the norm of a complex vector. It computes} \\indented{1}{sqrt(sum(v*conjugate(v)))} \\blankline \\spad{X} a:PRIMARR(COMPLEX(DFLOAT)) \\spad{X} a:=[[3.+4.*\\%i,-4.+5.*\\%i,5.+6.*\\%i,7.-8.*\\%i,-9.-2.*\\%i]] \\spad{X} dznrm2(5,a,1) \\spad{--} should be 18.028 \\spad{X} dznrm2(3,a,2) \\spad{--} should be 13.077 \\spad{X} dznrm2(3,a,1) \\spad{--} should be 11.269 \\spad{X} dznrm2(3,a,-1) \\spad{--} should be 0.0 \\spad{X} dznrm2(-3,a,-1) \\spad{--} should be 0.0 \\spad{X} dznrm2(1,a,1) \\spad{--} should be 5.0 \\spad{X} dznrm2(1,a,2) \\spad{--} should be 5.0"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((icamax (INT INT PCF INT))): Improper first word in comments:
-"\\indented{1}{icamax computes the largest absolute value of the elements} \\indented{1}{of the array and returns the index of the first instance} \\indented{1}{of the maximum} \\blankline \\spad{X} a:PRIMARR(COMPLEX(FLOAT)) \\spad{X} a:=[[3.+4.*\\%i,-4.+5.*\\%i,5.+6.*\\%i,7.-8.*\\%i,-9.-2.*\\%i]] \\spad{X} icamax(5,a,1) \\spad{--} should be 3 \\spad{X} icamax(0,a,1) \\spad{--} should be \\spad{-1} \\spad{X} icamax(5,a,-1) \\spad{--} should be \\spad{-1} \\spad{X} icamax(3,a,1) \\spad{--} should be 2 \\spad{X} icamax(3,a,2) \\spad{--} should be 1"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((idamax (INT INT DX INT))): Improper first word in comments:
-"\\indented{1}{idamax computes the largest absolute value of the elements} \\indented{1}{of the array and returns the index of the first instance} \\indented{1}{of the maximum.} \\blankline \\spad{X} a:PRIMARR(DFLOAT):=[[3.0, 4.0, -3.0, 5.0, -1.0]] \\spad{X} idamax(5,a,1) \\spad{--} should be 3 \\spad{X} idamax(3,a,1) \\spad{--} should be 1 \\spad{X} idamax(0,a,1) \\spad{--} should be \\spad{-1} \\spad{X} idamax(-5,a,1) \\spad{--} should be \\spad{-1} \\spad{X} idamax(5,a,-1) \\spad{--} should be \\spad{-1} \\spad{X} idamax(5,a,2) \\spad{--} should be 0 \\spad{X} idamax(1,a,0) \\spad{--} should be \\spad{-1} \\spad{X} idamax(1,a,-1) \\spad{--} should be \\spad{-1} \\spad{X} a:PRIMARR(DFLOAT):=[[3.0, 4.0, -3.0, -5.0, -1.0]] \\spad{X} idamax(5,a,1) \\spad{--} should be 3"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((isamax (INT INT SX INT))): Improper first word in comments:
-"\\indented{1}{isamax computes the largest absolute value of the elements} \\indented{1}{of the array and returns the index of the first instance} \\indented{1}{of the maximum.} \\blankline \\spad{X} a:PRIMARR(FLOAT):=[[3.0, 4.0, -3.0, 5.0, -1.0]] \\spad{X} isamax(5,a,1) \\spad{--} should be 3 \\spad{X} isamax(3,a,1) \\spad{--} should be 1 \\spad{X} isamax(0,a,1) \\spad{--} should be \\spad{-1} \\spad{X} isamax(-5,a,1) \\spad{--} should be \\spad{-1} \\spad{X} isamax(5,a,-1) \\spad{--} should be \\spad{-1} \\spad{X} isamax(5,a,2) \\spad{--} should be 0 \\spad{X} isamax(1,a,0) \\spad{--} should be \\spad{-1} \\spad{X} isamax(1,a,-1) \\spad{--} should be \\spad{-1} \\spad{X} a:PRIMARR(FLOAT):=[[3.0, 4.0, -3.0, -5.0, -1.0]] \\spad{X} isamax(5,a,1) \\spad{--} should be 3"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((izamax (INT SI PCDF SI))): Improper first word in comments:
-"\\indented{1}{izamax computes the largest absolute value of the elements} \\indented{1}{of the array and returns the index of the first instance} \\indented{1}{of the maximum.} \\blankline \\spad{X} a:PRIMARR(COMPLEX(DFLOAT)) \\spad{X} a:=[[3.+4.*\\%i,-4.+5.*\\%i,5.+6.*\\%i,7.-8.*\\%i,-9.-2.*\\%i]] \\spad{X} izamax(5,a,1) \\spad{--} should be 3 \\spad{X} izamax(0,a,1) \\spad{--} should be \\spad{-1} \\spad{X} izamax(5,a,-1) \\spad{--} should be \\spad{-1} \\spad{X} izamax(3,a,1) \\spad{--} should be 2 \\spad{X} izamax(3,a,2) \\spad{--} should be 1"
-
---->bookvol10.5.pamphlet-->BlasLevelOne((zaxpy (PCDF SI CDF PCDF SI PCDF SI))): Improper first word in comments:
-"\\indented{1}{zaxpy(n,da,x,incx,y,incy) computes a \\spad{y} = a*x + \\spad{y}} \\indented{1}{for each of the chosen elements of the vectors \\spad{x} and \\spad{y}} \\indented{1}{and a constant multiplier a} \\indented{1}{Note that the vector \\spad{y} is modified with the results.} \\blankline \\spad{X} a:PRIMARR(COMPLEX(DFLOAT)) \\spad{X} a:=[[3.+4.*\\%i, -4.+5.*\\%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*\\%i]] \\spad{X} b:PRIMARR(COMPLEX(DFLOAT)) \\spad{X} b:=[[3.+4.*\\%i, -4.+5.*\\%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*\\%i]] \\spad{X} zaxpy(3,2.0,a,1,b,1) \\spad{X} b:=[[3.+4.*\\%i, -4.+5.*\\%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*\\%i]] \\spad{X} zaxpy(5,2.0,a,1,b,1) \\spad{X} b:=[[3.+4.*\\%i, -4.+5.*\\%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*\\%i]] \\spad{X} zaxpy(3,2.0,a,3,b,3) \\spad{X} b:=[[3.+4.*\\%i, -4.+5.*\\%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*\\%i]] \\spad{X} zaxpy(4,2.0,a,2,b,2)"
-
-=========================================================================
typos 40303:
>compiling BTREE.spad to BTREE.nrlib
@@ -40555,3 +40487,72 @@ warnings 20465:
[1] repSq: pretend(NonNegativeInteger) -- should replace by @
[2] dAndcExp: erg has no value
+fixed 20130315.04.tpd.patch
+=========================================================================
+typos 40304:
+
+>compiling BLAS1.spad to BLAS1.nrlib
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((dcabs1 (DF CDF))): Improper first word in comments:
+"\\indented{1}{dcabs1(z) computes \\spad{(+} (abs (realpart \\spad{z))} (abs (imagpart z)))} \\blankline \\spad{X} t1:Complex DoubleFloat \\spad{:=} complex(1.0,0) \\spad{X} dcabs1(t1)"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((dasum (DF SI DX SI))): Improper first word in comments:
+--->bookvol10.5.pamphlet-->BlasLevelOne((dasum (DF SI DX SI))): Missing left bracket
+"\\indented{1}{dasum(n,array,incx) computes the sum of \\spad{n} elements in array} \\indented{1}{using a stride of incx} \\blankline \\spad{X} dx:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ] \\spad{X} dasum(6,dx,1) \\spad{X} dasum(3,dx,2)"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((daxpy (DX SI DF DX SI DX SI))): Improper first word in comments:
+--->bookvol10.5.pamphlet-->BlasLevelOne((daxpy (DX SI DF DX SI DX SI))): Missing left bracket
+--->bookvol10.5.pamphlet-->BlasLevelOne((daxpy (DX SI DF DX SI DX SI))): Missing left bracket
+--->bookvol10.5.pamphlet-->BlasLevelOne((daxpy (DX SI DF DX SI DX SI))): Missing left bracket
+--->bookvol10.5.pamphlet-->BlasLevelOne((daxpy (DX SI DF DX SI DX SI))): Missing left bracket
+"\\indented{1}{daxpy(n,da,x,incx,y,incy) computes a \\spad{y} = a*x + \\spad{y}} \\indented{1}{for each of the chosen elements of the vectors \\spad{x} and \\spad{y}} \\indented{1}{and a constant multiplier a} \\indented{1}{Note that the vector \\spad{y} is modified with the results.} \\blankline \\spad{X} x:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ] \\spad{X} y:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ] \\spad{X} daxpy(6,2.0,x,1,y,1) \\spad{X} \\spad{y} \\spad{X} m:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0] ] \\spad{X} n:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ] \\spad{X} daxpy(3,-2.0,m,1,n,2) \\spad{X} \\spad{n}"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((dcopy (DX SI DX SI DX SI))): Improper first word in comments:
+--->bookvol10.5.pamphlet-->BlasLevelOne((dcopy (DX SI DX SI DX SI))): Missing left bracket
+--->bookvol10.5.pamphlet-->BlasLevelOne((dcopy (DX SI DX SI DX SI))): Missing left bracket
+--->bookvol10.5.pamphlet-->BlasLevelOne((dcopy (DX SI DX SI DX SI))): Missing left bracket
+--->bookvol10.5.pamphlet-->BlasLevelOne((dcopy (DX SI DX SI DX SI))): Missing left bracket
+"\\indented{1}{dcopy(n,x,incx,y,incy) copies \\spad{y} from \\spad{x}} \\indented{1}{for each of the chosen elements of the vectors \\spad{x} and \\spad{y}} \\indented{1}{Note that the vector \\spad{y} is modified with the results.} \\blankline \\spad{X} x:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0,6.0] ] \\spad{X} y:PRIMARR(DFLOAT):=[ [0.0,0.0,0.0,0.0,0.0,0.0] ] \\spad{X} dcopy(6,x,1,y,1) \\spad{X} \\spad{y} \\spad{X} m:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0] ] \\spad{X} n:PRIMARR(DFLOAT):=[ [0.0,0.0,0.0,0.0,0.0,0.0] ] \\spad{X} dcopy(3,m,1,n,2) \\spad{X} \\spad{n}"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((ddot (DF SI DX SI DX SI))): Improper first word in comments:
+--->bookvol10.5.pamphlet-->BlasLevelOne((ddot (DF SI DX SI DX SI))): Missing left bracket
+--->bookvol10.5.pamphlet-->BlasLevelOne((ddot (DF SI DX SI DX SI))): Missing left bracket
+"\\indented{1}{ddot(n,x,incx,y,incy) computes the vector dot product} \\indented{1}{of elements from the vector \\spad{x} and the vector \\spad{y}} \\indented{1}{If the indicies are negative the elements are taken} \\indented{1}{relative to the far end of the vector.} \\blankline \\spad{X} x:PRIMARR(DFLOAT):=[ [1.0,2.0,3.0,4.0,5.0] ] \\spad{X} y:PRIMARR(DFLOAT):=[ [5.0,6.0,7.0,8.0,9.0] ] \\spad{X} ddot(0,a,1,b,1) \\spad{--} handle 0 elements \\spad{==>} 0 \\spad{X} ddot(3,a,1,b,1) \\spad{--} (1,2,3) * (5,6,7) \\spad{==>} 38.0 \\spad{X} ddot(3,a,1,b,2) \\spad{--} increment = 2 in \\spad{b} (1,2,3) * (5,7,9) \\spad{==>} 46.0 \\spad{X} ddot(3,a,2,b,1) \\spad{--} increment = 2 in a (1,3,5) * (5,6,7) \\spad{==>} 58.0 \\spad{X} ddot(3,a,1,b,-2) \\spad{--} increment = \\spad{-2} in \\spad{b} (1,2,3) * (9,7,5) \\spad{==>} 38.0 \\spad{X} ddot(2,a,-2,b,1) \\spad{--} increment = \\spad{-2} in a (5,3,1) * (5,6,7) \\spad{==>} 50.0 \\spad{X} ddot(3,a,-2,b,-2) \\spad{--} (5,3,1) * (9,7,5) \\spad{==>} 71.0"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((dnrm2 (DF SI DX SI))): Improper first word in comments:
+--->bookvol10.5.pamphlet-->BlasLevelOne((dnrm2 (DF SI DX SI))): Missing left bracket
+"\\indented{1}{dnrm2 takes the norm of the vector, ||x||} \\blankline \\spad{X} a:PRIMARR(DFLOAT):=[ [3.0, -4.0, 5.0, -7.0, 9.0] ] \\spad{X} dnrm2(3,a,1) \\spad{--} 7.0710678118654755 = \\spad{sqrt(3.0^2} + \\spad{-4.0^2} + 5.0^2) \\spad{X} dnrm2(5,a,1) \\spad{--} 13.416407864998739 = sqrt(180.0) \\spad{X} dnrm2(3,a,2) \\spad{--} 10.72380529476361 = sqrt(115.0)"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((drotg (DX DF DF DF DF))): Improper first word in comments:
+"\\indented{1}{drotg computes a 2D plane Givens rotation spanned by two} \\indented{1}{coordinate axes.} \\blankline \\spad{X} a:MATRIX(DFLOAT):=[[6,5,0],[5,1,4],[0,4,3]] \\spad{X} drotg(elt(a,1,1),elt(a,1,2),0.0D0,0.0D0)"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((drot (LDX SI DX SI DX SI DF DF))): Improper first word in comments:
+"\\indented{1}{drot computes a 2D plane Givens rotation spanned by two} \\indented{1}{coordinate axes. It modifies the arrays in place.} \\indented{1}{The call drot(n,dx,incx,dy,incy,c,s) has the \\spad{dx} array which} \\indented{1}{contains the \\spad{y} axis locations and dy which contains the} \\indented{1}{y axis locations. They are rotated in parallel where} \\indented{1}{c is the cosine of the angle and \\spad{s} is the sine of the angle and} \\indented{1}{c^2+s^2 = 1} \\blankline \\spad{X} dx:PRIMARR(DFLOAT):=[[6,0, 1.0, 4.0, -1.0, -1.0]] \\spad{X} dy:PRIMARR(DFLOAT):=[[5.0, 1.0, -4.0, 4.0, -4.0]] \\spad{X} drot(5,dx,1,dy,1,0.707106781,0.707106781) \\spad{--} rotate by 45 degrees \\spad{X} \\spad{dx} \\spad{--} \\spad{dx} has been modified \\spad{X} dy \\spad{--} dy has been modified \\spad{X} drot(5,dx,1,dy,1,0.707106781,-0.707106781) \\spad{--} rotate by \\spad{-45} degrees \\spad{X} \\spad{dx} \\spad{--} \\spad{dx} has been modified \\spad{X} dy \\spad{--} dy has been modified"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((dscal (DX SI DF DX SI))): Improper first word in comments:
+"\\indented{1}{dscal scales each element of the vector by the scalar so} \\indented{1}{dscal(n,da,dx,incx) = da*dx for \\spad{n} elements, incremented by incx} \\indented{1}{Note that the \\spad{dx} array is modified in place.} \\blankline \\spad{X} dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dscal(6,2.0,dx,1) \\spad{X} \\spad{dx} \\spad{X} dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dscal(3,0.5,dx,1) \\spad{X} \\spad{dx}"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((dswap (LDX SI DX SI DX SI))): Improper first word in comments:
+"\\indented{1}{dswap swaps elements from the first vector with the second} \\indented{1}{Note that the arrays are modified in place.} \\blankline \\spad{X} dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dy:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dswap(5,dx,1,dy,1) \\spad{X} dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dy:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dswap(3,dx,2,dy,2) \\spad{X} dx:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dy:PRIMARR(DFLOAT):=[[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]] \\spad{X} dswap(5,dx,1,dy,-1)"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((dzasum (DF SI PCDF SI))): Improper first word in comments:
+"\\indented{1}{dzasum takes the sum over all of the array where each} \\indented{1}{element of the array sum is the sum of the absolute} \\indented{1}{value of the real part and the absolute value of the} \\indented{1}{imaginary part of each array element:} \\indented{3}{for \\spad{i} in array do sum = sum + (real(a(i)) + imag(a(i)))} \\blankline \\spad{X} d:PRIMARR(COMPLEX(DFLOAT)):=[[1.0+2.0*\\%i,-3.0+4.0*\\%i,5.0-6.0*\\%i]] \\spad{X} dzasum(3,d,1) \\spad{--} 21.0 \\spad{X} dzasum(3,d,2) \\spad{--} 14.0 \\spad{X} dzasum(-3,d,1) \\spad{--} 0.0"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((dznrm2 (DF SI PCDF SI))): Improper first word in comments:
+"\\indented{1}{dznrm2 returns the norm of a complex vector. It computes} \\indented{1}{sqrt(sum(v*conjugate(v)))} \\blankline \\spad{X} a:PRIMARR(COMPLEX(DFLOAT)) \\spad{X} a:=[[3.+4.*\\%i,-4.+5.*\\%i,5.+6.*\\%i,7.-8.*\\%i,-9.-2.*\\%i]] \\spad{X} dznrm2(5,a,1) \\spad{--} should be 18.028 \\spad{X} dznrm2(3,a,2) \\spad{--} should be 13.077 \\spad{X} dznrm2(3,a,1) \\spad{--} should be 11.269 \\spad{X} dznrm2(3,a,-1) \\spad{--} should be 0.0 \\spad{X} dznrm2(-3,a,-1) \\spad{--} should be 0.0 \\spad{X} dznrm2(1,a,1) \\spad{--} should be 5.0 \\spad{X} dznrm2(1,a,2) \\spad{--} should be 5.0"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((icamax (INT INT PCF INT))): Improper first word in comments:
+"\\indented{1}{icamax computes the largest absolute value of the elements} \\indented{1}{of the array and returns the index of the first instance} \\indented{1}{of the maximum} \\blankline \\spad{X} a:PRIMARR(COMPLEX(FLOAT)) \\spad{X} a:=[[3.+4.*\\%i,-4.+5.*\\%i,5.+6.*\\%i,7.-8.*\\%i,-9.-2.*\\%i]] \\spad{X} icamax(5,a,1) \\spad{--} should be 3 \\spad{X} icamax(0,a,1) \\spad{--} should be \\spad{-1} \\spad{X} icamax(5,a,-1) \\spad{--} should be \\spad{-1} \\spad{X} icamax(3,a,1) \\spad{--} should be 2 \\spad{X} icamax(3,a,2) \\spad{--} should be 1"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((idamax (INT INT DX INT))): Improper first word in comments:
+"\\indented{1}{idamax computes the largest absolute value of the elements} \\indented{1}{of the array and returns the index of the first instance} \\indented{1}{of the maximum.} \\blankline \\spad{X} a:PRIMARR(DFLOAT):=[[3.0, 4.0, -3.0, 5.0, -1.0]] \\spad{X} idamax(5,a,1) \\spad{--} should be 3 \\spad{X} idamax(3,a,1) \\spad{--} should be 1 \\spad{X} idamax(0,a,1) \\spad{--} should be \\spad{-1} \\spad{X} idamax(-5,a,1) \\spad{--} should be \\spad{-1} \\spad{X} idamax(5,a,-1) \\spad{--} should be \\spad{-1} \\spad{X} idamax(5,a,2) \\spad{--} should be 0 \\spad{X} idamax(1,a,0) \\spad{--} should be \\spad{-1} \\spad{X} idamax(1,a,-1) \\spad{--} should be \\spad{-1} \\spad{X} a:PRIMARR(DFLOAT):=[[3.0, 4.0, -3.0, -5.0, -1.0]] \\spad{X} idamax(5,a,1) \\spad{--} should be 3"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((isamax (INT INT SX INT))): Improper first word in comments:
+"\\indented{1}{isamax computes the largest absolute value of the elements} \\indented{1}{of the array and returns the index of the first instance} \\indented{1}{of the maximum.} \\blankline \\spad{X} a:PRIMARR(FLOAT):=[[3.0, 4.0, -3.0, 5.0, -1.0]] \\spad{X} isamax(5,a,1) \\spad{--} should be 3 \\spad{X} isamax(3,a,1) \\spad{--} should be 1 \\spad{X} isamax(0,a,1) \\spad{--} should be \\spad{-1} \\spad{X} isamax(-5,a,1) \\spad{--} should be \\spad{-1} \\spad{X} isamax(5,a,-1) \\spad{--} should be \\spad{-1} \\spad{X} isamax(5,a,2) \\spad{--} should be 0 \\spad{X} isamax(1,a,0) \\spad{--} should be \\spad{-1} \\spad{X} isamax(1,a,-1) \\spad{--} should be \\spad{-1} \\spad{X} a:PRIMARR(FLOAT):=[[3.0, 4.0, -3.0, -5.0, -1.0]] \\spad{X} isamax(5,a,1) \\spad{--} should be 3"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((izamax (INT SI PCDF SI))): Improper first word in comments:
+"\\indented{1}{izamax computes the largest absolute value of the elements} \\indented{1}{of the array and returns the index of the first instance} \\indented{1}{of the maximum.} \\blankline \\spad{X} a:PRIMARR(COMPLEX(DFLOAT)) \\spad{X} a:=[[3.+4.*\\%i,-4.+5.*\\%i,5.+6.*\\%i,7.-8.*\\%i,-9.-2.*\\%i]] \\spad{X} izamax(5,a,1) \\spad{--} should be 3 \\spad{X} izamax(0,a,1) \\spad{--} should be \\spad{-1} \\spad{X} izamax(5,a,-1) \\spad{--} should be \\spad{-1} \\spad{X} izamax(3,a,1) \\spad{--} should be 2 \\spad{X} izamax(3,a,2) \\spad{--} should be 1"
+
+--->bookvol10.5.pamphlet-->BlasLevelOne((zaxpy (PCDF SI CDF PCDF SI PCDF SI))): Improper first word in comments:
+"\\indented{1}{zaxpy(n,da,x,incx,y,incy) computes a \\spad{y} = a*x + \\spad{y}} \\indented{1}{for each of the chosen elements of the vectors \\spad{x} and \\spad{y}} \\indented{1}{and a constant multiplier a} \\indented{1}{Note that the vector \\spad{y} is modified with the results.} \\blankline \\spad{X} a:PRIMARR(COMPLEX(DFLOAT)) \\spad{X} a:=[[3.+4.*\\%i, -4.+5.*\\%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*\\%i]] \\spad{X} b:PRIMARR(COMPLEX(DFLOAT)) \\spad{X} b:=[[3.+4.*\\%i, -4.+5.*\\%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*\\%i]] \\spad{X} zaxpy(3,2.0,a,1,b,1) \\spad{X} b:=[[3.+4.*\\%i, -4.+5.*\\%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*\\%i]] \\spad{X} zaxpy(5,2.0,a,1,b,1) \\spad{X} b:=[[3.+4.*\\%i, -4.+5.*\\%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*\\%i]] \\spad{X} zaxpy(3,2.0,a,3,b,3) \\spad{X} b:=[[3.+4.*\\%i, -4.+5.*\\%i, 5.+6.*%i, 7.-8.*%i, -9.-2.*\\%i]] \\spad{X} zaxpy(4,2.0,a,2,b,2)"
+
diff --git a/changelog b/changelog
index dc96206..fc39eb1 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+20130315 tpd src/axiom-website/patches.html 20130315.04.tpd.patch
+20130315 tpd buglist BLAS1 fixed 40304
+20130315 tpd books/bookvol10.3 BLAS1 fixed 40304
20130315 tpd src/axiom-website/patches.html 20130315.03.tpd.patch
20130315 tpd buglist INBFF fixed 20465, add 20571
20130315 tpd books/bookvol10.3 INBFF fixed 20465, add 20571
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 571be32..4687cc4 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4057,5 +4057,7 @@ books/bookvol10.3 LIST fix 20063, add, add 20569
books/bookvol10.3 DFLOAT fix 20073, add 20570
20130315.03.tpd.patch
books/bookvol10.3 INBFF fixed 20465, add 20571
+20130315.04.tpd.patch
+books/bookvol10.3 BLAS1 fixed 40304