From 1dd79f23f783564719a52de7d9b54b17005c32d7 Mon Sep 17 00:00:00 2001
From: Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>
Date: Fri, 2 May 2014 09:20:54 +0000
Subject: Add SIRT-Weighted BP3D (par3d-only) for use in large BP

---
 matlab/mex/astra_mex_data3d_c.cpp | 4 ++++
 1 file changed, 4 insertions(+)

(limited to 'matlab')

diff --git a/matlab/mex/astra_mex_data3d_c.cpp b/matlab/mex/astra_mex_data3d_c.cpp
index dfb3003..8492695 100644
--- a/matlab/mex/astra_mex_data3d_c.cpp
+++ b/matlab/mex/astra_mex_data3d_c.cpp
@@ -277,6 +277,7 @@ extern "C" {
 mxArray *mxCreateSharedDataCopy(const mxArray *pr);
 bool mxUnshareArray(const mxArray *pr, const bool noDeepCopy);
 mxArray *mxUnreference(const mxArray *pr);
+bool mxIsSharedArray(const mxArray *pr);
 }
 
 class CFloat32CustomMemoryMatlab3D : public CFloat32CustomMemory {
@@ -287,6 +288,9 @@ public:
 		//fprintf(stderr, "Passed:\narray: %p\tdata: %p\n", (void*)_pArray, (void*)mxGetData(_pArray));
 		// First unshare the input array, so that we may modify it.
 		if (bUnshare) {
+			if (mxIsSharedArray(_pArray)) {
+				fprintf(stderr, "Performance note: unsharing shared array in link\n");
+			}
 			mxUnshareArray(_pArray, false);
 			//fprintf(stderr, "Unshared:\narray: %p\tdata: %p\n", (void*)_pArray, (void*)mxGetData(_pArray));
 		}
-- 
cgit v1.2.3