|
From: Akshay S. <ak...@us...> - 2013-01-27 09:20:13
|
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 bee3634bf96916ccb63248bd8fa61c16d7c25da3 (commit)
from 0c9fe59c75989013c9154326a382abd22fc056f0 (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 bee3634bf96916ccb63248bd8fa61c16d7c25da3
Author: Akshay Srinivasan <aks...@gm...>
Date: Sun Jan 27 01:15:23 2013 -0800
Added macrology to ignore multiple outputs inside the callback.
diff --git a/src/ffi/f77-ffi.lisp b/src/ffi/f77-ffi.lisp
index 1870a0d..b03b2c5 100644
--- a/src/ffi/f77-ffi.lisp
+++ b/src/ffi/f77-ffi.lisp
@@ -252,9 +252,6 @@
,@(mapcar #'second return-vars)))))))))
;;TODO: Outputs are messed up inside the callback
- ;;TODO: Define callbacks outside the function call and lexically bind functions inside the
- ;; call. Callbacks allocate memory in some non-GC'ed part of the heap. Runs out of memory
- ;; quite quickly.
(defun %f77.def-fortran-callback (func callback-name return-type parm)
(let* ((hack-return-type `,return-type)
(hack-parm `(,@parm))
@@ -333,8 +330,9 @@
`(let (,@array-vars)))
;;
`(multiple-value-bind (,retvar ,@(mapcar #'car return-vars)) (funcall ,func ,@func-pars)
- ,@(when (eq hack-return-type :void)
- `((declare (ignore ,retvar))))
+ (declare (ignore ,@(mapcar #'car return-vars)
+ ,@(when (eq hack-return-type :void)
+ `(,retvar))))
,@(mapcar #'(lambda (decl)
(destructuring-bind (func-var ffi-var type) decl
(if (member type '(:complex-single-float :complex-double-float))
-----------------------------------------------------------------------
Summary of changes:
src/ffi/f77-ffi.lisp | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)
hooks/post-receive
--
matlisp
|