Skip to content

Commit

Permalink
Reduce some compile-time warnings (#4057)
Browse files Browse the repository at this point in the history
  • Loading branch information
lisitsyn committed Dec 29, 2017
1 parent 69c4702 commit c87d584
Show file tree
Hide file tree
Showing 5 changed files with 114 additions and 106 deletions.
6 changes: 4 additions & 2 deletions src/shogun/evaluation/CrossValidationStorage.cpp
Expand Up @@ -37,6 +37,8 @@
#include <shogun/labels/Labels.h>
#include <shogun/machine/Machine.h>

#include <shogun/base/range.h>

using namespace shogun;

CrossValidationFoldStorage::CrossValidationFoldStorage() : CSGObject()
Expand Down Expand Up @@ -265,10 +267,10 @@ bool CrossValidationStorage::operator==(const CrossValidationStorage& rhs) const

if (rhs.m_folds_results.size() != m_folds_results.size())
return false;
for (index_t i = 0; i < m_folds_results.size(); i++)
for (auto i : range(m_folds_results.size()))
{
if (!(m_folds_results[i] == rhs.m_folds_results[i]))
return false;
}
return member_vars;
}
}
3 changes: 1 addition & 2 deletions src/shogun/structure/HMSVMModel.cpp
Expand Up @@ -163,8 +163,7 @@ CResultSet* CHMSVMModel::argmax(
int32_t feat_idx,
bool const training)
{
int32_t dim = get_dim();
ASSERT( w.vlen == get_dim() )
ASSERT(w.vlen == get_dim())

// Shorthand for the number of features of the feature vector
CMatrixFeatures< float64_t >* mf = (CMatrixFeatures< float64_t >*) m_features;
Expand Down
205 changes: 106 additions & 99 deletions tests/unit/io/UAIFile_unittest.cc
Expand Up @@ -7,104 +7,111 @@ using namespace shogun;

TEST(UAIFileTest, preamble)
{
CUAIFile* fout = new CUAIFile("UAIFileTest_unittest_preamble.uai", 'w', NULL);

fout->set_net_type("MARKOV");

fout->set_num_vars(3);

SGVector<int32_t> vars_card(3);
vars_card[0] = 2;
vars_card[1] = 2;
vars_card[2] = 3;
fout->set_vars_card(vars_card);

fout->set_num_factors(2);

SGVector<int32_t>* factors_scope = new SGVector<int32_t>[2];
SGVector<int32_t> f_s1(2);
f_s1[0] = 0;
f_s1[1] = 1;
factors_scope[0] = f_s1;
SGVector<int32_t> f_s2(2);
f_s2[0] = 1;
f_s2[1] = 2;
factors_scope[1] = f_s2;
fout->set_factors_scope(2, factors_scope);

SGVector<float64_t>* factors_table = new SGVector<float64_t> [2];
SGVector<float64_t> f_t1(4);
f_t1[0] = 0.2;
f_t1[1] = 2.2;
f_t1[2] = 3.2;
f_t1[3] = 4.2;
SGVector<float64_t> f_t2(6);
f_t2[0] = 0.2;
f_t2[1] = 2.2;
f_t2[2] = 3.2;
f_t2[3] = 4.2;
f_t2[4] = 5.2;
f_t2[5] = 6.2;
factors_table[0] = f_t1;
factors_table[1] = f_t2;
fout->set_factors_table(2, factors_table);

SG_UNREF(fout);

CUAIFile* fin = new CUAIFile("UAIFileTest_unittest_preamble.uai", 'r', NULL);

SGVector<char> net_type;
int32_t num_factors, num_vars;
SGVector<int32_t> vars_card_in;
SGVector<int32_t>* factors_scope_in;

fin->parse();

fin->get_preamble(net_type,
num_vars,
vars_card_in,
num_factors,
factors_scope_in);

const char net_type_expected[] = "MARKOV";
EXPECT_EQ(net_type.vlen, strlen(net_type_expected));
for (int32_t i=0; i<net_type.vlen; i++)
EXPECT_EQ(net_type[i], net_type_expected[i]);

EXPECT_EQ(num_vars, 3);
EXPECT_EQ(vars_card_in.vlen, 3);
for (int32_t i=0; i<num_vars; i++)
EXPECT_EQ(vars_card_in[i], vars_card[i]);
EXPECT_EQ(num_factors, 2);
for (int32_t i=0; i<num_factors; i++)
{
SGVector<int32_t> scope = factors_scope[i];
SGVector<int32_t> scope_in = factors_scope_in[i];
EXPECT_EQ(scope.vlen, scope_in.vlen);
for (int32_t j=0; j<scope.vlen; j++)
EXPECT_EQ(scope_in[j], scope[j]);
}

SGVector<float64_t>* factors_table_in;

fin->get_factors_table(factors_table_in);

for (int32_t i=0; i<2; i++)
{
SGVector<float64_t> table = factors_table[i];
SGVector<float64_t> table_in = factors_table_in[i];
EXPECT_EQ(table.vlen, table_in.vlen);
for (int32_t j=0; j<table.vlen; j++)
EXPECT_NEAR(table_in[j], table[j], 1E-14);
}

SG_UNREF(fin);

delete [] factors_table_in;
delete [] factors_scope_in;
delete [] factors_scope;
delete [] factors_table;

unlink("UAIFileTest_unittest_preamble.uai");
CUAIFile* fout =
new CUAIFile("UAIFileTest_unittest_preamble.uai", 'w', NULL);

fout->set_net_type("MARKOV");

fout->set_num_vars(3);

SGVector<int32_t> vars_card(3);
vars_card[0] = 2;
vars_card[1] = 2;
vars_card[2] = 3;
fout->set_vars_card(vars_card);

fout->set_num_factors(2);

SGVector<int32_t>* factors_scope = new SGVector<int32_t>[2];
SGVector<int32_t> f_s1(2);
f_s1[0] = 0;
f_s1[1] = 1;
factors_scope[0] = f_s1;
SGVector<int32_t> f_s2(2);
f_s2[0] = 1;
f_s2[1] = 2;
factors_scope[1] = f_s2;
fout->set_factors_scope(2, factors_scope);

SGVector<float64_t>* factors_table = new SGVector<float64_t>[2];
SGVector<float64_t> f_t1(4);
f_t1[0] = 0.2;
f_t1[1] = 2.2;
f_t1[2] = 3.2;
f_t1[3] = 4.2;
SGVector<float64_t> f_t2(6);
f_t2[0] = 0.2;
f_t2[1] = 2.2;
f_t2[2] = 3.2;
f_t2[3] = 4.2;
f_t2[4] = 5.2;
f_t2[5] = 6.2;
factors_table[0] = f_t1;
factors_table[1] = f_t2;
fout->set_factors_table(2, factors_table);

SG_UNREF(fout);

CUAIFile* fin =
new CUAIFile("UAIFileTest_unittest_preamble.uai", 'r', NULL);

SGVector<char> net_type;
int32_t num_factors, num_vars;
SGVector<int32_t> vars_card_in;
SGVector<int32_t>* factors_scope_in;

fin->parse();

fin->get_preamble(
net_type, num_vars, vars_card_in, num_factors, factors_scope_in);

const char net_type_expected[] = "MARKOV";
EXPECT_EQ(static_cast<size_t>(net_type.vlen), strlen(net_type_expected));
for (int32_t i = 0; i < net_type.vlen; i++)
{
EXPECT_EQ(net_type[i], net_type_expected[i]);
}

EXPECT_EQ(num_vars, 3);
EXPECT_EQ(vars_card_in.vlen, 3);
for (int32_t i = 0; i < num_vars; i++)
{
EXPECT_EQ(vars_card_in[i], vars_card[i]);
}
EXPECT_EQ(num_factors, 2);
for (int32_t i = 0; i < num_factors; i++)
{
SGVector<int32_t> scope = factors_scope[i];
SGVector<int32_t> scope_in = factors_scope_in[i];
EXPECT_EQ(scope.vlen, scope_in.vlen);
for (int32_t j = 0; j < scope.vlen; j++)
{
EXPECT_EQ(scope_in[j], scope[j]);
}
}

SGVector<float64_t>* factors_table_in;

fin->get_factors_table(factors_table_in);

for (int32_t i = 0; i < 2; i++)
{
SGVector<float64_t> table = factors_table[i];
SGVector<float64_t> table_in = factors_table_in[i];
EXPECT_EQ(table.vlen, table_in.vlen);
for (int32_t j = 0; j < table.vlen; j++)
{
EXPECT_NEAR(table_in[j], table[j], 1E-14);
}
}

SG_UNREF(fin);

delete[] factors_table_in;
delete[] factors_scope_in;
delete[] factors_scope;
delete[] factors_table;

unlink("UAIFileTest_unittest_preamble.uai");
}

2 changes: 1 addition & 1 deletion tests/unit/lib/SGVector_unittest.cc
Expand Up @@ -39,7 +39,7 @@ TEST(SGVectorTest,ctor)
/* test iterator */
std::vector<float64_t> src {1.0, 2.0, 3.0, 4.0, 5.0};
SGVector<float64_t> d(src.begin(), src.end());
EXPECT_EQ(src.size(), d.vlen);
EXPECT_EQ(src.size(), static_cast<size_t>(d.vlen));
for (int i=0; i < c.vlen; ++i)
EXPECT_EQ(b[i], c[i]);

Expand Down
4 changes: 2 additions & 2 deletions tests/unit/structure/GEMPLP_unittest.cc
Expand Up @@ -26,13 +26,13 @@ TEST(GEMPLP, find_intersections_index)
clique_B[0] = 2;
k = mplp->find_intersection_index(clique_A, clique_B);
EXPECT_EQ(k, 0);
EXPECT_EQ(mplp->m_all_intersections.size(), 1);
EXPECT_EQ(mplp->m_all_intersections.size(), 1u);
EXPECT_EQ(mplp->m_all_intersections[0][0], 2);

clique_B[1] = 1;
k = mplp->find_intersection_index(clique_A, clique_B);
EXPECT_EQ(k, 1);
EXPECT_EQ(mplp->m_all_intersections.size(), 2);
EXPECT_EQ(mplp->m_all_intersections.size(), 2u);
EXPECT_EQ(mplp->m_all_intersections[1].size(), 2);
EXPECT_EQ(mplp->m_all_intersections[1][0], 1);
EXPECT_EQ(mplp->m_all_intersections[1][1], 2);
Expand Down

0 comments on commit c87d584

Please sign in to comment.