Import Geant4 11.0.0.beta source tree
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
// see license file for original license.
|
||||
|
||||
#ifndef tools_glutess_memalloc
|
||||
#define tools_glutess_memalloc
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
/// inlined C code : ///////////////////////////////////
|
||||
////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef TOOLS_MEM
|
||||
#include "../mem"
|
||||
#include <cstdlib>
|
||||
namespace tools {
|
||||
inline void* mem_alloc(size_t a_size){
|
||||
mem::increment(tools::s_malloc().c_str());
|
||||
return ::malloc(a_size);
|
||||
}
|
||||
inline void* mem_realloc(void* a_ptr,size_t a_size){
|
||||
if(a_ptr==NULL) mem::increment(tools::s_malloc().c_str());
|
||||
return ::realloc(a_ptr,a_size);
|
||||
}
|
||||
inline void mem_free(void* a_ptr){
|
||||
if(a_ptr!=NULL) mem::decrement(tools::s_malloc().c_str());
|
||||
::free(a_ptr);
|
||||
}
|
||||
inline int mem_init( size_t /*maxFast*/) {return 1;}
|
||||
|
||||
}
|
||||
#else
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
namespace tools {
|
||||
inline void* mem_alloc(size_t a_size) {return ::memset( ::malloc( a_size ), 0xa5, a_size);}
|
||||
inline void* mem_realloc(void* a_ptr,size_t a_size){return ::realloc(a_ptr,a_size);}
|
||||
inline void mem_free(void* a_ptr){::free(a_ptr);}
|
||||
inline int mem_init( size_t /*maxFast*/) {return 1;}
|
||||
}
|
||||
#endif
|
||||
|
||||
#define memAlloc tools::mem_alloc
|
||||
#define memRealloc tools::mem_realloc
|
||||
#define memFree tools::mem_free
|
||||
#define memInit tools::mem_init
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user