diff --git a/books/bookvol10.5.pamphlet b/books/bookvol10.5.pamphlet
index 9a76229..8c23f76 100644
--- a/books/bookvol10.5.pamphlet
+++ b/books/bookvol10.5.pamphlet
@@ -1954,6 +1954,12 @@ c
\end{chunk}
+Compile with
+\begin{verbatim}
+gcc -c daxpy.f
+gcc -o daxpyEx daxpyEX.f -lgfortran daxpy.o
+\end{verbatim}
+
\begin{chunk}{daxpy example}
program daxpyEX
* Tim Daly April 24, 2012
@@ -1971,6 +1977,7 @@ c
102 format("b(1)=",f6.3," b(2)=",f6.3," b(3)=",f6.3)
write(6,103)b(4),b(5),b(6)
103 format("b(4)=",f6.3," b(5)=",f6.3," b(6)=",f6.3)
+
call daxpy(3,2.0d0,a,1,b,1)
write(6,200)
200 format(/,"t200 is (/ 3.0, 6.0, 9.0, 4.0, 5.0, 6.0, 7.0 /)")
@@ -1978,36 +1985,42 @@ c
201 format("b(1)=",f6.3," b(2)=",f6.3," b(3)=",f6.3)
write(6,202)b(4),b(5),b(6),b(7)
202 format("b(4)=",f6.3," b(5)=",f6.3," b(6)=",f6.3," b(7)=",f6.3)
+
write(6,300)
300 format(/,"t300 is (/ 3.0, 6.0, 9.0, 12.0, 15.0, 18.0, 21.0 /)")
b = (/ 1.0D0, 2.0D0, 3.0D0, 4.0D0, 5.0D0, 6.0D0, 7.0D0 /)
call daxpy(7,2.0d0,a,1,b,1)
write(6,201)b(1),b(2),b(3)
write(6,202)b(4),b(5),b(6),b(7)
+
write(6,302)
302 format(/,"t302 is (/ 3.0, 2.0, 3.0, 12.0, 5.0, 6.0, 21.0 /)")
b = (/ 1.0D0, 2.0D0, 3.0D0, 4.0D0, 5.0D0, 6.0D0, 7.0D0 /)
call daxpy(3,2.0d0,a,3,b,3)
write(6,201)b(1),b(2),b(3)
write(6,202)b(4),b(5),b(6),b(7)
+
write(6,303)
303 format(/,"t303 is (/ 3.0, 2.0, 9.0, 4.0, 15.0, 6.0, 21.0 /)")
b = (/ 1.0D0, 2.0D0, 3.0D0, 4.0D0, 5.0D0, 6.0D0, 7.0D0 /)
call daxpy(4,2.0d0,a,2,b,2)
write(6,201)b(1),b(2),b(3)
write(6,202)b(4),b(5),b(6),b(7)
+
write(6,305)
305 format(/,"t305 is (/ 3.0, 2.0, 9.0, 4.0, 15.0, 6.0, 7.0 /)")
b = (/ 1.0D0, 2.0D0, 3.0D0, 4.0D0, 5.0D0, 6.0D0, 7.0D0 /)
call daxpy(3,2.0d0,a,2,b,2)
write(6,201)b(1),b(2),b(3)
write(6,202)b(4),b(5),b(6),b(7)
+
write(6,306)
306 format(/,"t306 is (/ -1.0, 2.0, -1.0, 4.0, -1.0, 6.0, 7.0 /)")
b = (/ 1.0D0, 2.0D0, 3.0D0, 4.0D0, 5.0D0, 6.0D0, 7.0D0 /)
call daxpy(3,-2.0d0,a,1,b,2)
write(6,201)b(1),b(2),b(3)
write(6,202)b(4),b(5),b(6),b(7)
+
write(6,307)
307 format(/,"t307 is (/ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0 /)")
b = (/ 1.0D0, 2.0D0, 3.0D0, 4.0D0, 5.0D0, 6.0D0, 7.0D0 /)
@@ -2430,6 +2443,78 @@ c
\end{chunk}
+Compile with
+\begin{verbatim}
+gcc -c dcopy.f
+gcc -o dcopyEx dcopyEX.f -lgfortran dcopy.o
+\end{verbatim}
+
+\begin{chunk}{dcopy example}
+ program dcopyEX
+* Tim Daly April 27, 2012
+* unit tests for BLAS dcopy
+ double precision a(7)
+ double precision b(7)
+ a = (/ 1.0D0, 2.0D0, 3.0D0, 4.0D0, 5.0D0, 6.0D0, 7.0D0 /)
+ b = (/ 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0 /)
+ write(6,100)a(1),a(2),a(3)
+ 100 format("a(1)=",f6.3," a(2)=",f6.3," a(3)=",f6.3)
+ write(6,101)a(4),a(5),a(6)
+ 101 format("a(4)=",f6.3," a(5)=",f6.3," a(6)=",f6.3)
+ write(6,102)b(1),b(2),b(3)
+ 102 format("b(1)=",f6.3," b(2)=",f6.3," b(3)=",f6.3)
+ write(6,103)b(4),b(5),b(6)
+ 103 format("b(4)=",f6.3," b(5)=",f6.3," b(6)=",f6.3)
+
+ call dcopy(3,a,1,b,1)
+ write(6,200)
+ 200 format(/,"t200 is (/ 1.0 2.0 3.0 0.0 0.0 0.0 0.0 /)")
+ write(6,201)b(1),b(2),b(3)
+ 201 format("b(1)=",f6.3," b(2)=",f6.3," b(3)=",f6.3)
+ write(6,202)b(4),b(5),b(6),b(7)
+ 202 format("b(4)=",f6.3," b(5)=",f6.3," b(6)=",f6.3," b(7)=",f6.3)
+
+ write(6,300)
+ 300 format(/,"t300 is (/ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0 /)")
+ b = (/ 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0 /)
+ call dcopy(7,a,1,b,1)
+ write(6,201)b(1),b(2),b(3)
+ write(6,202)b(4),b(5),b(6),b(7)
+
+ write(6,302)
+ 302 format(/,"t302 is (/ 1.0, 0.0, 0.0, 4.0, 0.0, 0.0, 7.0 /)")
+ b = (/ 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0 /)
+ call dcopy(3,a,3,b,3)
+ write(6,201)b(1),b(2),b(3)
+ write(6,202)b(4),b(5),b(6),b(7)
+
+ write(6,303)
+ 303 format(/,"t303 is (/ 1.0, 0.0, 3.0, 0.0, 5.0, 0.0, 7.0 /)")
+ b = (/ 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0 /)
+ call dcopy(4,a,2,b,2)
+ write(6,201)b(1),b(2),b(3)
+ write(6,202)b(4),b(5),b(6),b(7)
+
+ write(6,305)
+ 305 format(/,"t305 is (/ 1.0, 2.0, 3.0, 4.0, 5.0, 0.0, 0.0 /)")
+ a = (/ 1.0D0, 2.0D0, 3.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0 /)
+ b = (/ 1.0D0, 2.0D0, 3.0D0, 4.0D0, 5.0D0, 0.0D0, 0.0D0 /)
+ call dcopy(3,a,1,b,1)
+ write(6,201)b(1),b(2),b(3)
+ write(6,202)b(4),b(5),b(6),b(7)
+
+ write(6,306)
+ 306 format(/,"t306 is (/ 1.0, 2.0, 2.0, 4.0, 3.0, 0.0, 0.0 /)")
+ a = (/ 1.0D0, 2.0D0, 3.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0 /)
+ b = (/ 1.0D0, 2.0D0, 3.0D0, 4.0D0, 5.0D0, 0.0D0, 0.0D0 /)
+ call dcopy(3,a,1,b,2)
+ write(6,201)b(1),b(2),b(3)
+ write(6,202)b(4),b(5),b(6),b(7)
+
+ stop
+ end
+\end{chunk}
+
\begin{chunk}{BLAS 1 dcopy}
(defun dcopy (n dx incx dy incy)
(declare (type (simple-array double-float) dy dx)
@@ -2455,6 +2540,33 @@ c
dy)
\end{chunk}
+
+\begin{chunk}{BLAS 1 dcopy lisp test}
+(setq a (vector 1.0d0 2.0d0 3.0d0 4.0d0 5.0d0 6.0d0 7.0d0))
+(setq b (vector 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0))
+(dcopy 3 a 1 b 1)
+(setq b (vector 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0))
+(dcopy 7 a 1 b 1)
+(setq b (vector 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0))
+(dcopy 8 a 1 b 1)
+(setq b (vector 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0))
+(dcopy 3 a 3 b 3)
+(setq b (vector 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0))
+(dcopy 4 a 2 b 2)
+(setq b (vector 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0))
+(dcopy 5 a 2 b 2)
+(setq b (vector 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0 0.0d0))
+(dcopy 3 a 2 b 2)
+(setq a (vector 1.0d0 2.0d0 3.0d0))
+(setq b (vector 0.0d0 0.0d0 3.0d0 4.0d0 5.0d0))
+(dcopy 3 a 1 b 1)
+b
+(setq b (vector 1.0d0 2.0d0 3.0d0 4.0d0 5.0d0))
+(dcopy 3 a 1 b 2)
+(setq a (vector 1.0d0 2.0d0 3.0d0 4.0d0 5.0d0))
+(setq b (vector 1.0d0 2.0d0 3.0d0))
+(dcopy 5 a 1 b 1)
+\end{chunk}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{ddot BLAS}
%\pagehead{ddot}{ddot}
diff --git a/changelog b/changelog
index 2893cef..405da15 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20120427 tpd src/axiom-website/patches.html 20120427.01.tpd.patch
+20120427 tpd books/bookvol10.5 BLAS1 dcopy test cases
20120425 tpd src/axiom-website/patches.html 20120425.01.tpd.patch
20120425 tpd books/bookvol10.5 BLAS1 daxpy test cases
20120423 tpd src/axiom-website/patches.html 20120423.01.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 03e5e07..e783c66 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -3890,5 +3890,7 @@ books/bookvol10.5 add LAPACK reference code
books/bookvol10.5 add missing lapack routines
20120425.01.tpd.patch
books/bookvol10.5 BLAS1 daxpy test cases
+20120427.01.tpd.patch
+books/bookvol10.5 BLAS1 dcopy test cases