Fix some problems

Fix problems in the histogram calculation
Change handle of frame count in the stream handlers
This commit is contained in:
jfmcarreira committed 2017-12-09 02:32:11 +00:00
1 parent fe50d8fa6e
commit 25a4e9765f
20 files changed
+92 -149

No files matched your search

+7 -62
View File
@@ -116,48 +116,19 @@ Int getMem3D( T**** array3D, Int dim0, Int dim1, Int dim2 )
}
template <typename T>
Int getMem4D( T***** array4D, Int dim0, Int dim1, Int dim2, Int dim3 )
{
int i, mem_size = dim0 * sizeof( int*** );
if( ( ( *array4D ) = (T****)xMallocMem( dim0 * sizeof( T*** ) ) ) == NULL )
printf( "get_mem4Dint: array4D" );
mem_size += getMem3D( *array4D, dim0 * dim1, dim2, dim3 );
for( i = 1; i < dim0; i++ ) ( *array4D )[i] = ( *array4D )[i - 1] + dim1;
return mem_size;
}
template <typename T>
Int getMem5D( T****** array5D, Int dim0, Int dim1, Int dim2, Int dim3, Int dim4 )
{
int i, mem_size = dim0 * sizeof( T**** );
if( ( ( *array5D ) = (T*****)xMallocMem( dim0 * sizeof( T**** ) ) ) == NULL )
printf( "get_mem5Dint: array5D" );
mem_size += getMem4D( *array5D, dim0 * dim1, dim2, dim3, dim4 );
for( i = 1; i < dim0; i++ ) ( *array5D )[i] = ( *array5D )[i - 1] + dim1;
return mem_size;
}
template <typename T>
Void freeMem1D( T* array1D )
Void freeMem1D( T*& array1D )
{
if( array1D )
{
xFreeMem( array1D );
array1D = NULL;
}
}
template <typename T>
Void freeMem2D( T** array2D )
Void freeMem2D( T**& array2D )
{
if( array2D )
if( *array2D )
{
if( *array2D )
xFreeMem( *array2D );
@@ -165,6 +136,7 @@ Void freeMem2D( T** array2D )
printf( "free_mem2Dint: trying to free unused memory" );
xFreeMem( array2D );
array2D = NULL;
}
else
{
@@ -173,12 +145,13 @@ Void freeMem2D( T** array2D )
}
template <typename T>
Void freeMem3D( T*** array3D )
Void freeMem3D( T***& array3D )
{
if( array3D )
{
freeMem2D( *array3D );
xFreeMem( array3D );
array3D = NULL;
}
else
{
@@ -186,32 +159,4 @@ Void freeMem3D( T*** array3D )
}
}
template <typename T>
Void freeMem4D( T**** array4D )
{
if( array4D )
{
freeMem3D( *array4D );
xFreeMem( array4D );
}
else
{
printf( "free_mem4Dint: trying to free unused memory" );
}
}
template <typename T>
Void freeMem5D( T***** array5D )
{
if( array5D )
{
freeMem4D( *array5D );
xFreeMem( array5D );
}
else
{
printf( "free_mem5Dint: trying to free unused memory" );
}
}
#endif // __LIBMEMORY_H__