Changeset 26311


Ignore:
Timestamp:
06/09/21 14:48:13 (4 years ago)
Author:
Mathieu Morlighem
Message:

CHG: optimize xMemCpy by calling memcpy

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/shared/MemOps/MemOps.h

    r23400 r26311  
    77
    88#include <cassert>
     9#include <cstring> /*for memcpy*/
    910
    1011/* memory management of types T with non-trivial constructors require C++ style memory management*/
     
    6869  T* aT_p=xNew<T>(size);
    6970#endif
    70   for (unsigned int i=0; i<size;++i)
    71     aT_p[i]=(T)0;
     71  for(unsigned int i=0; i<size;++i) aT_p[i]=(T)0;
    7272  return aT_p;
    7373#else
     
    8080#ifdef USE_CXX_MEMORY_MANAGMENT_FOR_NON_POD_TYPES
    8181  T** aT_pp=xNew<T>(dim1,dim2);
    82   for (unsigned int i=0; i<dim1*dim2;++i)
    83     (*aT_pp)[i]=(T)0;
     82  for (unsigned int i=0; i<dim1*dim2;++i) (*aT_pp)[i]=(T)0;
    8483  return aT_pp;
    8584#else
     
    152151template <class T>  T* xMemCpy(T* dest, const T* src, unsigned int size) {/*{{{*/
    153152  assert(dest); assert(src);
    154   for (int i=0; i<size;++i)
    155     dest[i]=src[i];
     153  //for (int i=0; i<size;++i) dest[i]=src[i]; //OLD
     154  memcpy(dest,src,size*sizeof(T)); //NEW
    156155  return dest;
    157156};
Note: See TracChangeset for help on using the changeset viewer.