Changeset 48
- Timestamp:
- 03/28/08 14:39:15 (8 months ago)
- Files:
-
- 1 modified
-
trunk/linear-algebra/blas1.lisp (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/linear-algebra/blas1.lisp
r34 r48 1 1 ;; BLAS level 1, Vector operations 2 2 ;; Liam Healy, Wed Apr 26 2006 - 15:23 3 ;; Time-stamp: <2008-03- 09 19:35:09EDT blas1.lisp>3 ;; Time-stamp: <2008-03-28 10:35:04EDT blas1.lisp> 4 4 ;; $Id$ 5 5 … … 174 174 175 175 #| 176 (make-tests blas1 176 ;;; Before expanding, set 177 ;;; (setf *read-default-float-format* 'double-float) 178 (make-tests blas1-single 177 179 ;; single 178 180 (letm ((a (vector-single-float #(1.0f0 2.0f0 3.0f0))) … … 198 200 (b (vector-single-float #(8.0f0 9.0f0)))) 199 201 (rot a b (/ (sqrt 2.0f0)) (/ (sqrt 2.0f0))) 200 (data b)) 201 ;; double 202 (data b))) 203 204 ;;; Before expanding, set 205 ;;; (setf *read-default-float-format* 'single-float) 206 (make-tests blas1-double 202 207 (letm ((a (vector-double-float #(1.0d0 2.0d0 3.0d0))) 203 208 (b (vector-double-float #(3.0d0 4.0d0 5.0d0)))) … … 230 235 (rot a b (/ (sqrt 2.0d0)) (/ (sqrt 2.0d0))) 231 236 (data b))) 237 232 238 |# 233 239 234 (LISP-UNIT:DEFINE-TEST BLAS1 235 (LISP-UNIT::ASSERT-NUMERICAL-EQUAL 236 (LIST 26.0 )237 (MULTIPLE-VALUE-LIST 238 (LETM ((A (VECTOR-SINGLE-FLOAT #(1.0 2.0 3.0)))239 (B (VECTOR-SINGLE-FLOAT #(3.0 4.0 5.0))))240 (LISP-UNIT:DEFINE-TEST BLAS1-SINGLE 241 (LISP-UNIT::ASSERT-NUMERICAL-EQUAL 242 (LIST 26.0f0) 243 (MULTIPLE-VALUE-LIST 244 (LETM ((A (VECTOR-SINGLE-FLOAT #(1.0f0 2.0f0 3.0f0))) 245 (B (VECTOR-SINGLE-FLOAT #(3.0f0 4.0f0 5.0f0)))) 240 246 (DOT A B)))) 241 247 (LISP-UNIT::ASSERT-NUMERICAL-EQUAL 242 (LIST 7.071068 )243 (MULTIPLE-VALUE-LIST 244 (LETM ((B (VECTOR-SINGLE-FLOAT #(3.0 4.0 5.0))))248 (LIST 7.071068f0) 249 (MULTIPLE-VALUE-LIST 250 (LETM ((B (VECTOR-SINGLE-FLOAT #(3.0f0 4.0f0 5.0f0)))) 245 251 (NORM B)))) 246 252 (LISP-UNIT::ASSERT-NUMERICAL-EQUAL 247 (LIST 12.0 )248 (MULTIPLE-VALUE-LIST 249 (LETM ((B (VECTOR-SINGLE-FLOAT #(3.0 4.0 5.0))))253 (LIST 12.0f0) 254 (MULTIPLE-VALUE-LIST 255 (LETM ((B (VECTOR-SINGLE-FLOAT #(3.0f0 4.0f0 5.0f0)))) 250 256 (ASUM B)))) 251 257 (LISP-UNIT::ASSERT-NUMERICAL-EQUAL 252 258 (LIST 1) 253 259 (MULTIPLE-VALUE-LIST 254 (LETM ((B (VECTOR-SINGLE-FLOAT #(3.0 5.0 4.0))))260 (LETM ((B (VECTOR-SINGLE-FLOAT #(3.0f0 5.0f0 4.0f0)))) 255 261 (IMAX B)))) 256 262 (LISP-UNIT::ASSERT-NUMERICAL-EQUAL 257 (LIST #(5.0 8.0 11.0)) 258 (MULTIPLE-VALUE-LIST 259 (LETM ((A (VECTOR-SINGLE-FLOAT #(1.0 2.0 3.0))) 260 (B (VECTOR-SINGLE-FLOAT #(3.0 4.0 5.0)))) 261 (SETF (DATA A) #(1.0 2.0 3.0) 262 (DATA B) #(3.0 4.0 5.0)) 263 (AXPY 2.0 A B) (DATA B)))) 264 (LISP-UNIT::ASSERT-NUMERICAL-EQUAL 265 (LIST #(6.0 8.0 10.0)) 266 (MULTIPLE-VALUE-LIST 267 (LETM ((B (VECTOR-SINGLE-FLOAT #(3.0 4.0 5.0)))) 268 (SETF (DATA B) #(3.0 4.0 5.0)) (SCAL 2.0 B) 269 (DATA B)))) 270 (LISP-UNIT::ASSERT-NUMERICAL-EQUAL 271 (LIST #(4.9497476 4.2426405)) 272 (MULTIPLE-VALUE-LIST 273 (LETM ((A (VECTOR-SINGLE-FLOAT #(1.0 3.0))) 274 (B (VECTOR-SINGLE-FLOAT #(8.0 9.0)))) 275 (ROT A B (/ (SQRT 2.0)) (/ (SQRT 2.0))) (DATA B)))) 263 (LIST #(5.0f0 8.0f0 11.0f0)) 264 (MULTIPLE-VALUE-LIST 265 (LETM 266 ((A (VECTOR-SINGLE-FLOAT #(1.0f0 2.0f0 3.0f0))) 267 (B (VECTOR-SINGLE-FLOAT #(3.0f0 4.0f0 5.0f0)))) 268 (SETF (DATA A) 269 #(1.0f0 2.0f0 3.0f0) 270 (DATA B) 271 #(3.0f0 4.0f0 5.0f0)) 272 (AXPY 2.0f0 A B) (DATA B)))) 273 (LISP-UNIT::ASSERT-NUMERICAL-EQUAL 274 (LIST #(6.0f0 8.0f0 10.0f0)) 275 (MULTIPLE-VALUE-LIST 276 (LETM ((B (VECTOR-SINGLE-FLOAT #(3.0f0 4.0f0 5.0f0)))) 277 (SETF (DATA B) #(3.0f0 4.0f0 5.0f0)) 278 (SCAL 2.0f0 B) (DATA B)))) 279 (LISP-UNIT::ASSERT-NUMERICAL-EQUAL 280 (LIST #(4.9497476f0 4.2426405f0)) 281 (MULTIPLE-VALUE-LIST 282 (LETM 283 ((A (VECTOR-SINGLE-FLOAT #(1.0f0 3.0f0))) 284 (B (VECTOR-SINGLE-FLOAT #(8.0f0 9.0f0)))) 285 (ROT A B (/ (SQRT 2.0f0)) (/ (SQRT 2.0f0))) 286 (DATA B))))) 287 288 (LISP-UNIT:DEFINE-TEST BLAS1-DOUBLE 276 289 (LISP-UNIT::ASSERT-NUMERICAL-EQUAL 277 290 (LIST 26.0d0) … … 300 313 (LIST #(3.0d0 4.0d0 5.0d0)) 301 314 (MULTIPLE-VALUE-LIST 302 (LETM ((A (VECTOR-DOUBLE-FLOAT #(1.0d0 2.0d0 3.0d0))) 303 (B (VECTOR-DOUBLE-FLOAT #(3.0d0 4.0d0 5.0d0)))) 315 (LETM 316 ((A (VECTOR-DOUBLE-FLOAT #(1.0d0 2.0d0 3.0d0))) 317 (B (VECTOR-DOUBLE-FLOAT #(3.0d0 4.0d0 5.0d0)))) 304 318 (BLAS-SWAP A B) (DATA A)))) 305 319 (LISP-UNIT::ASSERT-NUMERICAL-EQUAL … … 328 342 (DATA B))))) 329 343 344
