Skip to content

Commit

Permalink
Merge branch 'Arrays' of https://github.com/gsomix/shogun
Browse files Browse the repository at this point in the history
  • Loading branch information
lisitsyn committed May 22, 2012
2 parents fca820b + 90bc6bd commit e27e8f2
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 8 deletions.
4 changes: 2 additions & 2 deletions src/shogun/base/DynArray.h
Expand Up @@ -63,7 +63,7 @@ template <class T> class DynArray
* @param p_copy_array if array must be copied
* @param tracable
*/
DynArray(T* p_array, int32_t p_array_size, bool p_free_array=true, bool p_copy_array=false, bool tracable=true)
DynArray(T* p_array, int32_t p_array_size, bool p_free_array, bool p_copy_array, bool tracable=true)
{
resize_granularity=p_array_size;
free_array=false;
Expand Down Expand Up @@ -387,7 +387,7 @@ template <class T> class DynArray
* @param p_copy_array if array must be copied
*/
inline void set_array(T* p_array, int32_t p_num_elements,
int32_t p_array_size, bool p_free_array=true, bool copy_array=false)
int32_t p_array_size, bool p_free_array, bool copy_array)
{
if (array!=NULL && free_array)
SG_FREE(array);
Expand Down
24 changes: 18 additions & 6 deletions src/shogun/lib/DynamicArray.h
Expand Up @@ -82,7 +82,7 @@ template <class T> class CDynamicArray :public CSGObject
* @param p_free_array if array must be freed
* @param p_copy_array if array must be copied
*/
CDynamicArray(T* p_array, int32_t p_dim1_size, bool p_free_array=true, bool p_copy_array=false)
CDynamicArray(T* p_array, int32_t p_dim1_size, bool p_free_array, bool p_copy_array)
: CSGObject(), m_array(p_array, p_dim1_size, p_free_array, p_copy_array), name("Array")
{
set_generic<T>();
Expand Down Expand Up @@ -110,7 +110,7 @@ template <class T> class CDynamicArray :public CSGObject
* @param p_copy_array if array must be copied
*/
CDynamicArray(T* p_array, int32_t p_dim1_size, int32_t p_dim2_size,
bool p_free_array=true, bool p_copy_array=false)
bool p_free_array, bool p_copy_array)
: CSGObject(), m_array(p_array, p_dim1_size*p_dim2_size, p_free_array, p_copy_array), name("Array")
{
set_generic<T>();
Expand Down Expand Up @@ -140,7 +140,7 @@ template <class T> class CDynamicArray :public CSGObject
* @param p_copy_array if array must be copied
*/
CDynamicArray(T* p_array, int32_t p_dim1_size, int32_t p_dim2_size,
int32_t p_dim3_size, bool p_free_array=true, bool p_copy_array=false)
int32_t p_dim3_size, bool p_free_array, bool p_copy_array)
: CSGObject(), m_array(p_array, p_dim1_size*p_dim2_size*p_dim3_size, p_free_array, p_copy_array), name("Array")
{
set_generic<T>();
Expand Down Expand Up @@ -467,6 +467,18 @@ template <class T> class CDynamicArray :public CSGObject
return m_array.get_array();
}

/** set the array pointer and free previously allocated memory
*
* @param p_array new array
* @param p_num_elements last element index + 1
* @param array_size number of elements in array
*/
inline void set_array(T* p_array, int32_t p_num_elements,
int32_t array_size)
{
m_array.set_array(p_array, p_num_elements, array_size);
}

/** set the array pointer and free previously allocated memory
*
* @param p_array another array
Expand All @@ -475,7 +487,7 @@ template <class T> class CDynamicArray :public CSGObject
* @param copy_array if array must be copied
*/
inline void set_array(T* p_array, int32_t dim1,
bool p_free_array=true, bool copy_array=false)
bool p_free_array, bool copy_array)
{
dim1_size=dim1;
dim2_size=1;
Expand All @@ -492,7 +504,7 @@ template <class T> class CDynamicArray :public CSGObject
* @param copy_array if array must be copied
*/
inline void set_array(T* p_array, int32_t dim1,
int32_t dim2, bool p_free_array=true, bool copy_array=false)
int32_t dim2, bool p_free_array, bool copy_array)
{
dim1_size=dim1;
dim2_size=dim2;
Expand All @@ -511,7 +523,7 @@ template <class T> class CDynamicArray :public CSGObject
* @param copy_array if array must be copied
*/
inline void set_array(T* p_array, int32_t dim1,
int32_t dim2, int32_t dim3, bool p_free_array=true, bool copy_array=false)
int32_t dim2, int32_t dim3, bool p_free_array, bool copy_array)
{
dim1_size=dim1;
dim2_size=dim2;
Expand Down

0 comments on commit e27e8f2

Please sign in to comment.