Index: /issm/trunk-jpl/src/c/shared/MemOps/MemOps.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/MemOps/MemOps.h	(revision 26310)
+++ /issm/trunk-jpl/src/c/shared/MemOps/MemOps.h	(revision 26311)
@@ -7,4 +7,5 @@
 
 #include <cassert>
+#include <cstring> /*for memcpy*/
 
 /* memory management of types T with non-trivial constructors require C++ style memory management*/
@@ -68,6 +69,5 @@
   T* aT_p=xNew<T>(size);
 #endif
-  for (unsigned int i=0; i<size;++i) 
-    aT_p[i]=(T)0;
+  for(unsigned int i=0; i<size;++i) aT_p[i]=(T)0;
   return aT_p;
 #else
@@ -80,6 +80,5 @@
 #ifdef USE_CXX_MEMORY_MANAGMENT_FOR_NON_POD_TYPES
   T** aT_pp=xNew<T>(dim1,dim2);
-  for (unsigned int i=0; i<dim1*dim2;++i)
-    (*aT_pp)[i]=(T)0;
+  for (unsigned int i=0; i<dim1*dim2;++i) (*aT_pp)[i]=(T)0;
   return aT_pp;
 #else
@@ -152,6 +151,6 @@
 template <class T>  T* xMemCpy(T* dest, const T* src, unsigned int size) {/*{{{*/
   assert(dest); assert(src);
-  for (int i=0; i<size;++i) 
-    dest[i]=src[i];
+  //for (int i=0; i<size;++i) dest[i]=src[i]; //OLD
+  memcpy(dest,src,size*sizeof(T)); //NEW
   return dest;
 };
