00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef MEMUTILS_H
00021 #define MEMUTILS_H
00022
00026 #include "types.h"
00027
00028 namespace nnfw {
00029
00032 template<class T>
00033 inline void memoryCopy( T* dest, const T* src, unsigned int size ) {
00034 for( unsigned int i=0; i<size; i++ ) {
00035 dest[i] = src[i];
00036 };
00037 };
00038
00041 template<class T>
00042 inline void memoryZeroing( T* data, unsigned int size ) {
00043 for( unsigned int i=0; i<size; i++ ) {
00044 data[i] = T();
00045 };
00046 };
00047
00050 inline void memoryCopy( float* dest, const float* src, unsigned int size ) {
00051 memcpy( dest, src, sizeof(float)*size );
00052 };
00053
00056 inline void memoryZeroing( float* data, unsigned int size ) {
00057 memset( data, 0, sizeof(float)*size );
00058 };
00059
00062 inline void memoryCopy( double* dest, const double* src, unsigned int size ) {
00063 memcpy( dest, src, sizeof(double)*size );
00064 };
00065
00068 inline void memoryZeroing( double* data, unsigned int size ) {
00069 memset( data, 0, sizeof(double)*size );
00070 };
00071
00074 inline void memoryCopy( bool* dest, const bool* src, unsigned int size ) {
00075 memcpy( dest, src, sizeof(bool)*size );
00076 };
00077
00080 inline void memoryZeroing( bool* data, unsigned int size ) {
00081 memset( data, 0, sizeof(bool)*size );
00082 };
00083
00084 }
00085
00086 #endif