From: Akshay S. <ak...@us...> - 2013-01-28 02:10:47
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "matlisp". The branch, tensor has been updated via b0e4abdd67877cc2e4a2880542028d0d15c8b3eb (commit) from bee3634bf96916ccb63248bd8fa61c16d7c25da3 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b0e4abdd67877cc2e4a2880542028d0d15c8b3eb Author: Akshay Srinivasan <aks...@gm...> Date: Sun Jan 27 18:10:23 2013 -0800 Made gemm use the <type>-zeros function instead of make-<type>-tensor method. diff --git a/src/level-3/gemm.lisp b/src/level-3/gemm.lisp index d6597e0..bd59f29 100644 --- a/src/level-3/gemm.lisp +++ b/src/level-3/gemm.lisp @@ -448,10 +448,11 @@ (defmethod gemm ((alpha number) (a standard-matrix) (b standard-matrix) (beta number) (c real-matrix) &optional (job :nn)) - (let ((result (if (or (complexp alpha) (complexp beta) - (typep a 'complex-matrix) (typep b 'complex-matrix)) - (make-complex-tensor (nrows C) (ncols C)) - (make-real-tensor (nrows C) (ncols C))))) + (let ((result (funcall (if (or (complexp alpha) (complexp beta) + (typep a 'complex-matrix) (typep b 'complex-matrix)) + #'complex-typed-zeros + #'real-typed-zeros) + (dimensions C)))) (copy! C result) (gemm! alpha A B beta result job))) @@ -459,11 +460,10 @@ (beta (eql nil)) (c (eql nil)) &optional (job :nn)) (multiple-value-bind (job-A job-B) (split-job job) - (let ((result (apply - (if (or (complexp alpha) (complexp beta) - (typep a 'complex-matrix) (typep b 'complex-matrix)) - #'make-complex-tensor - #'make-real-tensor) - (list (if (member job-A '(:n :c)) (nrows A) (ncols A)) - (if (member job-B '(:n :c)) (ncols B) (nrows B)))))) + (let ((result (funcall (if (or (complexp alpha) (complexp beta) + (typep a 'complex-matrix) (typep b 'complex-matrix)) + #'complex-typed-zeros + #'real-typed-zeros) + (make-index-store (list (if (member job-A '(:n :c)) (nrows A) (ncols A)) + (if (member job-B '(:n :c)) (ncols B) (nrows B))))))) (gemm! alpha A B 0 result job)))) ----------------------------------------------------------------------- Summary of changes: src/level-3/gemm.lisp | 22 +++++++++++----------- 1 files changed, 11 insertions(+), 11 deletions(-) hooks/post-receive -- matlisp |