Skip to content

Commit

Permalink
Merge pull request #4100 from karlnapf/feature/equals_with_array
Browse files Browse the repository at this point in the history
tag-register raw array
  • Loading branch information
karlnapf committed Jan 23, 2018
2 parents dc886f7 + bd8649a commit 103e8a0
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 44 deletions.
6 changes: 6 additions & 0 deletions src/shogun/features/StringFeatures.cpp
Expand Up @@ -1730,12 +1730,17 @@ template<class ST> void CStringFeatures<ST>::init()
original_num_symbols=0;

m_parameters->add((CSGObject**) &alphabet, "alphabet");

m_parameters->add_vector(&features, &num_vectors, "features",
"This contains the array of features.");
watch_param("features", &features, &num_vectors);

m_parameters->add_vector(&single_string,
&length_of_single_string,
"single_string",
"Created by sliding window.");
watch_param("single_string", &single_string, &length_of_single_string);

m_parameters->add(&max_string_length, "max_string_length",
"Length of longest string.");
m_parameters->add(&num_symbols, "num_symbols",
Expand All @@ -1748,6 +1753,7 @@ template<class ST> void CStringFeatures<ST>::init()
"Preprocess on-the-fly?");

m_parameters->add_vector(&symbol_mask_table, &symbol_mask_table_len, "mask_table", "Symbol mask table - using in higher order mapping");
watch_param("mask_table", &symbol_mask_table, &symbol_mask_table_len);
}

/** get feature type the char feature can deal with
Expand Down
2 changes: 2 additions & 0 deletions src/shogun/lib/DynamicObjectArray.h
Expand Up @@ -459,6 +459,8 @@ class CDynamicObjectArray : public CSGObject
{
m_parameters->add_vector(&m_array.array, &m_array.current_num_elements, "array",
"Memory for dynamic array.");
watch_param("array", &m_array.array, &m_array.current_num_elements);

SG_ADD(&m_array.resize_granularity,
"resize_granularity",
"shrink/grow step size.", MS_NOT_AVAILABLE);
Expand Down
32 changes: 32 additions & 0 deletions tests/unit/base/DynamicObjectArray_unittest.cc
Expand Up @@ -55,3 +55,35 @@ TEST(DynamicObjectArray,clone)
SG_UNREF(orig_array);
SG_UNREF(cloned_array);
}

TEST(DynamicObjectArray, equals_after_resize)
{
CDynamicObjectArray* array1 = new CDynamicObjectArray();
CDynamicObjectArray* array2 = new CDynamicObjectArray();

/* enforce a resize */
for (index_t i = 0; i < 1000; ++i)
array1->append_element(new CDynamicObjectArray());

array1->reset_array();

EXPECT_TRUE(array1->equals(array2));
EXPECT_TRUE(array2->equals(array1));

SG_UNREF(array1);
SG_UNREF(array2);
}

TEST(DynamicObjectArray, equals_different)
{
CDynamicObjectArray* array1 = new CDynamicObjectArray();
CDynamicObjectArray* array2 = new CDynamicObjectArray();

array1->append_element(new CDynamicObjectArray());

EXPECT_FALSE(array1->equals(array2));
EXPECT_FALSE(array2->equals(array1));

SG_UNREF(array1);
SG_UNREF(array2);
}
44 changes: 0 additions & 44 deletions tests/unit/base/SGObject_unittest.cc
Expand Up @@ -266,50 +266,6 @@ TEST(SGObject,ref_unref_simple)
EXPECT_TRUE(labs == NULL);
}

TEST(SGObject, DISABLED_equals_DynamicObjectArray_equal)
{
CDynamicObjectArray* array1=new CDynamicObjectArray();
CDynamicObjectArray* array2=new CDynamicObjectArray();

EXPECT_TRUE(array1->equals(array2));
EXPECT_TRUE(array2->equals(array1));

SG_UNREF(array1);
SG_UNREF(array2);
}

TEST(SGObject, DISABLED_equals_DynamicObjectArray_equal_after_resize)
{
CDynamicObjectArray* array1=new CDynamicObjectArray();
CDynamicObjectArray* array2=new CDynamicObjectArray();

/* enforce a resize */
for (index_t i=0; i<1000; ++i)
array1->append_element(new CGaussianKernel());

array1->reset_array();

EXPECT_TRUE(array1->equals(array2));
EXPECT_TRUE(array2->equals(array1));

SG_UNREF(array1);
SG_UNREF(array2);
}

TEST(SGObject, DISABLED_equals_DynamicObjectArray_different)
{
CDynamicObjectArray* array1=new CDynamicObjectArray();
CDynamicObjectArray* array2=new CDynamicObjectArray();

array1->append_element(new CGaussianKernel());

EXPECT_FALSE(array1->equals(array2));
EXPECT_FALSE(array2->equals(array1));

SG_UNREF(array1);
SG_UNREF(array2);
}

#ifdef USE_GPL_SHOGUN
TEST(SGObject,equals_complex_equal)
{
Expand Down

0 comments on commit 103e8a0

Please sign in to comment.