void checkDataRegression(double* values, LabeledData<RealVector,RealVector> const& loaded, std::size_t labelStart, std::size_t labelEnd){ BOOST_REQUIRE_EQUAL(loaded.numberOfElements(),numInputs); std::size_t inputStart =0; std::size_t inputEnd = labelStart; if(labelStart == 0){ inputStart = labelEnd; inputEnd = numDimensions+1; } for (size_t i=0; i != numInputs; ++i){ for (size_t j=0; j != numDimensions+1; ++j) { double element = 0; if(j >= labelStart &&j < labelEnd){ element = loaded.element(i).label(j-labelStart); } if(j >= inputStart && j < inputEnd){ element = loaded.element(i).input(j-inputStart); } if( boost::math::isnan(values[i*(numDimensions+1)+j])){ BOOST_CHECK(boost::math::isnan(element)); } else { BOOST_CHECK_EQUAL(element, values[i*(numDimensions+1)+j]); } } } }
void checkDataEquality(T* values, unsigned int* labels, LabeledData<V,U> const& loaded){ BOOST_REQUIRE_EQUAL(loaded.numberOfElements(),numInputs); BOOST_REQUIRE_EQUAL(inputDimension(loaded),numDimensions); for (size_t i=0; i != numInputs; ++i){ for (size_t j=0; j != numDimensions; ++j) { if( boost::math::isnan(values[i*numDimensions+j])){ BOOST_CHECK(boost::math::isnan(loaded.element(i).input(j))); } else { BOOST_CHECK_EQUAL(loaded.element(i).input(j), values[i*numDimensions+j]); } } BOOST_CHECK_EQUAL(loaded.element(i).label, labels[i]); } }