From 59e15f5087e05618b4f29faa533b3d8002571ec0 Mon Sep 17 00:00:00 2001 From: Viktor Gal Date: Wed, 13 Feb 2013 15:48:56 +0100 Subject: [PATCH] Fix unit tests for SGVector::max_abs and MOCASSVM there was a bug when calculating max_abs in an SGVector and MulticlassOCAS has been set to use only 1 thread --- tests/unit/lib/SGVector_unittest.cc | 4 ++-- tests/unit/multiclass/MulticlassOCAS_unittest.cc | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/unit/lib/SGVector_unittest.cc b/tests/unit/lib/SGVector_unittest.cc index 78a4d807b3f..447e843d9e1 100644 --- a/tests/unit/lib/SGVector_unittest.cc +++ b/tests/unit/lib/SGVector_unittest.cc @@ -95,12 +95,12 @@ TEST(SGVectorTest,misc) /* test, min, max, sum */ int arg_max = 0, arg_max_abs = 0; - float64_t min = 1025, max = -1025, sum = 0.0, max_abs = - 1, sum_abs = 0.0; + float64_t min = 1025, max = -1025, sum = 0.0, max_abs = -1, sum_abs = 0.0; for (int32_t i = 0; i < a.vlen; ++i) { sum += a[i]; sum_abs += CMath::abs(a[i]); - if (CMath::abs(a[i]) > max) + if (CMath::abs(a[i]) > max_abs) { max_abs = CMath::abs(a[i]); arg_max_abs=i; diff --git a/tests/unit/multiclass/MulticlassOCAS_unittest.cc b/tests/unit/multiclass/MulticlassOCAS_unittest.cc index 09c85ae27a4..441cdee5955 100644 --- a/tests/unit/multiclass/MulticlassOCAS_unittest.cc +++ b/tests/unit/multiclass/MulticlassOCAS_unittest.cc @@ -38,6 +38,7 @@ TEST(MulticlassOCASTest,train) CMulticlassLabels* ground_truth = new CMulticlassLabels(labels); CMulticlassOCAS* mocas = new CMulticlassOCAS(C, train_feats, ground_truth); mocas->train(); + mocas->parallel->set_num_threads(1); CLabels* pred = mocas->apply(test_feats); for (int i = 0; i < set_size; ++i)