[mlpack-svn] r10195 - in mlpack/trunk/src/mlpack: core/data core/io core/kernels core/math core/tree core/utilities methods/emst methods/fastica methods/infomax_ica methods/kernel_pca methods/linear_regression methods/mog methods/mvu methods/naive_bayes methods/nca methods/neighbor_search methods/neighbor_search/sort_policies methods/nnsvm methods/regression methods/svm tests tests/data

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Tue Nov 8 18:57:27 EST 2011


Author: vlad321
Date: 2011-11-08 18:57:26 -0500 (Tue, 08 Nov 2011)
New Revision: 10195

Added:
   mlpack/trunk/src/mlpack/tests/data/trainRes.csv
   mlpack/trunk/src/mlpack/tests/sort_policy_test.cc
Removed:
   mlpack/trunk/src/mlpack/core/data/load_save_test.cpp
   mlpack/trunk/src/mlpack/core/io/cli_test.cpp
   mlpack/trunk/src/mlpack/core/kernels/kernel_test.cc
   mlpack/trunk/src/mlpack/core/math/math_test.cpp
   mlpack/trunk/src/mlpack/core/tree/tree_test.cpp
   mlpack/trunk/src/mlpack/core/utilities/save_restore_utility_test.cpp
   mlpack/trunk/src/mlpack/methods/emst/emst_test.cc
   mlpack/trunk/src/mlpack/methods/emst/test_data_3_1000.csv
   mlpack/trunk/src/mlpack/methods/emst/union_find_test.cpp
   mlpack/trunk/src/mlpack/methods/fastica/lin_alg_test.cpp
   mlpack/trunk/src/mlpack/methods/infomax_ica/infomax_ica_test.cc
   mlpack/trunk/src/mlpack/methods/kernel_pca/test_data_3_1000.csv
   mlpack/trunk/src/mlpack/methods/linear_regression/linear_regression_test.cpp
   mlpack/trunk/src/mlpack/methods/mog/fake.csv
   mlpack/trunk/src/mlpack/methods/mvu/roll.csv
   mlpack/trunk/src/mlpack/methods/naive_bayes/nbc_test.cc
   mlpack/trunk/src/mlpack/methods/naive_bayes/testRes.csv
   mlpack/trunk/src/mlpack/methods/naive_bayes/testSet.csv
   mlpack/trunk/src/mlpack/methods/naive_bayes/trainRes.csv
   mlpack/trunk/src/mlpack/methods/naive_bayes/trainSet.csv
   mlpack/trunk/src/mlpack/methods/nca/nca_test.cc
   mlpack/trunk/src/mlpack/methods/neighbor_search/allkfn_test.cc
   mlpack/trunk/src/mlpack/methods/neighbor_search/allknn_test.cc
   mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/sort_policy_test.cc
   mlpack/trunk/src/mlpack/methods/neighbor_search/test_data_3_1000.csv
   mlpack/trunk/src/mlpack/methods/nnsvm/nnsvm_test.cpp
   mlpack/trunk/src/mlpack/methods/nnsvm/toy1.csv
   mlpack/trunk/src/mlpack/methods/nnsvm/toy4.csv
   mlpack/trunk/src/mlpack/methods/nnsvm/toy7.csv
   mlpack/trunk/src/mlpack/methods/regression/ridge_regression_test.cc
   mlpack/trunk/src/mlpack/methods/svm/c_testdata2.csv
   mlpack/trunk/src/mlpack/methods/svm/c_testdata3.csv
   mlpack/trunk/src/mlpack/methods/svm/c_traindata2.csv
   mlpack/trunk/src/mlpack/methods/svm/c_traindata3.csv
   mlpack/trunk/src/mlpack/methods/svm/r_testdata.csv
   mlpack/trunk/src/mlpack/methods/svm/r_traindata.csv
   mlpack/trunk/src/mlpack/methods/svm/svm_test.cc
Modified:
   mlpack/trunk/src/mlpack/core/data/CMakeLists.txt
   mlpack/trunk/src/mlpack/core/io/CMakeLists.txt
   mlpack/trunk/src/mlpack/core/kernels/CMakeLists.txt
   mlpack/trunk/src/mlpack/core/math/CMakeLists.txt
   mlpack/trunk/src/mlpack/core/tree/CMakeLists.txt
   mlpack/trunk/src/mlpack/core/utilities/CMakeLists.txt
   mlpack/trunk/src/mlpack/methods/emst/CMakeLists.txt
   mlpack/trunk/src/mlpack/methods/fastica/CMakeLists.txt
   mlpack/trunk/src/mlpack/methods/infomax_ica/CMakeLists.txt
   mlpack/trunk/src/mlpack/methods/linear_regression/CMakeLists.txt
   mlpack/trunk/src/mlpack/methods/naive_bayes/CMakeLists.txt
   mlpack/trunk/src/mlpack/methods/nca/CMakeLists.txt
   mlpack/trunk/src/mlpack/methods/neighbor_search/CMakeLists.txt
   mlpack/trunk/src/mlpack/methods/nnsvm/CMakeLists.txt
   mlpack/trunk/src/mlpack/methods/regression/CMakeLists.txt
   mlpack/trunk/src/mlpack/methods/svm/CMakeLists.txt
   mlpack/trunk/src/mlpack/tests/CMakeLists.txt
Log:
Cleaned up and moved all stray tests and test data that is included in the general mlpack_test.


Modified: mlpack/trunk/src/mlpack/core/data/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/core/data/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/core/data/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -18,13 +18,3 @@
 # Append sources (with directory name) to list of all MLPACK sources (used at
 # parent scope).
 set(MLPACK_SRCS ${MLPACK_SRCS} ${DIR_SRCS} PARENT_SCOPE)
-
-# test executable
-add_executable(load_save_test
-   load_save_test.cpp
-)
-# link dependencies of test executable
-target_link_libraries(load_save_test
-   mlpack
-   boost_unit_test_framework
-)

Deleted: mlpack/trunk/src/mlpack/core/data/load_save_test.cpp
===================================================================
--- mlpack/trunk/src/mlpack/core/data/load_save_test.cpp	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/core/data/load_save_test.cpp	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,311 +0,0 @@
-/**
- * @file load_save_test.cpp
- * @author Ryan Curtin
- *
- * Tests for data::Load() and data::Save().
- */
-#include <sstream>
-
-#include "load.hpp"
-#include "save.hpp"
-
-#define BOOST_TEST_MODULE LoadSaveTest
-#include <boost/test/unit_test.hpp>
-
-using namespace mlpack;
-
-/**
- * Make sure failure occurs when no extension given.
- */
-BOOST_AUTO_TEST_CASE(NoExtensionLoad) {
-  arma::mat out;
-  BOOST_REQUIRE(data::Load("noextension", out) == false);
-}
-
-/**
- * Make sure failure occurs when no extension given.
- */
-BOOST_AUTO_TEST_CASE(NoExtensionSave) {
-  arma::mat out;
-  BOOST_REQUIRE(data::Save("noextension", out) == false);
-}
-
-/**
- * Make sure load fails if the file does not exist.
- */
-BOOST_AUTO_TEST_CASE(NotExistLoad) {
-  arma::mat out;
-  BOOST_REQUIRE(data::Load("nonexistentfile_______________.csv", out) == false);
-}
-
-/**
- * Make sure a CSV is loaded correctly.
- */
-BOOST_AUTO_TEST_CASE(LoadCSVTest) {
-  std::fstream f;
-  f.open("test_file.csv", std::fstream::out);
-
-  f << "1, 2, 3, 4" << std::endl;
-  f << "5, 6, 7, 8" << std::endl;
-
-  f.close();
-
-  arma::mat test;
-  BOOST_REQUIRE(data::Load("test_file.csv", test) == true);
-
-  BOOST_REQUIRE_EQUAL(test.n_rows, 4);
-  BOOST_REQUIRE_EQUAL(test.n_cols, 2);
-
-  for (int i = 0; i < 8; i++)
-    BOOST_REQUIRE_CLOSE(test[i], (double) (i + 1), 1e-5);
-
-  // Remove the file.
-  remove("test_file.csv");
-}
-
-/**
- * Make sure a CSV is saved correctly.
- */
-BOOST_AUTO_TEST_CASE(SaveCSVTest) {
-  arma::mat test = "1 5;"
-                   "2 6;"
-                   "3 7;"
-                   "4 8;";
-
-  BOOST_REQUIRE(data::Save("test_file.csv", test) == true);
-
-  // Load it in and make sure it is the same.
-  BOOST_REQUIRE(data::Load("test_file.csv", test) == true);
-
-  BOOST_REQUIRE_EQUAL(test.n_rows, 4);
-  BOOST_REQUIRE_EQUAL(test.n_cols, 2);
-
-  for (int i = 0; i < 8; i++)
-    BOOST_REQUIRE_CLOSE(test[i], (double) (i + 1), 1e-5);
-
-  // Remove the file.
-  remove("test_file.csv");
-}
-
-/**
- * Make sure arma_ascii is loaded correctly.
- */
-BOOST_AUTO_TEST_CASE(LoadArmaASCIITest) {
-  arma::mat test = "1 5;"
-                   "2 6;"
-                   "3 7;"
-                   "4 8;";
-
-  arma::mat testTrans = trans(test);
-  BOOST_REQUIRE(testTrans.save("test_file.txt", arma::arma_ascii));
-
-  BOOST_REQUIRE(data::Load("test_file.txt", test) == true);
-
-  BOOST_REQUIRE_EQUAL(test.n_rows, 4);
-  BOOST_REQUIRE_EQUAL(test.n_cols, 2);
-
-  for (int i = 0; i < 8; i++)
-    BOOST_REQUIRE_CLOSE(test[i], (double) (i + 1), 1e-5);
-
-  // Remove the file.
-  remove("test_file.txt");
-}
-
-/**
- * Make sure a CSV is saved correctly.
- */
-BOOST_AUTO_TEST_CASE(SaveArmaASCIITest) {
-  arma::mat test = "1 5;"
-                   "2 6;"
-                   "3 7;"
-                   "4 8;";
-
-  BOOST_REQUIRE(data::Save("test_file.txt", test) == true);
-
-  // Load it in and make sure it is the same.
-  BOOST_REQUIRE(data::Load("test_file.txt", test) == true);
-
-  BOOST_REQUIRE_EQUAL(test.n_rows, 4);
-  BOOST_REQUIRE_EQUAL(test.n_cols, 2);
-
-  for (int i = 0; i < 8; i++)
-    BOOST_REQUIRE_CLOSE(test[i], (double) (i + 1), 1e-5);
-
-  // Remove the file.
-  remove("test_file.txt");
-}
-
-/**
- * Make sure raw_ascii is loaded correctly.
- */
-BOOST_AUTO_TEST_CASE(LoadRawASCIITest) {
-  std::fstream f;
-  f.open("test_file.txt", std::fstream::out);
-
-  f << "1 2 3 4" << std::endl;
-  f << "5 6 7 8" << std::endl;
-
-  f.close();
-
-  arma::mat test;
-  BOOST_REQUIRE(data::Load("test_file.txt", test) == true);
-
-  BOOST_REQUIRE_EQUAL(test.n_rows, 4);
-  BOOST_REQUIRE_EQUAL(test.n_cols, 2);
-
-  for (int i = 0; i < 8; i++)
-    BOOST_REQUIRE_CLOSE(test[i], (double) (i + 1), 1e-5);
-
-  // Remove the file.
-  remove("test_file.txt");
-}
-
-/**
- * Make sure CSV is loaded correctly as .txt.
- */
-BOOST_AUTO_TEST_CASE(LoadCSVTxtTest) {
-  std::fstream f;
-  f.open("test_file.txt", std::fstream::out);
-
-  f << "1, 2, 3, 4" << std::endl;
-  f << "5, 6, 7, 8" << std::endl;
-
-  f.close();
-
-  arma::mat test;
-  BOOST_REQUIRE(data::Load("test_file.txt", test) == true);
-
-  BOOST_REQUIRE_EQUAL(test.n_rows, 4);
-  BOOST_REQUIRE_EQUAL(test.n_cols, 2);
-
-  for (int i = 0; i < 8; i++)
-    BOOST_REQUIRE_CLOSE(test[i], (double) (i + 1), 1e-5);
-
-  // Remove the file.
-  remove("test_file.txt");
-}
-
-/**
- * Make sure arma_binary is loaded correctly.
- */
-BOOST_AUTO_TEST_CASE(LoadArmaBinaryTest) {
-  arma::mat test = "1 5;"
-                   "2 6;"
-                   "3 7;"
-                   "4 8;";
-
-  arma::mat testTrans = trans(test);
-  BOOST_REQUIRE(testTrans.quiet_save("test_file.bin", arma::arma_binary)
-      == true);
-
-  // Now reload through our interface.
-  BOOST_REQUIRE(data::Load("test_file.bin", test) == true);
-
-  BOOST_REQUIRE_EQUAL(test.n_rows, 4);
-  BOOST_REQUIRE_EQUAL(test.n_cols, 2);
-
-  for (int i = 0; i < 8; i++)
-    BOOST_REQUIRE_CLOSE(test[i], (double) (i + 1), 1e-5);
-
-  // Remove the file.
-  remove("test_file.bin");
-}
-
-/**
- * Make sure arma_binary is saved correctly.
- */
-BOOST_AUTO_TEST_CASE(SaveArmaBinaryTest) {
-  arma::mat test = "1 5;"
-                   "2 6;"
-                   "3 7;"
-                   "4 8;";
-
-  BOOST_REQUIRE(data::Save("test_file.bin", test) == true);
-
-  BOOST_REQUIRE(data::Load("test_file.bin", test) == true);
-
-  BOOST_REQUIRE_EQUAL(test.n_rows, 4);
-  BOOST_REQUIRE_EQUAL(test.n_cols, 2);
-
-  for (int i = 0; i < 8; i++)
-    BOOST_REQUIRE_CLOSE(test[i], (double) (i + 1), 1e-5);
-
-  // Remove the file.
-  remove("test_file.bin");
-}
-
-/**
- * Make sure raw_binary is loaded correctly.
- */
-BOOST_AUTO_TEST_CASE(LoadRawBinaryTest) {
-  arma::mat test = "1 2;"
-                   "3 4;"
-                   "5 6;"
-                   "7 8;";
-
-  arma::mat testTrans = trans(test);
-  BOOST_REQUIRE(testTrans.quiet_save("test_file.bin", arma::raw_binary)
-      == true);
-
-  // Now reload through our interface.
-  BOOST_REQUIRE(data::Load("test_file.bin", test) == true);
-
-  BOOST_REQUIRE_EQUAL(test.n_rows, 1);
-  BOOST_REQUIRE_EQUAL(test.n_cols, 8);
-
-  for (int i = 0; i < 8; i++)
-    BOOST_REQUIRE_CLOSE(test[i], (double) (i + 1), 1e-5);
-
-  // Remove the file.
-  remove("test_file.bin");
-}
-
-/**
- * Make sure load as PGM is successful.
- */
-BOOST_AUTO_TEST_CASE(LoadPGMBinaryTest) {
-  arma::mat test = "1 5;"
-                   "2 6;"
-                   "3 7;"
-                   "4 8;";
-
-  arma::mat testTrans = trans(test);
-  BOOST_REQUIRE(testTrans.quiet_save("test_file.pgm", arma::pgm_binary)
-      == true);
-
-  // Now reload through our interface.
-  BOOST_REQUIRE(data::Load("test_file.pgm", test) == true);
-
-  BOOST_REQUIRE_EQUAL(test.n_rows, 4);
-  BOOST_REQUIRE_EQUAL(test.n_cols, 2);
-
-  for (int i = 0; i < 8; i++)
-    BOOST_REQUIRE_CLOSE(test[i], (double) (i + 1), 1e-5);
-
-  // Remove the file.
-  remove("test_file.pgm");
-}
-
-/**
- * Make sure save as PGM is successful.
- */
-BOOST_AUTO_TEST_CASE(SavePGMBinaryTest) {
-  arma::mat test = "1 5;"
-                   "2 6;"
-                   "3 7;"
-                   "4 8;";
-
-  BOOST_REQUIRE(data::Save("test_file.pgm", test) == true);
-
-  // Now reload through our interface.
-  BOOST_REQUIRE(data::Load("test_file.pgm", test) == true);
-
-  BOOST_REQUIRE_EQUAL(test.n_rows, 4);
-  BOOST_REQUIRE_EQUAL(test.n_cols, 2);
-
-  for (int i = 0; i < 8; i++)
-    BOOST_REQUIRE_CLOSE(test[i], (double) (i + 1), 1e-5);
-
-  // Remove the file.
-  remove("test_file.pgm");
-}

Modified: mlpack/trunk/src/mlpack/core/io/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/core/io/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/core/io/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -31,16 +31,3 @@
 # Append sources (with directory name) to list of all MLPACK sources (used at
 # parent scope).
 set(MLPACK_SRCS ${MLPACK_SRCS} ${DIR_SRCS} PARENT_SCOPE)
-
-# test executable
-add_executable(cli_test
-   cli_test.cpp
-)
-# link dependencies of test executable
-target_link_libraries(cli_test
-   mlpack
-   boost_program_options
-   boost_unit_test_framework
-)
-
-

Deleted: mlpack/trunk/src/mlpack/core/io/cli_test.cpp
===================================================================
--- mlpack/trunk/src/mlpack/core/io/cli_test.cpp	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/core/io/cli_test.cpp	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,236 +0,0 @@
-/***
- * @file io_test.cc
- * @author Matthew Amidon, Ryan Curtin
- *
- * Test for the CLI input parameter system.
- */
-
-#include <iostream>
-#include <sstream>
-#include <sys/time.h>
-
-#include "optionshierarchy.hpp"
-#include "cli.hpp"
-#include "log.hpp"
-#include <mlpack/core.h>
-
-#define DEFAULT_INT 42
-
-//Include unit tests down here since we just have to
-#define BOOST_TEST_MODULE CLI_Test
-#include <boost/test/unit_test.hpp>
-
-#define BASH_RED "\033[0;31m"
-#define BASH_GREEN "\033[0;32m"
-#define BASH_YELLOW "\033[0;33m"
-#define BASH_CYAN "\033[0;36m"
-#define BASH_CLEAR "\033[0m"
-
-using namespace mlpack;
-using namespace mlpack::io;
-
-/***
- * @brief Tests that inserting elements into an OptionsHierarchy
- *   properly updates the tree.
- *
- * @return True indicating all is well with OptionsHierarchy
- */
-BOOST_AUTO_TEST_CASE(TestHierarchy) {
-  OptionsHierarchy tmp = OptionsHierarchy("UTest");
-  std::string testName = std::string("UTest/test");
-  std::string testDesc = std::string("Test description.");
-  std::string testTID = TYPENAME(int);
-
-  // Check that the hierarchy is properly named.
-  std::string str = std::string("UTest");
-  OptionsData node = tmp.GetNodeData();
-
-  BOOST_REQUIRE_EQUAL(str.compare(node.node), 0);
-  // Check that inserting a node actually inserts the node.
-  // Note, that since all versions of append simply call the most qualified
-  //    overload, we will only test that one.
-  tmp.AppendNode(testName, testTID, testDesc);
-  BOOST_REQUIRE(tmp.FindNode(testName) != NULL);
-
-  // Now check that the inserted node has the correct data.
-  OptionsHierarchy* testHierarchy = tmp.FindNode(testName);
-  OptionsData testData;
-  if (testHierarchy != NULL) {
-    node = testHierarchy->GetNodeData();
-
-    BOOST_REQUIRE(testName.compare(node.node) == 0);
-    BOOST_REQUIRE(testDesc.compare(node.desc) == 0);
-    BOOST_REQUIRE(testTID.compare(node.tname) == 0);
-  }
-}
-
-/***
- * @brief Tests that CLI works as intended, namely that CLI::Add
- *   propagates successfully.
- *
- * @return True indicating all is well with CLI::Add, false otherwise.
- */
-BOOST_AUTO_TEST_CASE(TestCLIAdd) {
-  // Check that the CLI::HasParam returns false if no value has been specified
-  // on the commandline and ignores any programmatical assignments.
-  CLI::Add<bool>("bool", "True or False", "global");
-  BOOST_REQUIRE_EQUAL(CLI::HasParam("global/bool"), false);
-  CLI::GetParam<bool>("global/bool") = true;
-  // CLI::HasParam should return true.
-  BOOST_REQUIRE_EQUAL(CLI::HasParam("global/bool"), true);
-
-  //Check the description of our variable.
-  BOOST_REQUIRE_EQUAL(CLI::GetDescription("global/bool").compare(
-      std::string("True or False")) , 0);
-  // Check that SanitizeString is sanitary.
-  std::string tmp = CLI::SanitizeString("/foo/bar/fizz");
-  BOOST_REQUIRE_EQUAL(tmp.compare(std::string("foo/bar/fizz/")),0);
-}
-
-/***
- * Test the output of CLI.  We will pass bogus input to a stringstream so that
- * none of it gets to the screen.
- */
-BOOST_AUTO_TEST_CASE(TestPrefixedOutStreamBasic) {
-  std::stringstream ss;
-  PrefixedOutStream pss(ss, BASH_GREEN "[INFO ] " BASH_CLEAR);
-
-  pss << "This shouldn't break anything" << std::endl;
-  BOOST_REQUIRE_EQUAL(ss.str(),
-      BASH_GREEN "[INFO ] " BASH_CLEAR "This shouldn't break anything\n");
-
-  ss.str("");
-  pss << "Test the new lines...";
-  pss << "shouldn't get 'Info' here." << std::endl;
-  BOOST_REQUIRE_EQUAL(ss.str(),
-      BASH_GREEN "[INFO ] " BASH_CLEAR
-      "Test the new lines...shouldn't get 'Info' here.\n");
-
-  pss << "But now I should." << std::endl << std::endl;
-  pss << "";
-  BOOST_REQUIRE_EQUAL(ss.str(),
-      BASH_GREEN "[INFO ] " BASH_CLEAR
-      "Test the new lines...shouldn't get 'Info' here.\n"
-      BASH_GREEN "[INFO ] " BASH_CLEAR "But now I should.\n"
-      BASH_GREEN "[INFO ] " BASH_CLEAR "\n"
-      BASH_GREEN "[INFO ] " BASH_CLEAR "");
-}
-
-/**
- * @brief Tests that the various PARAM_* macros work properly
- * @return True indicating that all is well with CLI & Options.
- */
-BOOST_AUTO_TEST_CASE(TestOption) {
-  // This test will involve creating an option, and making sure CLI reflects
-  // this.
-  PARAM(int, "test", "test desc", "test_parent", DEFAULT_INT, false);
-
-  // Does CLI reflect this?
-  BOOST_REQUIRE_EQUAL(CLI::HasParam("test_parent/test"), true);
-
-  std::string desc = std::string("test desc");
-
-  BOOST_REQUIRE_EQUAL(CLI::GetDescription("test_parent/test"), "test desc");
-  BOOST_REQUIRE_EQUAL(CLI::GetParam<int>("test_parent/test"), DEFAULT_INT);
-}
-
-/***
- * Ensure that a Boolean option which we define is set correctly.
- */
-BOOST_AUTO_TEST_CASE(TestBooleanOption) {
-  PARAM_FLAG("flag_test", "flag test description", "test_parent");
-
-  BOOST_REQUIRE_EQUAL(CLI::HasParam("test_parent/flag_test"), false);
-
-  BOOST_REQUIRE_EQUAL(CLI::GetDescription("test_parent/flag_test"),
-      "flag test description");
-
-  // Now check that CLI reflects that it is false by default.
-  BOOST_REQUIRE_EQUAL(CLI::GetParam<bool>("test_parent/flag_test"), false);
-}
-
-
-/***
- * Test that we can correctly output Armadillo objects to PrefixedOutStream
- * objects.
- */
-BOOST_AUTO_TEST_CASE(TestArmadilloPrefixedOutStream) {
-  // We will test this with both a vector and a matrix.
-  arma::vec test("1.0 1.5 2.0 2.5 3.0 3.5 4.0");
-
-  std::stringstream ss;
-  PrefixedOutStream pss(ss, BASH_GREEN "[INFO ] " BASH_CLEAR);
-
-  pss << test;
-  // This should result in nothing being on the current line (since it clears
-  // it).
-  BOOST_REQUIRE_EQUAL(ss.str(), BASH_GREEN "[INFO ] " BASH_CLEAR "   1.0000\n"
-                                BASH_GREEN "[INFO ] " BASH_CLEAR "   1.5000\n"
-                                BASH_GREEN "[INFO ] " BASH_CLEAR "   2.0000\n"
-                                BASH_GREEN "[INFO ] " BASH_CLEAR "   2.5000\n"
-                                BASH_GREEN "[INFO ] " BASH_CLEAR "   3.0000\n"
-                                BASH_GREEN "[INFO ] " BASH_CLEAR "   3.5000\n"
-                                BASH_GREEN "[INFO ] " BASH_CLEAR "   4.0000\n");
-
-  ss.str("");
-  pss << trans(test);
-  // This should result in there being stuff on the line.
-  BOOST_REQUIRE_EQUAL(ss.str(), BASH_GREEN "[INFO ] " BASH_CLEAR
-      "   1.0000   1.5000   2.0000   2.5000   3.0000   3.5000   4.0000\n");
-
-  arma::mat test2("1.0 1.5 2.0; 2.5 3.0 3.5; 4.0 4.5 4.99999");
-  ss.str("");
-  pss << test2;
-  BOOST_REQUIRE_EQUAL(ss.str(),
-      BASH_GREEN "[INFO ] " BASH_CLEAR "   1.0000   1.5000   2.0000\n"
-      BASH_GREEN "[INFO ] " BASH_CLEAR "   2.5000   3.0000   3.5000\n"
-      BASH_GREEN "[INFO ] " BASH_CLEAR "   4.0000   4.5000   5.0000\n");
-
-  // Try and throw a curveball by not clearing the line before outputting
-  // something else.  The PrefixedOutStream should not force Armadillo objects
-  // onto their own lines.
-  ss.str("");
-  pss << "hello" << test2;
-  BOOST_REQUIRE_EQUAL(ss.str(),
-      BASH_GREEN "[INFO ] " BASH_CLEAR "hello   1.0000   1.5000   2.0000\n"
-      BASH_GREEN "[INFO ] " BASH_CLEAR "   2.5000   3.0000   3.5000\n"
-      BASH_GREEN "[INFO ] " BASH_CLEAR "   4.0000   4.5000   5.0000\n");
-}
-
-/***
- * Test that we can correctly output things in general.
- */
-BOOST_AUTO_TEST_CASE(TestPrefixedOutStream) {
-  std::stringstream ss;
-  PrefixedOutStream pss(ss, BASH_GREEN "[INFO ] " BASH_CLEAR);
-
-  pss << "hello world I am ";
-  pss << 7;
-
-  BOOST_REQUIRE_EQUAL(ss.str(),
-      BASH_GREEN "[INFO ] " BASH_CLEAR "hello world I am 7");
-
-  pss << std::endl;
-  BOOST_REQUIRE_EQUAL(ss.str(),
-      BASH_GREEN "[INFO ] " BASH_CLEAR "hello world I am 7\n");
-
-  ss.str("");
-  pss << std::endl;
-  BOOST_REQUIRE_EQUAL(ss.str(),
-      BASH_GREEN "[INFO ] " BASH_CLEAR "\n");
-}
-
-/***
- * Test format modifiers.
- */
-BOOST_AUTO_TEST_CASE(TestPrefixedOutStreamModifiers) {
-  std::stringstream ss;
-  PrefixedOutStream pss(ss, BASH_GREEN "[INFO ] " BASH_CLEAR);
-
-  pss << "I have a precise number which is ";
-  pss << std::setw(6) << std::setfill('0') << 156;
-
-  BOOST_REQUIRE_EQUAL(ss.str(),
-      BASH_GREEN "[INFO ] " BASH_CLEAR
-      "I have a precise number which is 000156");
-}

Modified: mlpack/trunk/src/mlpack/core/kernels/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/core/kernels/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/core/kernels/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -21,12 +21,3 @@
 # Append sources (with directory name) to list of all MLPACK sources (used at
 # the parent scope).
 set(MLPACK_SRCS ${MLPACK_SRCS} ${DIR_SRCS} PARENT_SCOPE)
-
-# add test executable
-add_executable(kernel_test
-  kernel_test.cc
-)
-target_link_libraries(kernel_test
-  mlpack
-  boost_unit_test_framework
-)

Deleted: mlpack/trunk/src/mlpack/core/kernels/kernel_test.cc
===================================================================
--- mlpack/trunk/src/mlpack/core/kernels/kernel_test.cc	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/core/kernels/kernel_test.cc	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,225 +0,0 @@
-/***
- * @file kernel_test.cc
- * @author Ryan Curtin
- *
- * Tests for the various kernel classes.
- */
-
-#include "lmetric.hpp"
-#include "mahalanobis_distance.hpp"
-#include "cosine_distance.hpp"
-#include "gaussian_kernel.hpp"
-#include "linear_kernel.hpp"
-
-#define BOOST_TEST_MODULE Kernel Test
-#include <boost/test/unit_test.hpp>
-
-using namespace mlpack;
-using namespace mlpack::kernel;
-
-/***
- * Basic test of the Manhattan distance.
- */
-BOOST_AUTO_TEST_CASE(manhattan_distance) {
-  // A couple quick tests.
-  arma::vec a = "1.0 3.0 4.0";
-  arma::vec b = "3.0 3.0 5.0";
-
-  BOOST_REQUIRE_CLOSE(ManhattanDistance::Evaluate(a, b), 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(ManhattanDistance::Evaluate(b, a), 3.0, 1e-5);
-
-  // Check also for when the root is taken (should be the same).
-  BOOST_REQUIRE_CLOSE((LMetric<1, true>::Evaluate(a, b)), 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE((LMetric<1, true>::Evaluate(b, a)), 3.0, 1e-5);
-}
-
-/***
- * Basic test of squared Euclidean distance.
- */
-BOOST_AUTO_TEST_CASE(squared_euclidean_distance) {
-  // Sample 2-dimensional vectors.
-  arma::vec a = "1.0  2.0";
-  arma::vec b = "0.0 -2.0";
-
-  BOOST_REQUIRE_CLOSE(SquaredEuclideanDistance::Evaluate(a, b), 17.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(SquaredEuclideanDistance::Evaluate(b, a), 17.0, 1e-5);
-}
-
-/***
- * Basic test of Euclidean distance.
- */
-BOOST_AUTO_TEST_CASE(euclidean_distance) {
-  arma::vec a = "1.0 3.0 5.0 7.0";
-  arma::vec b = "4.0 0.0 2.0 0.0";
-
-  BOOST_REQUIRE_CLOSE(EuclideanDistance::Evaluate(a, b), sqrt(76.0), 1e-5);
-  BOOST_REQUIRE_CLOSE(EuclideanDistance::Evaluate(b, a), sqrt(76.0), 1e-5);
-}
-
-/***
- * Arbitrary test case for coverage.
- */
-BOOST_AUTO_TEST_CASE(arbitrary_case) {
-  arma::vec a = "3.0 5.0 6.0 7.0";
-  arma::vec b = "1.0 2.0 1.0 0.0";
-
-  BOOST_REQUIRE_CLOSE(LMetric<3>::Evaluate(a, b), 503.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(LMetric<3>::Evaluate(b, a), 503.0, 1e-5);
-
-  BOOST_REQUIRE_CLOSE((LMetric<3, true>::Evaluate(a, b)), 7.95284762, 1e-5);
-  BOOST_REQUIRE_CLOSE((LMetric<3, true>::Evaluate(b, a)), 7.95284762, 1e-5);
-}
-
-/***
- * Make sure two vectors of all zeros return zero distance, for a few different
- * powers.
- */
-BOOST_AUTO_TEST_CASE(lmetric_zeros) {
-  arma::vec a(250);
-  a.fill(0.0);
-
-  // We cannot use a loop because compilers seem to be unable to unroll the loop
-  // and realize the variable actually is knowable at compile-time.
-  BOOST_REQUIRE((LMetric<1, false>::Evaluate(a, a)) == 0);
-  BOOST_REQUIRE((LMetric<1, true>::Evaluate(a, a)) == 0);
-  BOOST_REQUIRE((LMetric<2, false>::Evaluate(a, a)) == 0);
-  BOOST_REQUIRE((LMetric<2, true>::Evaluate(a, a)) == 0);
-  BOOST_REQUIRE((LMetric<3, false>::Evaluate(a, a)) == 0);
-  BOOST_REQUIRE((LMetric<3, true>::Evaluate(a, a)) == 0);
-  BOOST_REQUIRE((LMetric<4, false>::Evaluate(a, a)) == 0);
-  BOOST_REQUIRE((LMetric<4, true>::Evaluate(a, a)) == 0);
-  BOOST_REQUIRE((LMetric<5, false>::Evaluate(a, a)) == 0);
-  BOOST_REQUIRE((LMetric<5, true>::Evaluate(a, a)) == 0);
-}
-
-/***
- * Simple test of Mahalanobis distance with unset covariance matrix.
- */
-BOOST_AUTO_TEST_CASE(md_unset_covariance) {
-  MahalanobisDistance<false> md;
-  arma::vec a = "1.0 2.0 2.0 3.0";
-  arma::vec b = "0.0 0.0 1.0 3.0";
-
-  BOOST_REQUIRE_CLOSE(md.Evaluate(a, b), 6.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(md.Evaluate(b, a), 6.0, 1e-5);
-}
-
-/***
- * Simple test of Mahalanobis distance with unset covariance matrix and
- * t_take_root set to true.
- */
-BOOST_AUTO_TEST_CASE(md_root_unset_covariance) {
-  MahalanobisDistance<true> md;
-  arma::vec a = "1.0 2.0 2.5 5.0";
-  arma::vec b = "0.0 2.0 0.5 8.0";
-
-  BOOST_REQUIRE_CLOSE(md.Evaluate(a, b), sqrt(14.0), 1e-5);
-  BOOST_REQUIRE_CLOSE(md.Evaluate(b, a), sqrt(14.0), 1e-5);
-}
-
-/***
- * Simple test with diagonal covariance matrix.
- */
-BOOST_AUTO_TEST_CASE(md_diagonal_covariance) {
-  arma::mat cov = arma::eye<arma::mat>(5, 5);
-  cov(0, 0) = 2.0;
-  cov(1, 1) = 0.5;
-  cov(2, 2) = 3.0;
-  cov(3, 3) = 1.0;
-  cov(4, 4) = 1.5;
-  MahalanobisDistance<false> md(cov);
-
-  arma::vec a = "1.0 2.0 2.0 4.0 5.0";
-  arma::vec b = "2.0 3.0 1.0 1.0 0.0";
-
-  BOOST_REQUIRE_CLOSE(md.Evaluate(a, b), 52.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(md.Evaluate(b, a), 52.0, 1e-5);
-}
-
-/***
- * More specific case with more difficult covariance matrix.
- */
-BOOST_AUTO_TEST_CASE(md_full_covariance) {
-  arma::mat cov = "1.0 2.0 3.0 4.0;"
-                  "0.5 0.6 0.7 0.1;"
-                  "3.4 4.3 5.0 6.1;"
-                  "1.0 2.0 4.0 1.0;";
-  MahalanobisDistance<false> md(cov);
-
-  arma::vec a = "1.0 2.0 2.0 4.0";
-  arma::vec b = "2.0 3.0 1.0 1.0";
-
-  BOOST_REQUIRE_CLOSE(md.Evaluate(a, b), 15.7, 1e-5);
-  BOOST_REQUIRE_CLOSE(md.Evaluate(b, a), 15.7, 1e-5);
-}
-
-/***
- * Simple test case for the cosine distance.
- */
-BOOST_AUTO_TEST_CASE(cosine_distance_same_angle) {
-  arma::vec a = "1.0 2.0 3.0";
-  arma::vec b = "2.0 4.0 6.0";
-
-  BOOST_REQUIRE_SMALL(CosineDistance::Evaluate(a, b), 1e-5);
-  BOOST_REQUIRE_SMALL(CosineDistance::Evaluate(b, a), 1e-5);
-}
-
-/***
- * Now let's have them be orthogonal.
- */
-BOOST_AUTO_TEST_CASE(cosine_distance_orthogonal) {
-  arma::vec a = "0.0 1.0";
-  arma::vec b = "1.0 0.0";
-
-  BOOST_REQUIRE_CLOSE(CosineDistance::Evaluate(a, b), 1.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(CosineDistance::Evaluate(b, a), 1.0, 1e-5);
-}
-
-/***
- * Some random angle test.
- */
-BOOST_AUTO_TEST_CASE(cosine_distance_random_test) {
-  arma::vec a = "0.1 0.2 0.3 0.4 0.5";
-  arma::vec b = "1.2 1.0 0.8 -0.3 -0.5";
-
-  BOOST_REQUIRE_CLOSE(CosineDistance::Evaluate(a, b), 1 - 0.1385349024, 1e-5);
-  BOOST_REQUIRE_CLOSE(CosineDistance::Evaluate(b, a), 1 - 0.1385349024, 1e-5);
-}
-
-/***
- * Linear Kernel test.
- */
-BOOST_AUTO_TEST_CASE(linear_kernel) {
-  arma::vec a = ".2 .3 .4 .1";
-  arma::vec b = ".56 .21 .623 .82";
-
-  LinearKernel lk;
-  BOOST_REQUIRE_CLOSE(lk.Evaluate(a,b), .5062, 1e-5);
-  BOOST_REQUIRE_CLOSE(lk.Evaluate(b,a), .5062, 1e-5);
-}
-
-/***
- * Linear Kernel test, orthogonal vectors.
- */
-BOOST_AUTO_TEST_CASE(linear_kernel_orthogonal) {
-  arma::vec a = "1 0 0";
-  arma::vec b = "0 0 1";
-
-  LinearKernel lk;
-  BOOST_REQUIRE_SMALL(lk.Evaluate(a,b), 1e-5);
-  BOOST_REQUIRE_SMALL(lk.Evaluate(b,a), 1e-5);
-}
-
-BOOST_AUTO_TEST_CASE(gaussian_kernel) {
-  arma::vec a = "1 0 0";
-  arma::vec b = "0 1 0";
-  arma::vec c = "0 0 1";
-
-  GaussianKernel gk(.5);
-  BOOST_REQUIRE_CLOSE(gk.Evaluate(a,b), .018315638888734, 1e-5);
-  BOOST_REQUIRE_CLOSE(gk.Evaluate(b,a), .018315638888734, 1e-5);
-  BOOST_REQUIRE_CLOSE(gk.Evaluate(a,c), .018315638888734, 1e-5);
-  BOOST_REQUIRE_CLOSE(gk.Evaluate(c,a), .018315638888734, 1e-5);
-  BOOST_REQUIRE_CLOSE(gk.Evaluate(b,c), .018315638888734, 1e-5);
-  BOOST_REQUIRE_CLOSE(gk.Evaluate(c,b), .018315638888734, 1e-5);
-}

Modified: mlpack/trunk/src/mlpack/core/math/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/core/math/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/core/math/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -16,11 +16,3 @@
 # Append sources (with directory name) to list of all MLPACK sources (used at
 # the parent scope).
 set(MLPACK_SRCS ${MLPACK_SRCS} ${DIR_SRCS} PARENT_SCOPE)
-
-add_executable(math_test
-  math_test.cpp
-)
-target_link_libraries(math_test
-  mlpack
-  boost_unit_test_framework
-)

Deleted: mlpack/trunk/src/mlpack/core/math/math_test.cpp
===================================================================
--- mlpack/trunk/src/mlpack/core/math/math_test.cpp	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/core/math/math_test.cpp	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,521 +0,0 @@
-/***
- * @file math_test.cpp
- * @author Ryan Curtin
- *
- * Tests for everything in the math:: namespace.
- */
-#include "range.hpp"
-#include "math_misc.hpp"
-
-#define BOOST_TEST_MODULE Math_Test
-#include <boost/test/unit_test.hpp>
-
-using namespace mlpack;
-using namespace math;
-
-/***
- * Verify that the empty constructor creates an empty range.
- */
-BOOST_AUTO_TEST_CASE(RangeEmptyConstructor)
-{
-  Range x = Range();
-
-  // Just verify that it is empty.
-  BOOST_REQUIRE_GT(x.lo, x.hi);
-}
-
-/***
- * Verify that the point constructor correctly creates a range that is just a
- * point.
- */
-BOOST_AUTO_TEST_CASE(RangePointConstructor)
-{
-  Range x(10.0);
-
-  BOOST_REQUIRE_CLOSE(x.lo, x.hi, 1e-25);
-  BOOST_REQUIRE_SMALL(x.width(), 1e-5);
-  BOOST_REQUIRE_CLOSE(x.lo, 10.0, 1e-25);
-  BOOST_REQUIRE_CLOSE(x.hi, 10.0, 1e-25);
-}
-
-/***
- * Verify that the range constructor correctly creates the range.
- */
-BOOST_AUTO_TEST_CASE(RangeConstructor)
-{
-  Range x(0.5, 5.5);
-
-  BOOST_REQUIRE_CLOSE(x.lo, 0.5, 1e-25);
-  BOOST_REQUIRE_CLOSE(x.hi, 5.5, 1e-25);
-}
-
-/***
- * Test that we get the width correct.
- */
-BOOST_AUTO_TEST_CASE(RangeWidth)
-{
-  Range x(0.0, 10.0);
-
-  BOOST_REQUIRE_CLOSE(x.width(), 10.0, 1e-20);
-
-  // Make it empty.
-  x.hi = 0.0;
-
-  BOOST_REQUIRE_SMALL(x.width(), 1e-5);
-
-  // Make it negative.
-  x.hi = -2.0;
-
-  BOOST_REQUIRE_SMALL(x.width(), 1e-5);
-
-  // Just one more test.
-  x.lo = -5.2;
-  x.hi = 5.2;
-
-  BOOST_REQUIRE_CLOSE(x.width(), 10.4, 1e-5);
-}
-
-/**
- * Test that we get the midpoint correct.
- */
-BOOST_AUTO_TEST_CASE(RangeMidpoint)
-{
-  Range x(0.0, 10.0);
-
-  BOOST_REQUIRE_CLOSE(x.mid(), 5.0, 1e-5);
-
-  x.lo = -5.0;
-
-  BOOST_REQUIRE_CLOSE(x.mid(), 2.5, 1e-5);
-}
-
-/***
- * Test that we can expand to include other ranges correctly.
- */
-BOOST_AUTO_TEST_CASE(RangeIncludeOther)
-{
-  // We need to test both |= and |.
-  // We have three cases: non-overlapping; overlapping; equivalent, and then a
-  // couple permutations (switch left with right and make sure it still works).
-  Range x(0.0, 2.0);
-  Range y(3.0, 5.0);
-
-  Range z(0.0, 2.0); // Used for operator|=().
-  Range w;
-  z |= y;
-  w = x | y;
-
-  BOOST_REQUIRE_SMALL(z.lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, 5.0, 1e-5);
-  BOOST_REQUIRE_SMALL(w.lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, 5.0, 1e-5);
-
-  // Switch operator precedence.
-  z = y;
-  z |= x;
-  w = y | x;
-
-  BOOST_REQUIRE_SMALL(z.lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, 5.0, 1e-5);
-  BOOST_REQUIRE_SMALL(w.lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, 5.0, 1e-5);
-
-  // Now make them overlapping.
-  x = Range(0.0, 3.5);
-  y = Range(3.0, 4.0);
-
-  z = x;
-  z |= y;
-  w = x | y;
-
-  BOOST_REQUIRE_SMALL(z.lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, 4.0, 1e-5);
-  BOOST_REQUIRE_SMALL(w.lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, 4.0, 1e-5);
-
-  // Switch operator precedence.
-  z = y;
-  z |= x;
-  w = y | x;
-
-  BOOST_REQUIRE_SMALL(z.lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, 4.0, 1e-5);
-  BOOST_REQUIRE_SMALL(w.lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, 4.0, 1e-5);
-
-  // Now the equivalent case.
-  x = Range(0.0, 2.0);
-  y = Range(0.0, 2.0);
-
-  z = x;
-  z |= y;
-  w = x | y;
-
-  BOOST_REQUIRE_SMALL(z.lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, 2.0, 1e-5);
-  BOOST_REQUIRE_SMALL(w.lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, 2.0, 1e-5);
-
-  z = y;
-  z |= x;
-  w = y | x;
-
-  BOOST_REQUIRE_SMALL(z.lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, 2.0, 1e-5);
-  BOOST_REQUIRE_SMALL(w.lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, 2.0, 1e-5);
-}
-
-/***
- * Test that we can 'and' ranges correctly.
- */
-BOOST_AUTO_TEST_CASE(RangeIntersectOther)
-{
-  // We need to test both &= and &.
-  // We have three cases: non-overlapping, overlapping; equivalent, and then a
-  // couple permutations (switch left with right and make sure it still works).
-  Range x(0.0, 2.0);
-  Range y(3.0, 5.0);
-
-  Range z(0.0, 2.0);
-  Range w;
-  z &= y;
-  w = x & y;
-
-  BOOST_REQUIRE_SMALL(z.width(), 1e-5);
-  BOOST_REQUIRE_SMALL(w.width(), 1e-5);
-
-  // Reverse operator precedence.
-  z = y;
-  z &= x;
-  w = y & x;
-
-  BOOST_REQUIRE_SMALL(z.width(), 1e-5);
-  BOOST_REQUIRE_SMALL(w.width(), 1e-5);
-
-  // Now make them overlapping.
-  x = Range(0.0, 3.5);
-  y = Range(3.0, 4.0);
-
-  z = x;
-  z &= y;
-  w = x & y;
-
-  BOOST_REQUIRE_CLOSE(z.lo, 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, 3.5, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.lo, 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, 3.5, 1e-5);
-
-  // Reverse operator precedence.
-  z = y;
-  z &= x;
-  w = y & x;
-
-  BOOST_REQUIRE_CLOSE(z.lo, 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, 3.5, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.lo, 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, 3.5, 1e-5);
-
-  // Now make them equivalent.
-  x = Range(2.0, 4.0);
-  y = Range(2.0, 4.0);
-
-  z = x;
-  z &= y;
-  w = x & y;
-
-  BOOST_REQUIRE_CLOSE(z.lo, 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, 4.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.lo, 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, 4.0, 1e-5);
-}
-
-/**
- * Test multiplication of a range with a double.
- */
-BOOST_AUTO_TEST_CASE(RangeMultiply)
-{
-  // We need to test both * and *=, as well as both cases of *.
-  // We'll try with a couple of numbers: -1, 0, 2.
-  // And we'll have a couple of cases for bounds: strictly less than zero;
-  // including zero; and strictly greater than zero.
-  //
-  // So, nine total cases.
-  Range x(-5.0, -3.0);
-  Range y(-5.0, -3.0);
-  Range z;
-  Range w;
-
-  y *= -1.0;
-  z = x * -1.0;
-  w = -1.0 * x;
-
-  BOOST_REQUIRE_CLOSE(y.lo, 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(y.hi, 5.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.lo, 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, 5.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.lo, 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, 5.0, 1e-5);
-
-  y = x;
-  y *= 0.0;
-  z = x * 0.0;
-  w = 0.0 * x;
-
-  BOOST_REQUIRE_SMALL(y.lo, 1e-5);
-  BOOST_REQUIRE_SMALL(y.hi, 1e-5);
-  BOOST_REQUIRE_SMALL(z.lo, 1e-5);
-  BOOST_REQUIRE_SMALL(z.hi, 1e-5);
-  BOOST_REQUIRE_SMALL(w.lo, 1e-5);
-  BOOST_REQUIRE_SMALL(w.hi, 1e-5);
-
-  y = x;
-  y *= 2.0;
-  z = x * 2.0;
-  w = 2.0 * x;
-
-  BOOST_REQUIRE_CLOSE(y.lo, -10.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(y.hi, -6.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.lo, -10.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, -6.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.lo, -10.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, -6.0, 1e-5);
-
-  x = Range(-2.0, 2.0);
-  y = x;
-
-  y *= -1.0;
-  z = x * -1.0;
-  w = -1.0 * x;
-
-  BOOST_REQUIRE_CLOSE(y.lo, -2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(y.hi, 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.lo, -2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.lo, -2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, 2.0, 1e-5);
-
-  y = x;
-  y *= 0.0;
-  z = x * 0.0;
-  w = 0.0 * x;
-
-  BOOST_REQUIRE_SMALL(y.lo, 1e-5);
-  BOOST_REQUIRE_SMALL(y.hi, 1e-5);
-  BOOST_REQUIRE_SMALL(z.lo, 1e-5);
-  BOOST_REQUIRE_SMALL(z.hi, 1e-5);
-  BOOST_REQUIRE_SMALL(w.lo, 1e-5);
-  BOOST_REQUIRE_SMALL(w.hi, 1e-5);
-
-  y = x;
-  y *= 2.0;
-  z = x * 2.0;
-  w = 2.0 * x;
-
-  BOOST_REQUIRE_CLOSE(y.lo, -4.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(y.hi, 4.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.lo, -4.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, 4.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.lo, -4.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, 4.0, 1e-5);
-
-  x = Range(3.0, 5.0);
-
-  y = x;
-  y *= -1.0;
-  z = x * -1.0;
-  w = -1.0 * x;
-
-  BOOST_REQUIRE_CLOSE(y.lo, -5.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(y.hi, -3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.lo, -5.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, -3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.lo, -5.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, -3.0, 1e-5);
-
-  y = x;
-  y *= 0.0;
-  z = x * 0.0;
-  w = 0.0 * x;
-
-  BOOST_REQUIRE_SMALL(y.lo, 1e-5);
-  BOOST_REQUIRE_SMALL(y.hi, 1e-5);
-  BOOST_REQUIRE_SMALL(z.lo, 1e-5);
-  BOOST_REQUIRE_SMALL(z.hi, 1e-5);
-  BOOST_REQUIRE_SMALL(w.lo, 1e-5);
-  BOOST_REQUIRE_SMALL(w.hi, 1e-5);
-
-  y = x;
-  y *= 2.0;
-  z = x * 2.0;
-  w = 2.0 * x;
-
-  BOOST_REQUIRE_CLOSE(y.lo, 6.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(y.hi, 10.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.lo, 6.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(z.hi, 10.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.lo, 6.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(w.hi, 10.0, 1e-5);
-}
-
-/**
- * Test equality operator.
- */
-BOOST_AUTO_TEST_CASE(RangeEquality)
-{
-  // Three cases: non-overlapping, overlapping, equivalent.  We should also
-  // consider empty ranges, which are not necessarily equal...
-  Range x(0.0, 2.0);
-  Range y(3.0, 5.0);
-
-  // These are odd calls, but we don't want to use operator!= here.
-  BOOST_REQUIRE_EQUAL((x == y), false);
-  BOOST_REQUIRE_EQUAL((y == x), false);
-
-  y = Range(1.0, 3.0);
-
-  BOOST_REQUIRE_EQUAL((x == y), false);
-  BOOST_REQUIRE_EQUAL((y == x), false);
-
-  y = Range(0.0, 2.0);
-
-  BOOST_REQUIRE_EQUAL((x == y), true);
-  BOOST_REQUIRE_EQUAL((y == x), true);
-
-  x = Range(1.0, -1.0); // Empty.
-  y = Range(1.0, -1.0); // Also empty.
-
-  BOOST_REQUIRE_EQUAL((x == y), true);
-  BOOST_REQUIRE_EQUAL((y == x), true);
-
-  // No need to test what it does if the empty ranges are different "ranges"
-  // because we are not forcing behavior for that.
-}
-
-/**
- * Test inequality operator.
- */
-BOOST_AUTO_TEST_CASE(RangeInequality)
-{
-  // We will use the same three cases as the RangeEquality test.
-  Range x(0.0, 2.0);
-  Range y(3.0, 5.0);
-
-  // Again, odd calls, but we want to force use of operator!=.
-  BOOST_REQUIRE_EQUAL((x != y), true);
-  BOOST_REQUIRE_EQUAL((y != x), true);
-
-  y = Range(1.0, 3.0);
-
-  BOOST_REQUIRE_EQUAL((x != y), true);
-  BOOST_REQUIRE_EQUAL((y != x), true);
-
-  y = Range(0.0, 2.0);
-
-  BOOST_REQUIRE_EQUAL((x != y), false);
-  BOOST_REQUIRE_EQUAL((y != x), false);
-
-  x = Range(1.0, -1.0); // Empty.
-  y = Range(1.0, -1.0); // Also empty.
-
-  BOOST_REQUIRE_EQUAL((x != y), false);
-  BOOST_REQUIRE_EQUAL((y != x), false);
-}
-
-/**
- * Test strict less-than operator.
- */
-BOOST_AUTO_TEST_CASE(RangeStrictLessThan)
-{
-  // Three cases: non-overlapping, overlapping, and equivalent.
-  Range x(0.0, 2.0);
-  Range y(3.0, 5.0);
-
-  BOOST_REQUIRE_EQUAL((x < y), true);
-  BOOST_REQUIRE_EQUAL((y < x), false);
-
-  y = Range(1.0, 3.0);
-
-  BOOST_REQUIRE_EQUAL((x < y), false);
-  BOOST_REQUIRE_EQUAL((y < x), false);
-
-  y = Range(0.0, 2.0);
-
-  BOOST_REQUIRE_EQUAL((x < y), false);
-  BOOST_REQUIRE_EQUAL((y < x), false);
-}
-
-/**
- * Test strict greater-than operator.
- */
-BOOST_AUTO_TEST_CASE(RangeStrictGreaterThan)
-{
-  // Three cases: non-overlapping, overlapping, and equivalent.
-  Range x(0.0, 2.0);
-  Range y(3.0, 5.0);
-
-  BOOST_REQUIRE_EQUAL((x > y), false);
-  BOOST_REQUIRE_EQUAL((y > x), true);
-
-  y = Range(1.0, 3.0);
-
-  BOOST_REQUIRE_EQUAL((x > y), false);
-  BOOST_REQUIRE_EQUAL((y > x), false);
-
-  y = Range(0.0, 2.0);
-
-  BOOST_REQUIRE_EQUAL((x > y), false);
-  BOOST_REQUIRE_EQUAL((y > x), false);
-}
-
-/**
- * Test the Contains() operator.
- */
-BOOST_AUTO_TEST_CASE(RangeContains)
-{
-  // We have three Range cases: strictly less than 0; overlapping 0; and
-  // strictly greater than 0.  Then the numbers we check can be the same three
-  // cases, including one greater than and one less than the range.  This should
-  // be about 15 total cases.
-  Range x(-2.0, -1.0);
-
-  BOOST_REQUIRE(!x.Contains(-3.0));
-  BOOST_REQUIRE(x.Contains(-2.0));
-  BOOST_REQUIRE(x.Contains(-1.5));
-  BOOST_REQUIRE(x.Contains(-1.0));
-  BOOST_REQUIRE(!x.Contains(-0.5));
-  BOOST_REQUIRE(!x.Contains(0.0));
-  BOOST_REQUIRE(!x.Contains(1.0));
-
-  x = Range(-1.0, 1.0);
-
-  BOOST_REQUIRE(!x.Contains(-2.0));
-  BOOST_REQUIRE(x.Contains(-1.0));
-  BOOST_REQUIRE(x.Contains(0.0));
-  BOOST_REQUIRE(x.Contains(1.0));
-  BOOST_REQUIRE(!x.Contains(2.0));
-
-  x = Range(1.0, 2.0);
-
-  BOOST_REQUIRE(!x.Contains(-1.0));
-  BOOST_REQUIRE(!x.Contains(0.0));
-  BOOST_REQUIRE(!x.Contains(0.5));
-  BOOST_REQUIRE(x.Contains(1.0));
-  BOOST_REQUIRE(x.Contains(1.5));
-  BOOST_REQUIRE(x.Contains(2.0));
-  BOOST_REQUIRE(!x.Contains(2.5));
-
-  // Now let's try it on an empty range.
-  x = Range();
-
-  BOOST_REQUIRE(!x.Contains(-10.0));
-  BOOST_REQUIRE(!x.Contains(0.0));
-  BOOST_REQUIRE(!x.Contains(10.0));
-
-  // And an infinite range.
-  x = Range(-DBL_MAX, DBL_MAX);
-
-  BOOST_REQUIRE(x.Contains(-10.0));
-  BOOST_REQUIRE(x.Contains(0.0));
-  BOOST_REQUIRE(x.Contains(10.0));
-}

Modified: mlpack/trunk/src/mlpack/core/tree/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/core/tree/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/core/tree/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -23,13 +23,3 @@
 # Append sources (with directory name) to list of all MLPACK sources (used at
 # the parent scope).
 set(MLPACK_SRCS ${MLPACK_SRCS} ${DIR_SRCS} PARENT_SCOPE)
-
-# test executable
-add_executable(tree_test
-  tree_test.cpp
-)
-# link dependencies of test executable
-target_link_libraries(tree_test
-  mlpack
-  boost_unit_test_framework
-)

Deleted: mlpack/trunk/src/mlpack/core/tree/tree_test.cpp
===================================================================
--- mlpack/trunk/src/mlpack/core/tree/tree_test.cpp	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/core/tree/tree_test.cpp	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,1037 +0,0 @@
-/**
- * @file uselapack_test.cc
- *
- * Tests for LAPACK integration.
- */
-
-#include "bounds.hpp"
-#include "binary_space_tree.hpp"
-#include <mlpack/core/kernels/lmetric.hpp>
-#include <vector>
-
-#define BOOST_TEST_MODULE Tree_Test
-#include <boost/test/unit_test.hpp>
-
-using namespace mlpack;
-using namespace mlpack::math;
-using namespace mlpack::tree;
-using namespace mlpack::kernel;
-using namespace mlpack::bound;
-
-/***
- * Ensure that a bound, by default, is empty and has no dimensionality.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundEmptyConstructor) {
-  HRectBound<2> b;
-
-  BOOST_REQUIRE_EQUAL(b.dim(), 0);
-}
-
-/***
- * Ensure that when we specify the dimensionality in the constructor, it is
- * correct, and the bounds are all the empty set.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundDimConstructor) {
-  HRectBound<2> b(2); // We'll do this with 2 and 5 dimensions.
-
-  BOOST_REQUIRE_EQUAL(b.dim(), 2);
-  BOOST_REQUIRE_SMALL(b[0].width(), 1e-5);
-  BOOST_REQUIRE_SMALL(b[1].width(), 1e-5);
-
-  b = HRectBound<2>(5);
-
-  BOOST_REQUIRE_EQUAL(b.dim(), 5);
-  BOOST_REQUIRE_SMALL(b[0].width(), 1e-5);
-  BOOST_REQUIRE_SMALL(b[1].width(), 1e-5);
-  BOOST_REQUIRE_SMALL(b[2].width(), 1e-5);
-  BOOST_REQUIRE_SMALL(b[3].width(), 1e-5);
-  BOOST_REQUIRE_SMALL(b[4].width(), 1e-5);
-}
-
-/***
- * Test the copy constructor.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundCopyConstructor) {
-  HRectBound<2> b(2);
-  b[0] = Range(0.0, 2.0);
-  b[1] = Range(2.0, 3.0);
-
-  HRectBound<2> c(b);
-
-  BOOST_REQUIRE_EQUAL(c.dim(), 2);
-  BOOST_REQUIRE_SMALL(c[0].lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(c[0].hi, 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c[1].lo, 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c[1].hi, 3.0, 1e-5);
-}
-
-/***
- * Test the assignment operator.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundAssignmentOperator) {
-  HRectBound<2> b(2);
-  b[0] = Range(0.0, 2.0);
-  b[1] = Range(2.0, 3.0);
-
-  HRectBound<2> c(4);
-
-  c = b;
-
-  BOOST_REQUIRE_EQUAL(c.dim(), 2);
-  BOOST_REQUIRE_SMALL(c[0].lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(c[0].hi, 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c[1].lo, 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c[1].hi, 3.0, 1e-5);
-}
-
-/***
- * Test that clearing the dimensions resets the bound to empty.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundClear) {
-  HRectBound<2> b(2); // We'll do this with two dimensions only.
-
-  b[0] = Range(0.0, 2.0);
-  b[1] = Range(2.0, 4.0);
-
-  // Now we just need to make sure that we clear the range.
-  b.Clear();
-
-  BOOST_REQUIRE_SMALL(b[0].width(), 1e-5);
-  BOOST_REQUIRE_SMALL(b[1].width(), 1e-5);
-}
-
-/***
- * Ensure that we get the correct centroid for our bound.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundCentroid) {
-  // Create a simple 3-dimensional bound.
-  HRectBound<2> b(3);
-
-  b[0] = Range(0.0, 5.0);
-  b[1] = Range(-2.0, -1.0);
-  b[2] = Range(-10.0, 50.0);
-
-  arma::vec centroid;
-
-  b.Centroid(centroid);
-
-  BOOST_REQUIRE_EQUAL(centroid.n_elem, 3);
-  BOOST_REQUIRE_CLOSE(centroid[0], 2.5, 1e-5);
-  BOOST_REQUIRE_CLOSE(centroid[1], -1.5, 1e-5);
-  BOOST_REQUIRE_CLOSE(centroid[2], 20.0, 1e-5);
-}
-
-/***
- * Ensure that we calculate the correct minimum distance between a point and a
- * bound.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundMinDistancePoint) {
-  // We'll do the calculation in five dimensions, and we'll use three cases for
-  // the point: point is outside the bound; point is on the edge of the bound;
-  // point is inside the bound.  In the latter two cases, the distance should be
-  // zero.
-  HRectBound<2> b(5);
-
-  b[0] = Range(0.0, 2.0);
-  b[1] = Range(1.0, 5.0);
-  b[2] = Range(-2.0, 2.0);
-  b[3] = Range(-5.0, -2.0);
-  b[4] = Range(1.0, 2.0);
-
-  arma::vec point = "-2.0 0.0 10.0 3.0 3.0";
-
-  // This will be the Euclidean squared distance.
-  BOOST_REQUIRE_CLOSE(b.MinDistance(point), 95.0, 1e-5);
-
-  point = "2.0 5.0 2.0 -5.0 1.0";
-
-  BOOST_REQUIRE_SMALL(b.MinDistance(point), 1e-5);
-
-  point = "1.0 2.0 0.0 -2.0 1.5";
-
-  BOOST_REQUIRE_SMALL(b.MinDistance(point), 1e-5);
-}
-
-/***
- * Ensure that we calculate the correct minimum distance between a bound and
- * another bound.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundMinDistanceBound) {
-  // We'll do the calculation in five dimensions, and we can use six cases.
-  // The other bound is completely outside the bound; the other bound is on the
-  // edge of the bound; the other bound partially overlaps the bound; the other
-  // bound fully overlaps the bound; the other bound is entirely inside the
-  // bound; the other bound entirely envelops the bound.
-  HRectBound<2> b(5);
-
-  b[0] = Range(0.0, 2.0);
-  b[1] = Range(1.0, 5.0);
-  b[2] = Range(-2.0, 2.0);
-  b[3] = Range(-5.0, -2.0);
-  b[4] = Range(1.0, 2.0);
-
-  HRectBound<2> c(5);
-
-  // The other bound is completely outside the bound.
-  c[0] = Range(-5.0, -2.0);
-  c[1] = Range(6.0, 7.0);
-  c[2] = Range(-2.0, 2.0);
-  c[3] = Range(2.0, 5.0);
-  c[4] = Range(3.0, 4.0);
-
-  BOOST_REQUIRE_CLOSE(b.MinDistance(c), 22.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c.MinDistance(b), 22.0, 1e-5);
-
-  // The other bound is on the edge of the bound.
-  c[0] = Range(-2.0, 0.0);
-  c[1] = Range(0.0, 1.0);
-  c[2] = Range(-3.0, -2.0);
-  c[3] = Range(-10.0, -5.0);
-  c[4] = Range(2.0, 3.0);
-
-  BOOST_REQUIRE_SMALL(b.MinDistance(c), 1e-5);
-  BOOST_REQUIRE_SMALL(c.MinDistance(b), 1e-5);
-
-  // The other bound partially overlaps the bound.
-  c[0] = Range(-2.0, 1.0);
-  c[1] = Range(0.0, 2.0);
-  c[2] = Range(-2.0, 2.0);
-  c[3] = Range(-8.0, -4.0);
-  c[4] = Range(0.0, 4.0);
-
-  BOOST_REQUIRE_SMALL(b.MinDistance(c), 1e-5);
-  BOOST_REQUIRE_SMALL(c.MinDistance(b), 1e-5);
-
-  // The other bound fully overlaps the bound.
-  BOOST_REQUIRE_SMALL(b.MinDistance(b), 1e-5);
-  BOOST_REQUIRE_SMALL(c.MinDistance(c), 1e-5);
-
-  // The other bound is entirely inside the bound / the other bound entirely
-  // envelops the bound.
-  c[0] = Range(-1.0, 3.0);
-  c[1] = Range(0.0, 6.0);
-  c[2] = Range(-3.0, 3.0);
-  c[3] = Range(-7.0, 0.0);
-  c[4] = Range(0.0, 5.0);
-
-  BOOST_REQUIRE_SMALL(b.MinDistance(c), 1e-5);
-  BOOST_REQUIRE_SMALL(c.MinDistance(b), 1e-5);
-}
-
-/***
- * Ensure that we calculate the correct maximum distance between a bound and a
- * point.  This uses the same test cases as the MinDistance test.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundMaxDistancePoint) {
-  // We'll do the calculation in five dimensions, and we'll use three cases for
-  // the point: point is outside the bound; point is on the edge of the bound;
-  // point is inside the bound.  In the latter two cases, the distance should be
-  // zero.
-  HRectBound<2> b(5);
-
-  b[0] = Range(0.0, 2.0);
-  b[1] = Range(1.0, 5.0);
-  b[2] = Range(-2.0, 2.0);
-  b[3] = Range(-5.0, -2.0);
-  b[4] = Range(1.0, 2.0);
-
-  arma::vec point = "-2.0 0.0 10.0 3.0 3.0";
-
-  // This will be the Euclidean squared distance.
-  BOOST_REQUIRE_CLOSE(b.MaxDistance(point), 253.0, 1e-5);
-
-  point = "2.0 5.0 2.0 -5.0 1.0";
-
-  BOOST_REQUIRE_CLOSE(b.MaxDistance(point), 46.0, 1e-5);
-
-  point = "1.0 2.0 0.0 -2.0 1.5";
-
-  BOOST_REQUIRE_CLOSE(b.MaxDistance(point), 23.25, 1e-5);
-}
-
-/***
- * Ensure that we calculate the correct maximum distance between a bound and
- * another bound.  This uses the same test cases as the MinDistance test.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundMaxDistanceBound) {
-  // We'll do the calculation in five dimensions, and we can use six cases.
-  // The other bound is completely outside the bound; the other bound is on the
-  // edge of the bound; the other bound partially overlaps the bound; the other
-  // bound fully overlaps the bound; the other bound is entirely inside the
-  // bound; the other bound entirely envelops the bound.
-  HRectBound<2> b(5);
-
-  b[0] = Range(0.0, 2.0);
-  b[1] = Range(1.0, 5.0);
-  b[2] = Range(-2.0, 2.0);
-  b[3] = Range(-5.0, -2.0);
-  b[4] = Range(1.0, 2.0);
-
-  HRectBound<2> c(5);
-
-  // The other bound is completely outside the bound.
-  c[0] = Range(-5.0, -2.0);
-  c[1] = Range(6.0, 7.0);
-  c[2] = Range(-2.0, 2.0);
-  c[3] = Range(2.0, 5.0);
-  c[4] = Range(3.0, 4.0);
-
-  BOOST_REQUIRE_CLOSE(b.MaxDistance(c), 210.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c.MaxDistance(b), 210.0, 1e-5);
-
-  // The other bound is on the edge of the bound.
-  c[0] = Range(-2.0, 0.0);
-  c[1] = Range(0.0, 1.0);
-  c[2] = Range(-3.0, -2.0);
-  c[3] = Range(-10.0, -5.0);
-  c[4] = Range(2.0, 3.0);
-
-  BOOST_REQUIRE_CLOSE(b.MaxDistance(c), 134.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c.MaxDistance(b), 134.0, 1e-5);
-
-  // The other bound partially overlaps the bound.
-  c[0] = Range(-2.0, 1.0);
-  c[1] = Range(0.0, 2.0);
-  c[2] = Range(-2.0, 2.0);
-  c[3] = Range(-8.0, -4.0);
-  c[4] = Range(0.0, 4.0);
-
-  BOOST_REQUIRE_CLOSE(b.MaxDistance(c), 102.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c.MaxDistance(b), 102.0, 1e-5);
-
-  // The other bound fully overlaps the bound.
-  BOOST_REQUIRE_CLOSE(b.MaxDistance(b), 46.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c.MaxDistance(c), 61.0, 1e-5);
-
-  // The other bound is entirely inside the bound / the other bound entirely
-  // envelops the bound.
-  c[0] = Range(-1.0, 3.0);
-  c[1] = Range(0.0, 6.0);
-  c[2] = Range(-3.0, 3.0);
-  c[3] = Range(-7.0, 0.0);
-  c[4] = Range(0.0, 5.0);
-
-  BOOST_REQUIRE_CLOSE(b.MaxDistance(c), 100.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c.MaxDistance(b), 100.0, 1e-5);
-
-  // One last additional case.  If the bound encloses only one point, the
-  // maximum distance between it and itself is 0.
-  HRectBound<2> d(2);
-
-  d[0] = Range(2.0, 2.0);
-  d[1] = Range(3.0, 3.0);
-
-  BOOST_REQUIRE_SMALL(d.MaxDistance(d), 1e-5);
-}
-
-/***
- * Ensure that the ranges returned by RangeDistance() are equal to the minimum
- * and maximum distance.  We will perform this test by creating random bounds
- * and comparing the behavior to MinDistance() and MaxDistance() -- so this test
- * is assuming that those passed and operate correctly.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundRangeDistanceBound) {
-  srand(time(NULL));
-
-  for (int i = 0; i < 50; i++) {
-    size_t dim = rand() % 20;
-
-    HRectBound<2> a(dim);
-    HRectBound<2> b(dim);
-
-    // We will set the low randomly and the width randomly for each dimension of
-    // each bound.
-    arma::vec lo_a(dim);
-    arma::vec width_a(dim);
-
-    lo_a.randu();
-    width_a.randu();
-
-    arma::vec lo_b(dim);
-    arma::vec width_b(dim);
-
-    lo_b.randu();
-    width_b.randu();
-
-    for (size_t j = 0; j < dim; j++) {
-      a[j] = Range(lo_a[j], lo_a[j] + width_a[j]);
-      b[j] = Range(lo_b[j], lo_b[j] + width_b[j]);
-    }
-
-    // Now ensure that MinDistance and MaxDistance report the same.
-    Range r = a.RangeDistance(b);
-    Range s = b.RangeDistance(a);
-
-    BOOST_REQUIRE_CLOSE(r.lo, s.lo, 1e-5);
-    BOOST_REQUIRE_CLOSE(r.hi, s.hi, 1e-5);
-
-    BOOST_REQUIRE_CLOSE(r.lo, a.MinDistance(b), 1e-5);
-    BOOST_REQUIRE_CLOSE(r.hi, a.MaxDistance(b), 1e-5);
-
-    BOOST_REQUIRE_CLOSE(s.lo, b.MinDistance(a), 1e-5);
-    BOOST_REQUIRE_CLOSE(s.hi, b.MaxDistance(a), 1e-5);
-  }
-}
-
-/***
- * Ensure that the ranges returned by RangeDistance() are equal to the minimum
- * and maximum distance.  We will perform this test by creating random bounds
- * and comparing the bheavior to MinDistance() and MaxDistance() -- so this test
- * is assuming that those passed and operate correctly.  This is for the
- * bound-to-point case.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundRangeDistancePoint) {
-  srand(time(NULL));
-
-  for (int i = 0; i < 20; i++) {
-    size_t dim = rand() % 20;
-
-    HRectBound<2> a(dim);
-
-    // We will set the low randomly and the width randomly for each dimension of
-    // each bound.
-    arma::vec lo_a(dim);
-    arma::vec width_a(dim);
-
-    lo_a.randu();
-    width_a.randu();
-
-    for (size_t j = 0; j < dim; j++)
-      a[j] = Range(lo_a[j], lo_a[j] + width_a[j]);
-
-    // Now run the test on a few points.
-    for (int j = 0; j < 10; j++) {
-      arma::vec point(dim);
-
-      point.randu();
-
-      Range r = a.RangeDistance(point);
-
-      BOOST_REQUIRE_CLOSE(r.lo, a.MinDistance(point), 1e-5);
-      BOOST_REQUIRE_CLOSE(r.hi, a.MaxDistance(point), 1e-5);
-    }
-  }
-}
-
-/***
- * Test that we can expand the bound to include a new point.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundOrOperatorPoint) {
-  // Because this should be independent in each dimension, we can essentially
-  // run five test cases at once.
-  HRectBound<2> b(5);
-
-  b[0] = Range(1.0, 3.0);
-  b[1] = Range(2.0, 4.0);
-  b[2] = Range(-2.0, -1.0);
-  b[3] = Range(0.0, 0.0);
-  b[4] = Range(); // Empty range.
-
-  arma::vec point = "2.0 4.0 2.0 -1.0 6.0";
-
-  b |= point;
-
-  BOOST_REQUIRE_CLOSE(b[0].lo, 1.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[0].hi, 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[1].lo, 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[1].hi, 4.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[2].lo, -2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[2].hi, 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[3].lo, -1.0, 1e-5);
-  BOOST_REQUIRE_SMALL(b[3].hi, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[4].lo, 6.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[4].hi, 6.0, 1e-5);
-}
-
-/***
- * Test that we can expand the bound to include another bound.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundOrOperatorBound) {
-  // Because this should be independent in each dimension, we can run many tests
-  // at once.
-  HRectBound<2> b(8);
-
-  b[0] = Range(1.0, 3.0);
-  b[1] = Range(2.0, 4.0);
-  b[2] = Range(-2.0, -1.0);
-  b[3] = Range(4.0, 5.0);
-  b[4] = Range(2.0, 4.0);
-  b[5] = Range(0.0, 0.0);
-  b[6] = Range();
-  b[7] = Range(1.0, 3.0);
-
-  HRectBound<2> c(8);
-
-  c[0] = Range(-3.0, -1.0); // Entirely less than the other bound.
-  c[1] = Range(0.0, 2.0); // Touching edges.
-  c[2] = Range(-3.0, -1.5); // Partially overlapping.
-  c[3] = Range(4.0, 5.0); // Identical.
-  c[4] = Range(1.0, 5.0); // Entirely enclosing.
-  c[5] = Range(2.0, 2.0); // A single point.
-  c[6] = Range(1.0, 3.0);
-  c[7] = Range(); // Empty set.
-
-  HRectBound<2> d = c;
-
-  b |= c;
-  d |= b;
-
-  BOOST_REQUIRE_CLOSE(b[0].lo, -3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[0].hi, 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[0].lo, -3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[0].hi, 3.0, 1e-5);
-
-  BOOST_REQUIRE_CLOSE(b[1].lo, 0.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[1].hi, 4.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[1].lo, 0.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[1].hi, 4.0, 1e-5);
-
-  BOOST_REQUIRE_CLOSE(b[2].lo, -3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[2].hi, -1.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[2].lo, -3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[2].hi, -1.0, 1e-5);
-
-  BOOST_REQUIRE_CLOSE(b[3].lo, 4.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[3].hi, 5.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[3].lo, 4.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[3].hi, 5.0, 1e-5);
-
-  BOOST_REQUIRE_CLOSE(b[4].lo, 1.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[4].hi, 5.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[4].lo, 1.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[4].hi, 5.0, 1e-5);
-
-  BOOST_REQUIRE_SMALL(b[5].lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[5].hi, 2.0, 1e-5);
-  BOOST_REQUIRE_SMALL(d[5].lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[5].hi, 2.0, 1e-5);
-
-  BOOST_REQUIRE_CLOSE(b[6].lo, 1.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[6].hi, 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[6].lo, 1.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[6].hi, 3.0, 1e-5);
-
-  BOOST_REQUIRE_CLOSE(b[7].lo, 1.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b[7].hi, 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[7].lo, 1.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d[7].hi, 3.0, 1e-5);
-}
-
-/***
- * Test that the Contains() function correctly figures out whether or not a
- * point is in a bound.
- */
-BOOST_AUTO_TEST_CASE(HRectBoundContains) {
-  // We can test a couple different points: completely outside the bound,
-  // adjacent in one dimension to the bound, adjacent in all dimensions to the
-  // bound, and inside the bound.
-  HRectBound<2> b(3);
-
-  b[0] = Range(0.0, 2.0);
-  b[1] = Range(0.0, 2.0);
-  b[2] = Range(0.0, 2.0);
-
-  // Completely outside the range.
-  arma::vec point = "-1.0 4.0 4.0";
-  BOOST_REQUIRE(!b.Contains(point));
-
-  // Completely outside, but one dimension is in the range.
-  point = "-1.0 4.0 1.0";
-  BOOST_REQUIRE(!b.Contains(point));
-
-  // Outside, but one dimension is on the edge.
-  point = "-1.0 0.0 3.0";
-  BOOST_REQUIRE(!b.Contains(point));
-
-  // Two dimensions are on the edge, but one is outside.
-  point = "0.0 0.0 3.0";
-  BOOST_REQUIRE(!b.Contains(point));
-
-  // Completely on the edge (should be contained).
-  point = "0.0 0.0 0.0";
-  BOOST_REQUIRE(b.Contains(point));
-
-  // Inside the range.
-  point = "0.3 1.0 0.4";
-  BOOST_REQUIRE(b.Contains(point));
-}
-
-BOOST_AUTO_TEST_CASE(TestBallBound) {
-  DBallBound<> b1;
-  DBallBound<> b2;
-
-  // Create two balls with a center distance of 1 from each other.
-  // Give the first one a radius of 0.3 and the second a radius of 0.4.
-
-  b1.center().set_size(3);
-  b1.center()[0] = 1;
-  b1.center()[1] = 2;
-  b1.center()[2] = 3;
-  b1.set_radius(0.3);
-
-  b2.center().set_size(3);
-  b2.center()[0] = 1;
-  b2.center()[1] = 2;
-  b2.center()[2] = 4;
-  b2.set_radius(0.4);
-
-  BOOST_REQUIRE_CLOSE(sqrt(b1.MinDistanceSq(b2)), 1-0.3-0.4, 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b1.RangeDistanceSq(b2).hi), 1+0.3+0.4, 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b1.RangeDistanceSq(b2).lo), 1-0.3-0.4, 1e-5);
-  BOOST_REQUIRE_CLOSE(b1.RangeDistance(b2).hi, 1+0.3+0.4, 1e-5);
-  BOOST_REQUIRE_CLOSE(b1.RangeDistance(b2).lo, 1-0.3-0.4, 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b1.MinToMidSq(b2)), 1-0.3, 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b1.MinimaxDistanceSq(b2)), 1-0.3+0.4, 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b1.MidDistanceSq(b2)), 1.0, 1e-5);
-
-  BOOST_REQUIRE_CLOSE(sqrt(b2.MinDistanceSq(b1)), 1-0.3-0.4, 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b2.MaxDistanceSq(b1)), 1+0.3+0.4, 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b2.RangeDistanceSq(b1).hi), 1+0.3+0.4, 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b2.RangeDistanceSq(b1).lo), 1-0.3-0.4, 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b2.MinToMidSq(b1)), 1-0.4, 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b2.MinimaxDistanceSq(b1)), 1-0.4+0.3, 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b2.MidDistanceSq(b1)), 1.0, 1e-5);
-
-  BOOST_REQUIRE(b1.Contains(b1.center()));
-  BOOST_REQUIRE(!b1.Contains(b2.center()));
-
-  BOOST_REQUIRE(!b2.Contains(b1.center()));
-  BOOST_REQUIRE(b2.Contains(b2.center()));
-  arma::vec b2point(3); // a point that's within the radius bot not the center
-  b2point[0] = 1.1;
-  b2point[1] = 2.1;
-  b2point[2] = 4.1;
-
-  BOOST_REQUIRE(b2.Contains(b2point));
-
-  BOOST_REQUIRE_SMALL(sqrt(b1.MinDistanceSq(b1.center())), 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b1.MinDistanceSq(b2.center())), 1 - 0.3, 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b2.MinDistanceSq(b1.center())), 1 - 0.4, 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b2.MaxDistanceSq(b1.center())), 1 + 0.4, 1e-5);
-  BOOST_REQUIRE_CLOSE(sqrt(b1.MaxDistanceSq(b2.center())), 1 + 0.3, 1e-5);
-}
-
-/***
- * Ensure that a bound, by default, is empty and has no dimensionality, and the
- * box size vector is empty.
- */
-BOOST_AUTO_TEST_CASE(PeriodicHRectBoundEmptyConstructor) {
-  PeriodicHRectBound<2> b;
-
-  BOOST_REQUIRE_EQUAL(b.dim(), 0);
-  BOOST_REQUIRE_EQUAL(b.box().n_elem, 0);
-}
-
-/***
- * Ensure that when we specify the dimensionality in the constructor, it is
- * correct, and the bounds are all the empty set.
- */
-BOOST_AUTO_TEST_CASE(PeriodicHRectBoundBoxConstructor) {
-  PeriodicHRectBound<2> b(arma::vec("5 6"));
-
-  BOOST_REQUIRE_EQUAL(b.dim(), 2);
-  BOOST_REQUIRE_SMALL(b[0].width(), 1e-5);
-  BOOST_REQUIRE_SMALL(b[1].width(), 1e-5);
-  BOOST_REQUIRE_EQUAL(b.box().n_elem, 2);
-  BOOST_REQUIRE_CLOSE(b.box()[0], 5.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b.box()[1], 6.0, 1e-5);
-
-  PeriodicHRectBound<2> d(arma::vec("2 3 4 5 6"));
-
-  BOOST_REQUIRE_EQUAL(d.dim(), 5);
-  BOOST_REQUIRE_SMALL(d[0].width(), 1e-5);
-  BOOST_REQUIRE_SMALL(d[1].width(), 1e-5);
-  BOOST_REQUIRE_SMALL(d[2].width(), 1e-5);
-  BOOST_REQUIRE_SMALL(d[3].width(), 1e-5);
-  BOOST_REQUIRE_SMALL(d[4].width(), 1e-5);
-  BOOST_REQUIRE_EQUAL(d.box().n_elem, 5);
-  BOOST_REQUIRE_CLOSE(d.box()[0], 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d.box()[1], 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d.box()[2], 4.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d.box()[3], 5.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(d.box()[4], 6.0, 1e-5);
-}
-
-/***
- * Test the copy constructor.
- *
-BOOST_AUTO_TEST_CASE(PeriodicHRectBoundCopyConstructor) {
-  PeriodicHRectBound<2> b(arma::vec("3 4"));
-  b[0] = Range(0.0, 2.0);
-  b[1] = Range(2.0, 3.0);
-
-  PeriodicHRectBound<2> c(b);
-
-  BOOST_REQUIRE_EQUAL(c.dim(), 2);
-  BOOST_REQUIRE_SMALL(c[0].lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(c[0].hi, 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c[1].lo, 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c[1].hi, 3.0, 1e-5);
-  BOOST_REQUIRE_EQUAL(c.box().n_elem, 2);
-  BOOST_REQUIRE_CLOSE(c.box()[0], 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c.box()[1], 4.0, 1e-5);
-}*/
-
-/***
- * Test the assignment operator.
- *
-BOOST_AUTO_TEST_CASE(PeriodicHRectBoundAssignmentOperator) {
-  PeriodicHRectBound<2> b(arma::vec("3 4"));
-  b[0] = Range(0.0, 2.0);
-  b[1] = Range(2.0, 3.0);
-
-  PeriodicHRectBound<2> c(arma::vec("3 4 5 6"));
-
-  c = b;
-
-  BOOST_REQUIRE_EQUAL(c.dim(), 2);
-  BOOST_REQUIRE_SMALL(c[0].lo, 1e-5);
-  BOOST_REQUIRE_CLOSE(c[0].hi, 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c[1].lo, 2.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c[1].hi, 3.0, 1e-5);
-  BOOST_REQUIRE_EQUAL(c.box().n_elem, 2);
-  BOOST_REQUIRE_CLOSE(c.box()[0], 3.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(c.box()[1], 4.0, 1e-5);
-}*/
-
-/***
- * Ensure that we can set the box size correctly.
- *
-BOOST_AUTO_TEST_CASE(PeriodicHRectBoundSetBoxSize) {
-  PeriodicHRectBound<2> b(arma::vec("1 2"));
-
-  b.SetBoxSize(arma::vec("10 12"));
-
-  BOOST_REQUIRE_EQUAL(b.box().n_elem, 2);
-  BOOST_REQUIRE_CLOSE(b.box()[0], 10.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(b.box()[1], 12.0, 1e-5);
-}*/
-
-/***
- * Ensure that we can clear the dimensions correctly.  This does not involve the
- * box size at all, so the test can be identical to the HRectBound test.
- *
-BOOST_AUTO_TEST_CASE(PeriodicHRectBoundClear) {
-  // We'll do this with two dimensions only.
-  PeriodicHRectBound<2> b(arma::vec("5 5"));
-
-  b[0] = Range(0.0, 2.0);
-  b[1] = Range(2.0, 4.0);
-
-  // Now we just need to make sure that we clear the range.
-  b.Clear();
-
-  BOOST_REQUIRE_SMALL(b[0].width(), 1e-5);
-  BOOST_REQUIRE_SMALL(b[1].width(), 1e-5);
-}*/
-
-/***
- * Ensure that we get the correct centroid for our bound.
- *
-BOOST_AUTO_TEST_CASE(PeriodicHRectBoundCentroid) {
-  // Create a simple 3-dimensional bound.  The centroid is not affected by the
-  // periodic coordinates.
-  PeriodicHRectBound<2> b(arma::vec("100 100 100"));
-
-  b[0] = Range(0.0, 5.0);
-  b[1] = Range(-2.0, -1.0);
-  b[2] = Range(-10.0, 50.0);
-
-  arma::vec centroid;
-
-  b.Centroid(centroid);
-
-  BOOST_REQUIRE_EQUAL(centroid.n_elem, 3);
-  BOOST_REQUIRE_CLOSE(centroid[0], 2.5, 1e-5);
-  BOOST_REQUIRE_CLOSE(centroid[1], -1.5, 1e-5);
-  BOOST_REQUIRE_CLOSE(centroid[2], 20.0, 1e-5);
-}*/
-
-/***
- * Correctly calculate the minimum distance between the bound and a point in
- * periodic coordinates.  We have to account for the shifts necessary in
- * periodic coordinates too, so that makes testing this a little more difficult.
- *
-BOOST_AUTO_TEST_CASE(PeriodicHRectBoundMinDistancePoint) {
-  // First, we'll start with a simple 2-dimensional case where the point is
-  // inside the bound, then on the edge of the bound, then barely outside the
-  // bound.  The box size will be large enough that this is basically the
-  // HRectBound case.
-  PeriodicHRectBound<2> b(arma::vec("100 100"));
-
-  b[0] = Range(0.0, 5.0);
-  b[1] = Range(2.0, 4.0);
-
-  // Inside the bound.
-  arma::vec point = "2.5 3.0";
-
-  BOOST_REQUIRE_SMALL(b.MinDistance(point), 1e-5);
-
-  // On the edge.
-  point = "5.0 4.0";
-
-  BOOST_REQUIRE_SMALL(b.MinDistance(point), 1e-5);
-
-  // And just a little outside the bound.
-  point = "6.0 5.0";
-
-  BOOST_REQUIRE_CLOSE(b.MinDistance(point), 2.0, 1e-5);
-
-  // Now we start to invoke the periodicity.  This point will "alias" to (-1,
-  // -1).
-  point = "99.0 99.0";
-
-  BOOST_REQUIRE_CLOSE(b.MinDistance(point), 10.0, 1e-5);
-
-  // We will perform several tests on a one-dimensional bound.
-  b = PeriodicHRectBound<2>(arma::vec("5.0"));
-  point.set_size(1);
-
-  b[0] = Range("2.0 4.0"); // Entirely inside box.
-  point[0] = 7.5; // Inside first right image of the box.
-
-  BOOST_REQUIRE_SMALL(b.MinDistance(point), 1e-5);
-
-  b[0] = Range("0.0 5.0"); // Fills box fully.
-  point[1] = 19.3; // Inside the box, which covers everything.
-
-  BOOST_REQUIRE_SMALL(b.MinDistance(point), 1e-5);
-
-  b[0] = Range("-10.0 10.0"); // Larger than the box.
-  point[0] = -500.0; // Inside the box, which covers everything.
-
-  BOOST_REQUIRE_SMALL(b.MinDistance(point), 1e-5);
-
-  b[0] = Range("-2.0 1.0"); // Crosses over an edge.
-  point[0] = 2.9; // The first right image of the bound starts at 3.0.
-
-  BOOST_REQUIRE_CLOSE(b.MinDistance(point), 0.01, 1e-5);
-
-  b[0] = Range("2.0 4.0"); // Inside box.
-  point[0] = 0.0; // Closest to the first left image of the bound.
-
-  BOOST_REQUIRE_CLOSE(b.MinDistance(point), 1.0, 1e-5);
-
-  b[0] = Range("0.0 2.0"); // On edge of box.
-  point[0] = 7.1; // 0.1 away from the first right image of the bound.
-
-  BOOST_REQUIRE_CLOSE(b.MinDistance(point), 0.01, 1e-5);
-
-  b[0] = Range("-10.0 10.0"); // Box is of infinite size.
-  point[0] = 810.0; // 800 away from the only image of the box.
-
-  BOOST_REQUIRE_CLOSE(b.MinDistance(point), 640000, 1e-5);
-
-  b[0] = Range("2.0 4.0"); // Box size of -5 should function the same as 5.
-  point[0] = -10.8; // Should alias to 4.2.
-
-  BOOST_REQUIRE_CLOSE(b.MinDistance(point), 0.04, 1e-5);
-
-  // Switch our bound to a higher dimensionality.  This should ensure that the
-  // dimensions are independent like they should be.
-  b = PeriodicHRectBound<2>(arma::vec("5.0 5.0 5.0 5.0 5.0 5.0 0.0 -5.0"));
-
-  b[0] = Range("2.0 4.0"); // Entirely inside box.
-  b[1] = Range("0.0 5.0"); // Fills box fully.
-  b[2] = Range("-10.0 10.0"); // Larger than the box.
-  b[3] = Range("-2.0 1.0"); // Crosses over an edge.
-  b[4] = Range("2.0 4.0"); // Inside box.
-  b[5] = Range("0.0 2.0"); // On edge of box.
-  b[6] = Range("-10.0 10.0"); // Box is of infinite size.
-  b[7] = Range("2.0 4.0"); // Box size of -5 should function the same as 5.
-
-  point.set_size(8);
-  point[0] = 7.5; // Inside first right image of the box.
-  point[1] = 19.3; // Inside the box, which covers everything.
-  point[2] = -500.0; // Inside the box, which covers everything.
-  point[3] = 2.9; // The first right image of the bound starts at 3.0.
-  point[4] = 0.0; // Closest to the first left image of the bound.
-  point[5] = 7.1; // 0.1 away from the first right image of the bound.
-  point[6] = 810.0; // 800 away from the only image of the box.
-  point[7] = -10.8; // Should alias to 4.2.
-
-  BOOST_REQUIRE_CLOSE(b.MinDistance(point), 640001.06, 1e-10);
-}*/
-
-/***
- * It seems as though Bill has stumbled across a bug where
- * BinarySpaceTree<>::count() returns something different than
- * BinarySpaceTree<>::count_.  So, let's build a simple tree and make sure they
- * are the same.
- */
-BOOST_AUTO_TEST_CASE(tree_count_mismatch) {
-  arma::mat dataset = "2.0 5.0 9.0 4.0 8.0 7.0;"
-                      "3.0 4.0 6.0 7.0 1.0 2.0 ";
-
-  // Leaf size of 1.
-  CLI::GetParam<int>("tree/leaf_size") = 1;
-  BinarySpaceTree<HRectBound<2> > root_node(dataset);
-
-  BOOST_REQUIRE(root_node.count() == 6);
-  BOOST_REQUIRE(root_node.left()->count() == 3);
-  BOOST_REQUIRE(root_node.left()->left()->count() == 2);
-  BOOST_REQUIRE(root_node.left()->left()->left()->count() == 1);
-  BOOST_REQUIRE(root_node.left()->left()->right()->count() == 1);
-  BOOST_REQUIRE(root_node.left()->right()->count() == 1);
-  BOOST_REQUIRE(root_node.right()->count() == 3);
-  BOOST_REQUIRE(root_node.right()->left()->count() == 2);
-  BOOST_REQUIRE(root_node.right()->left()->left()->count() == 1);
-  BOOST_REQUIRE(root_node.right()->left()->right()->count() == 1);
-  BOOST_REQUIRE(root_node.right()->right()->count() == 1);
-}
-
-// Forward declaration of methods we need for the next test.
-template<typename TreeType>
-bool CheckPointBounds(TreeType* node, const arma::mat& data);
-
-template<typename TreeType>
-void GenerateVectorOfTree(TreeType* node,
-                          size_t depth,
-                          std::vector<TreeType*>& v);
-
-template<int t_pow>
-bool DoBoundsIntersect(HRectBound<t_pow>& a,
-                       HRectBound<t_pow>& b,
-                       size_t ia,
-                       size_t ib);
-
-/***
- * Exhaustive kd-tree test based on #125.
- *
- * - Generate a random dataset of a random size.
- * - Build a tree on that dataset.
- * - Ensure all the permutation indices map back to the correct points.
- * - Verify that each point is contained inside all of the bounds of its parent
- *     nodes.
- * - Verify that each bound at a particular level of the tree does not overlap
- *     with any other bounds at that level.
- *
- * Then, we do that whole process a handful of times.
- */
-BOOST_AUTO_TEST_CASE(kd_tree_test) {
-  typedef BinarySpaceTree<HRectBound<2> > TreeType;
-
-  size_t max_runs = 10; // Ten total tests.
-  size_t point_increments = 1000; // Range is from 2000 points to 11000.
-
-  // Generate the dataset.
-  srand(time(NULL));
-
-  // Reset the leaf size as other tests have been naughty.
-  // Also, a leaf size of 20 makes the test take too long.
-  CLI::GetParam<int>("tree/leaf_size") = 20;
-
-  for(size_t run = 0; run < max_runs; run++) {
-    size_t dimensions = run + 2;
-    size_t max_points = (run + 1) * point_increments;
-
-    size_t size = max_points;
-    arma::mat dataset = arma::mat(dimensions, size);
-    arma::mat datacopy; // Used to test mappings.
-
-    // Mappings for post-sort verification of data.
-    std::vector<size_t> new_to_old;
-    std::vector<size_t> old_to_new;
-
-    // Generate data.
-    dataset.randu();
-    datacopy = dataset; // Save a copy.
-
-    // Build the tree itself.
-    TreeType root(dataset, new_to_old, old_to_new);
-
-    // Ensure the size of the tree is correct.
-    BOOST_REQUIRE_EQUAL(root.count(), size);
-
-    // Check the forward and backward mappings for correctness.
-    for(size_t i = 0; i < size; i++) {
-      for(size_t j = 0; j < dimensions; j++) {
-        BOOST_REQUIRE_EQUAL(dataset(j, i), datacopy(j, new_to_old[i]));
-        BOOST_REQUIRE_EQUAL(dataset(j, old_to_new[i]), datacopy(j, i));
-      }
-    }
-
-    // Now check that each point is contained inside of all bounds above it.
-    CheckPointBounds(&root, dataset);
-
-    // Now check that no peers overlap.
-    std::vector<TreeType*> v;
-    GenerateVectorOfTree(&root, 1, v);
-
-    // Start with the first pair.
-    size_t depth = 2;
-    // Compare each peer against every other peer.
-    while (depth < v.size()) {
-      for (size_t i = depth; i < 2 * depth && i < v.size(); i++)
-        for (size_t j = i + 1; j < 2 * depth && j < v.size(); j++)
-          if (v[i] != NULL && v[j] != NULL)
-            BOOST_REQUIRE(!DoBoundsIntersect(v[i]->bound(), v[j]->bound(),
-                i, j));
-
-      depth *= 2;
-    }
-  }
-
-  // Reset it to the default value at the end of the test.
-  CLI::GetParam<int>("tree/leaf_size") = 20;
-}
-
-// Recursively checks that each node contains all points that it claims to have.
-template<typename TreeType>
-bool CheckPointBounds(TreeType* node, const arma::mat& data) {
-  if (node == NULL) // We have passed a leaf node.
-    return true;
-
-  TreeType* left = node->left();
-  TreeType* right = node->right();
-
-  size_t begin = node->begin();
-  size_t count = node->count();
-
-  // Check that each point which this tree claims is actually inside the tree.
-  for (size_t index = begin; index < begin+count; index++) {
-    if (!node->bound().Contains(data.col(index)))
-      return false;
-  }
-
-  return CheckPointBounds(left, data) && CheckPointBounds(right, data);
-}
-
-template<int t_pow>
-bool DoBoundsIntersect(HRectBound<t_pow>& a,
-                       HRectBound<t_pow>& b,
-                       size_t ia,
-                       size_t ib) {
-  size_t dimensionality = a.dim();
-
-  Range r_a;
-  Range r_b;
-
-  for (size_t i = 0; i < dimensionality; i++) {
-    r_a = a[i];
-    r_b = b[i];
-    if (r_a < r_b || r_a > r_b) // If a does not overlap b at all.
-      return false;
-  }
-
-  return true;
-}
-
-template<typename TreeType>
-void GenerateVectorOfTree(TreeType* node,
-                          size_t depth,
-                          std::vector<TreeType*>& v) {
-  if (node == NULL)
-    return;
-
-  if (depth >= v.size())
-    v.resize(2 * depth + 1, NULL); // Resize to right size; fill with NULL.
-
-  v[depth] = node;
-
-  // Recurse to the left and right children.
-  GenerateVectorOfTree(node->left(), depth * 2, v);
-  GenerateVectorOfTree(node->right(), depth * 2 + 1, v);
-
-  return;
-}

Modified: mlpack/trunk/src/mlpack/core/utilities/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/core/utilities/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/core/utilities/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -17,13 +17,3 @@
 # Append sources (with directory name) to list of all MLPACK sources (used at
 # the parent scope).
 set(MLPACK_SRCS ${MLPACK_SRCS} ${DIR_SRCS} PARENT_SCOPE)
-
-# add test executable
-add_executable(save_restore_utility_test
-  save_restore_utility_test.cpp
-)
-target_link_libraries(save_restore_utility_test
-  mlpack
-  boost_unit_test_framework
-  xml2
-)

Deleted: mlpack/trunk/src/mlpack/core/utilities/save_restore_utility_test.cpp
===================================================================
--- mlpack/trunk/src/mlpack/core/utilities/save_restore_utility_test.cpp	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/core/utilities/save_restore_utility_test.cpp	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,149 +0,0 @@
-/***
- * @file save_restore_model_test.cpp
- * @author Neil Slagle
- *
- * Here we have tests for the SaveRestoreModel class.
- */
-
-#include "save_restore_utility.hpp"
-
-#define BOOST_TEST_MODULE SaveRestoreModel Test
-#include <boost/test/unit_test.hpp>
-
-#define ARGSTR(a) a,#a
-
-/***
- * Exhibit proper save restore utility usage
- *  of child class proper usage
- */
-class SaveRestoreTest
-{
-  private:
-    size_t anInt;
-    SaveRestoreUtility saveRestore;
-  public:
-    SaveRestoreTest()
-    {
-      saveRestore = SaveRestoreUtility();
-    }
-    bool SaveModel (std::string filename)
-    {
-      saveRestore.SaveParameter (anInt, "anInt");
-      return saveRestore.WriteFile (filename);
-    }
-    bool LoadModel (std::string filename)
-    {
-      bool success = saveRestore.ReadFile (filename);
-      if (success)
-      {
-        anInt = saveRestore.LoadParameter (anInt, "anInt");
-      }
-      return success;
-    }
-    const size_t AnInt () { return anInt; }
-    void AnInt (size_t s) { this->anInt = s; }
-};
-
-/***
- * Perform a save and restore on basic types.
- */
-BOOST_AUTO_TEST_CASE(save_basic_types)
-{
-  bool b = false;
-  char c = 67;
-  unsigned u = 34;
-  size_t s = 12;
-  short sh = 100;
-  int i = -23;
-  float f = -2.34f;
-  double d = 3.14159;
-  std::string cc = "Hello world!";
-
-  SaveRestoreUtility* sRM = new SaveRestoreUtility();
-
-  sRM->SaveParameter (ARGSTR(b));
-  sRM->SaveParameter (ARGSTR(c));
-  sRM->SaveParameter (ARGSTR(u));
-  sRM->SaveParameter (ARGSTR(s));
-  sRM->SaveParameter (ARGSTR(sh));
-  sRM->SaveParameter (ARGSTR(i));
-  sRM->SaveParameter (ARGSTR(f));
-  sRM->SaveParameter (ARGSTR(d));
-  sRM->SaveParameter (ARGSTR(cc));
-  sRM->WriteFile ("test_basic_types.xml");
-
-  sRM->ReadFile ("test_basic_types.xml");
-
-  bool b2 =         sRM->LoadParameter (ARGSTR(b));
-  char c2 =         sRM->LoadParameter (ARGSTR(c));
-  unsigned u2 =     sRM->LoadParameter (ARGSTR(u));
-  size_t s2 =       sRM->LoadParameter (ARGSTR(s));
-  short sh2 =       sRM->LoadParameter (ARGSTR(sh));
-  int i2 =          sRM->LoadParameter (ARGSTR(i));
-  float f2 =        sRM->LoadParameter (ARGSTR(f));
-  double d2 =       sRM->LoadParameter (ARGSTR(d));
-  std::string cc2 = sRM->LoadParameter (ARGSTR(cc));
-
-  BOOST_REQUIRE (b == b2);
-  BOOST_REQUIRE (c == c2);
-  BOOST_REQUIRE (u == u2);
-  BOOST_REQUIRE (s == s2);
-  BOOST_REQUIRE (sh == sh2);
-  BOOST_REQUIRE (i == i2);
-  BOOST_REQUIRE (cc == cc2);
-  BOOST_REQUIRE_CLOSE (f, f2, 1e-5);
-  BOOST_REQUIRE_CLOSE (d, d2, 1e-5);
-
-  delete sRM;
-}
-
-/***
- * Test the arma::mat functionality.
- */
-BOOST_AUTO_TEST_CASE(save_arma_mat)
-{
-  arma::mat matrix;
-  matrix <<  1.2 << 2.3 << -0.1 << arma::endr
-         <<  3.5 << 2.4 << -1.2 << arma::endr
-         << -0.1 << 3.4 << -7.8 << arma::endr;
-  SaveRestoreUtility* sRM = new SaveRestoreUtility();
-
-  sRM->SaveParameter (ARGSTR (matrix));
-
-  sRM->WriteFile ("test_arma_mat_type.xml");
-
-  sRM->ReadFile ("test_arma_mat_type.xml");
-
-  arma::mat matrix2 = sRM->LoadParameter (ARGSTR (matrix));
-
-  for (size_t row = 0; row < matrix.n_rows; ++row)
-  {
-    for (size_t column = 0; column < matrix.n_cols; ++column)
-    {
-      BOOST_REQUIRE_CLOSE(matrix(row,column), matrix2(row,column), 1e-5);
-    }
-  }
-
-  delete sRM;
-}
-/***
- * Test SaveRestoreModel proper usage in child classes and loading from
- *   separately defined objects
- */
-BOOST_AUTO_TEST_CASE(save_restore_model_child_class_usage)
-{
-  SaveRestoreTest* saver = new SaveRestoreTest();
-  SaveRestoreTest* loader = new SaveRestoreTest();
-  size_t s = 1200;
-  const char* filename = "anInt.xml";
-
-  saver->AnInt (s);
-  saver->SaveModel (filename);
-  delete saver;
-
-  loader->LoadModel (filename);
-
-  BOOST_REQUIRE (loader->AnInt () == s);
-
-  delete loader;
-}

Modified: mlpack/trunk/src/mlpack/methods/emst/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/methods/emst/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/emst/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -25,19 +25,3 @@
 target_link_libraries(emst
   mlpack
 )
-
-add_executable(union_find_test
-  union_find_test.cpp
-)
-target_link_libraries(union_find_test
-  mlpack
-  boost_unit_test_framework
-)
-
-add_executable(emst_test
-  emst_test.cc
-)
-target_link_libraries(emst_test
-  mlpack
-  boost_unit_test_framework
-)

Deleted: mlpack/trunk/src/mlpack/methods/emst/emst_test.cc
===================================================================
--- mlpack/trunk/src/mlpack/methods/emst/emst_test.cc	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/emst/emst_test.cc	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,138 +0,0 @@
-/**
- * @file emst_test.cc
- *
- * Test file for EMST methods
- */
-#include <mlpack/core.h>
-#include "dtb.hpp"
-
-#define BOOST_TEST_MODULE EMST Test
-#include <boost/test/unit_test.hpp>
-
-using namespace mlpack;
-using namespace mlpack::emst;
-
-/***
- * Simple emst test with small, synthetic dataset.  This is an
- * exhaustive test, which checks that each method for performing the calculation
- * (dual-tree, single-tree, naive) produces the correct results.  The dataset is
- * in one dimension for simplicity -- the correct functionality of distance
- * functions is not tested here.
- */
-BOOST_AUTO_TEST_CASE(exhaustive_synthetic_test) {
-  // Set up our data.
-  arma::mat data(1, 11);
-  data[0] = 0.05; // Row addressing is unnecessary (they are all 0).
-  data[1] = 0.37;
-  data[2] = 0.15;
-  data[3] = 1.25;
-  data[4] = 5.05;
-  data[5] = -0.22;
-  data[6] = -2.00;
-  data[7] = -1.30;
-  data[8] = 0.45;
-  data[9] = 0.91;
-  data[10] = 1.00;
-
-
-  // Now perform the actual calculation.
-  arma::mat results;
-  
-  
-  DualTreeBoruvka dtb;
-  dtb.Init(data);
-  dtb.ComputeMST(results);
-
-  // Now the exhaustive check for correctness.  
-
-  BOOST_REQUIRE(results(0, 0) == 1);
-  BOOST_REQUIRE(results(0, 1) == 8);
-  BOOST_REQUIRE_CLOSE(results(0, 2), 0.08, 1e-5);
-  
-  BOOST_REQUIRE(results(1, 0) == 9);
-  BOOST_REQUIRE(results(1, 1) == 10);
-  BOOST_REQUIRE_CLOSE(results(1, 2), 0.09, 1e-5);
-  
-  BOOST_REQUIRE(results(2, 0) == 0);
-  BOOST_REQUIRE(results(2, 1) == 2);
-  BOOST_REQUIRE_CLOSE(results(2, 2), 0.1, 1e-5);
-  
-  BOOST_REQUIRE(results(3, 0) == 1);
-  BOOST_REQUIRE(results(3, 1) == 2);
-  BOOST_REQUIRE_CLOSE(results(3, 2), 0.22, 1e-5);
-  
-  BOOST_REQUIRE(results(4, 0) == 3);
-  BOOST_REQUIRE(results(4, 1) == 10);
-  BOOST_REQUIRE_CLOSE(results(4, 2), 0.25, 1e-5);
-  
-  BOOST_REQUIRE(results(5, 0) == 0);
-  BOOST_REQUIRE(results(5, 1) == 5);
-  BOOST_REQUIRE_CLOSE(results(5, 2), 0.27, 1e-5);
-  
-  BOOST_REQUIRE(results(6, 0) == 8);
-  BOOST_REQUIRE(results(6, 1) == 9);
-  BOOST_REQUIRE_CLOSE(results(6, 2), 0.46, 1e-5);
-  
-  BOOST_REQUIRE(results(7, 0) == 6);
-  BOOST_REQUIRE(results(7, 1) == 7);
-  BOOST_REQUIRE_CLOSE(results(7, 2), 0.7, 1e-5);
-  
-  BOOST_REQUIRE(results(8, 0) == 5);
-  BOOST_REQUIRE(results(8, 1) == 7);
-  BOOST_REQUIRE_CLOSE(results(8, 2), 1.08, 1e-5);
-  
-  BOOST_REQUIRE(results(9, 0) == 3);
-  BOOST_REQUIRE(results(9, 1) == 4);
-  BOOST_REQUIRE_CLOSE(results(9, 2), 3.8, 1e-5);
-  
-  
-}
-
-/**
- * Test the dual tree method against the naive computation.
- *
- * Errors are produced if the results are not identical.
- */
-BOOST_AUTO_TEST_CASE(dual_tree_vs_naive) {
-  arma::mat input_data;
-
-  // Hard-coded filename: bad!
-  // Code duplication: also bad!
-  if (!input_data.load("test_data_3_1000.csv", arma::auto_detect, false,
-      true))
-    BOOST_FAIL("Cannot load test dataset test_data_3_1000.csv!");
-
-  // Set up matrices to work with (may not be necessary with no ALIAS_MATRIX?).
-  arma::mat dual_data = arma::trans(input_data);
-  arma::mat naive_data = arma::trans(input_data);
-
-  // Reset parameters from last test.
-  DualTreeBoruvka dtb;
-  dtb.Init(dual_data);
-  
-  arma::mat dual_results;
-  dtb.ComputeMST(dual_results);
-  
-  // Set naive mode.
-  CLI::GetParam<bool>("naive/do_naive") = true;
-
-  DualTreeBoruvka dtb_naive;
-  dtb_naive.Init(naive_data);
-  
-  arma::mat naive_results;
-  dtb_naive.ComputeMST(naive_results);
-  
-  BOOST_REQUIRE(dual_results.n_cols == naive_results.n_cols);
-  BOOST_REQUIRE(dual_results.n_rows == naive_results.n_rows);
-  
-  for (size_t i = 0; i < dual_results.n_rows; i++) {
-
-    BOOST_REQUIRE(dual_results(i,0) == naive_results(i,0));
-    BOOST_REQUIRE(dual_results(i,1) == naive_results(i,1));
-    BOOST_REQUIRE_CLOSE(dual_results(i,2), naive_results(i,2), 1e-5);
-
-  }
-  
-  
-}
-

Deleted: mlpack/trunk/src/mlpack/methods/emst/test_data_3_1000.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/emst/test_data_3_1000.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/emst/test_data_3_1000.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,1000 +0,0 @@
-0.339406815,0.843176636,0.472701471
-0.212587646,0.351174901,0.81056695
-0.605649993,0.45338097,0.623370668
-0.269783539,0.482031883,0.36535861
-0.725254282,0.477113042,0.042100268
-0.529287901,0.776008587,0.303809928
-0.098778217,0.318454787,0.983422857
-0.685345453,0.837942768,0.540406673
-0.503220972,0.268813629,0.41488501
-0.160147626,0.255047893,0.04072469
-0.564535197,0.943435462,0.597070812
-0.663842864,0.276972185,0.02208704
-0.077321401,0.032366881,0.826784604
-0.794220519,0.319582218,0.266025433
-0.466815953,0.864683732,0.684380976
-0.680962499,0.009554527,0.484176898
-0.257862396,0.875068776,0.326253946
-0.695503778,0.695095604,0.955586038
-0.569205007,0.662786497,0.036489177
-0.604542917,0.250714055,0.232826165
-0.928175028,0.871769923,0.327107027
-0.362809806,0.270846833,0.917535106
-0.567471988,0.09223176,0.018232595
-0.30294,0.197331083,0.676067984
-0.136497436,0.991079028,0.640906359
-0.490191642,0.321877535,0.210121475
-0.886240693,0.124811844,0.109638108
-0.487537807,0.474289999,0.34183089
-0.038698268,0.515865087,0.984297254
-0.437309222,0.534489172,0.792665419
-0.898099395,0.461121197,0.785225662
-0.256850927,0.840446806,0.056158684
-0.335408063,0.806637161,0.913551388
-0.11329872,0.670392847,0.333361274
-0.954403847,0.024104509,0.325578493
-0.824152332,0.614355433,0.271931013
-0.729647547,0.666093053,0.579723184
-0.25675029,0.94037263,0.530553224
-0.799877963,0.555666351,0.056606945
-0.213120693,0.763046224,0.341926361
-0.975873714,0.554796483,0.049489218
-0.422782321,0.375502502,0.875514176
-0.732474122,0.920181004,0.273895723
-0.288070185,0.878065303,0.57017629
-0.269706239,0.854626516,0.607709975
-0.615118638,0.006748605,0.00278243
-0.655373608,0.348029869,0.909502319
-0.358287814,0.419322455,0.362741982
-0.152473842,0.659459939,0.497284571
-0.930791658,0.934132013,0.150924236
-0.792977546,0.953203388,0.465884431
-0.971953827,0.268751729,0.220474277
-0.244730747,0.056636753,0.088649766
-0.873554351,0.305649442,0.91790044
-0.26662478,0.221646762,0.310857157
-0.659541537,0.93018384,0.139339275
-0.833616742,0.833734413,0.551027856
-0.43405195,0.874582065,0.996443541
-0.442896336,0.118977275,0.03127628
-0.388886541,0.976070927,0.294801481
-0.14757794,0.195944854,0.129778502
-0.73209291,0.551685931,0.218866346
-0.85393572,0.675733762,0.501776114
-0.804291505,0.746786474,0.94053733
-0.199998362,0.403471102,0.614783956
-0.302029244,0.084831174,0.043490422
-0.458371115,0.076068613,0.940418665
-0.122287089,0.867270578,0.612001352
-0.423331474,0.370629389,0.407480574
-0.400056969,0.919523609,0.940521669
-0.74852813,0.872400563,0.915423635
-0.614934326,0.67621724,0.382278246
-0.0184522,0.545825352,0.74127138
-0.937453855,0.175662201,0.666301896
-0.504358818,0.251308945,0.849159677
-0.397410107,0.973000161,0.648601332
-0.398342217,0.110698975,0.916968596
-0.464980239,0.683124011,0.070633362
-0.787030874,0.393777381,0.731973049
-0.612845512,0.893440416,0.475331995
-0.241219407,0.792282417,0.389574277
-0.465756798,0.552685716,0.092092299
-0.908028882,0.837528446,0.794160948
-0.552741674,0.898614081,0.764312365
-0.607116253,0.958698621,0.334887326
-0.322583246,0.541387861,0.879874555
-0.124522558,0.229074642,0.510214096
-0.049900273,0.471371867,0.367698395
-0.261657863,0.105228571,0.748191349
-0.216818324,0.700885804,0.34479269
-0.896337659,0.634574468,0.203599217
-0.961150989,0.920563011,0.795999477
-0.120635447,0.744570376,0.107177572
-0.696406743,0.788342315,0.173664558
-0.577700329,0.493151732,0.989211395
-0.270346683,0.586765585,0.208832269
-0.171412097,0.116618251,0.53141933
-0.596260532,0.819973735,0.531503373
-0.120665467,0.556332466,0.643268746
-0.546751646,0.563896374,0.079856633
-0.637150933,0.126536213,0.823749724
-0.637940649,0.951567917,0.397777975
-0.344749598,0.517031469,0.48297473
-0.296545224,0.419944602,0.99985146
-0.707956343,0.985929306,0.942420811
-0.24734852,0.001808114,0.489512545
-0.29395388,0.751934338,0.924845167
-0.306350765,0.676837884,0.614397758
-0.387029257,0.668882644,0.316866608
-0.166701475,0.220250465,0.70788096
-0.666366134,0.343214579,0.063804166
-0.970614577,0.514452347,0.643280872
-0.084297811,0.906111319,0.590434434
-0.163302217,0.226212634,0.074753132
-0.20207705,0.197835179,0.217985026
-0.413236066,0.640190511,0.520645448
-0.807941459,0.463910044,0.996796367
-0.208875906,0.182468954,0.876826443
-0.743474185,0.840439019,0.143677671
-0.266758693,0.103719005,0.920995789
-0.030607849,0.973154392,0.814015083
-0.237753714,0.374336732,0.44138091
-0.83212984,0.547216604,0.371699647
-0.302411666,0.58054099,0.303141758
-0.949214871,0.783756542,0.457582838
-0.32776739,0.133095384,0.351183944
-0.673471065,0.432009028,0.761641303
-0.120361022,0.494421101,0.954699616
-0.049975694,0.857405242,0.133753572
-0.314326245,0.599784238,0.698931698
-0.10972582,0.994733888,0.603365409
-0.246939825,0.79385323,0.576049373
-0.420949269,0.55824091,0.684730016
-0.085903635,0.678776288,0.759533545
-0.221902971,0.606683148,0.183625782
-0.934582003,0.263106456,0.195228637
-0.276550653,0.563455012,0.477130256
-0.939865401,0.683543172,0.98694541
-0.090714119,0.155392084,0.183225576
-0.546170002,0.226065658,0.757518873
-0.635725491,0.259656977,0.803254796
-0.768135532,0.329687113,0.784471673
-0.67201594,0.69314804,0.216292884
-0.731388623,0.632648812,0.298465113
-0.030104188,0.531279626,0.68605789
-0.404907965,0.617707054,0.646985633
-0.38264213,0.522044947,0.606066308
-0.850778503,0.771072538,0.780038925
-0.333386945,0.62981651,0.838539888
-0.144526261,0.90723358,0.672092924
-0.803193149,0.545698586,0.740250704
-0.144775421,0.073065649,0.81327723
-0.800150626,0.077947117,0.498989131
-0.805355858,0.282274855,0.111520406
-0.432276345,0.614069782,0.04562788
-0.119740317,0.122788948,0.68461108
-0.188596378,0.666133286,0.753645204
-0.143050522,0.393902986,0.609633117
-0.754401856,0.84172035,0.387786256
-0.97549575,0.97044364,0.621482928
-0.735098473,0.96738673,0.239086021
-0.825090649,0.153687653,0.520111132
-0.720848546,0.211391499,0.513430909
-0.572411742,0.56579983,0.313933048
-0.766584951,0.704264072,0.103088529
-0.933914925,0.70795791,0.378434849
-0.232266382,0.864968616,0.664769493
-0.180748316,0.792633394,0.983236654
-0.320744207,0.073646797,0.915148464
-0.058415284,0.478244018,0.171213592
-0.613274471,0.423949271,0.899198164
-0.83818587,0.622457639,0.496368891
-0.547369341,0.5160996,0.318684775
-0.489079348,0.504840066,0.174865371
-0.133510366,0.873938618,0.95342181
-0.355477984,0.610358907,0.32242224
-0.32167355,0.132961802,0.381440702
-0.660257981,0.59386003,0.570704079
-0.519799486,0.220676336,0.85452965
-0.097125446,0.037837774,0.581579153
-0.801485909,0.741547848,0.06310355
-0.413142247,0.303102946,0.30224609
-0.07746447,0.555846316,0.750106689
-0.593760097,0.256631753,0.179035377
-0.819000445,0.86578977,0.797167379
-0.644052663,0.148335877,0.377067692
-0.02037784,0.835405997,0.192438566
-0.248506314,0.951214215,0.492923258
-0.387445752,0.862693509,0.11983047
-0.411437123,0.512831692,0.516380652
-0.481199694,0.970780992,0.565521666
-0.967908564,0.168755985,0.447517833
-0.280607962,0.670538365,0.548021587
-0.402044213,0.121532495,0.136718448
-0.83696286,0.739549154,0.495218329
-0.652215616,0.664877651,0.838254198
-0.846246408,0.411635906,0.96601722
-0.359827733,0.627436225,0.666295882
-0.522326573,0.496565812,0.404066784
-0.614406114,0.160072022,0.269439305
-0.221722954,0.558736063,0.890699947
-0.561777087,0.782270647,0.792345194
-0.385698506,0.295964873,0.697613223
-0.101162968,0.27600378,0.239798872
-0.075127486,0.14163579,0.728168103
-0.982440842,0.583109151,0.395072917
-0.69628067,0.26642599,0.283866713
-0.073093261,0.914332418,0.925554624
-0.01642578,0.927883834,0.248712685
-0.11636724,0.556067816,0.248282085
-0.487453151,0.058684617,0.294624957
-0.813726551,0.860917181,0.678149491
-0.492581545,0.501803813,0.193032429
-0.642766795,0.422421802,0.950458987
-0.662519175,0.950448071,0.157126432
-0.548815699,0.127905654,0.23337741
-0.159163516,0.345059322,0.586704542
-0.40029112,0.928563882,0.954476476
-0.587201396,0.44357769,0.797926632
-0.026827624,0.206281621,0.680220462
-0.884217164,0.266754666,0.652197582
-0.475019281,0.447732834,0.14299077
-0.193076354,0.317892868,0.976621856
-0.515208981,0.512331237,0.422351595
-0.336671812,0.870606258,0.364554196
-0.438596677,0.333836845,0.801388791
-0.194389409,0.929245672,0.589545825
-0.205377525,0.079938747,0.187363423
-0.426814991,0.823224852,0.707435026
-0.262972959,0.517545732,0.19872636
-0.720354434,0.847649202,0.709246477
-0.355306192,0.303943053,0.835051265
-0.949975427,0.106134411,0.204516092
-0.106374426,0.874129261,0.971439223
-0.14517828,0.371147898,0.695954142
-0.739099753,0.331888701,0.890413781
-0.627551297,0.9001009,0.177324543
-0.047488938,0.224289129,0.220822902
-0.912785118,0.79570392,0.838242455
-0.49717293,0.703176431,0.754883589
-0.090976094,0.502530756,0.657999889
-0.194042479,0.284561692,0.14516165
-0.409960603,0.285564554,0.097001811
-0.310205693,0.003434942,0.173823303
-0.233583043,0.118822434,0.816665508
-0.513843271,0.539640669,0.864405207
-0.40692643,0.436463418,0.369798489
-0.126544008,0.159580886,0.933714485
-0.286441339,0.872974675,0.04454198
-0.964565622,0.910027403,0.897861798
-0.203121728,0.899714292,0.085173744
-0.445639841,0.360999337,0.016645134
-0.307793993,0.117750087,0.562967352
-0.281587526,0.174834541,0.274581395
-0.119660773,0.099740072,0.484016211
-0.511583585,0.54938211,0.339766424
-0.188451695,0.073022292,0.006123739
-0.346586219,0.49567248,0.234826476
-0.225242461,0.587641331,0.725805817
-0.075409614,0.208266437,0.826377328
-0.204076002,0.04779427,0.040457828
-0.050861901,0.763043363,0.256073344
-0.972150662,0.792678045,0.909955027
-0.506115605,0.031837525,0.903340416
-0.804010111,0.955685921,0.175896939
-0.092926989,0.062223289,0.821308211
-0.363715968,0.726101463,0.79168981
-0.787381816,0.338102828,0.005758252
-0.484331698,0.495765424,0.891180155
-0.241982415,0.277129738,0.561477087
-0.484161267,0.286665154,0.03556541
-0.211600046,0.304292614,0.395789513
-0.372524976,0.202611617,0.166595985
-0.265124748,0.017345601,0.037686194
-0.701786714,0.420334817,0.714000487
-0.034048463,0.651290563,0.050634716
-0.802331316,0.558297752,0.291679579
-0.344037056,0.467477672,0.358504649
-0.639463582,0.425507582,0.954817361
-0.602885138,0.374751922,0.374607167
-0.993637385,0.955212301,0.16550343
-0.955669008,0.745723993,0.889786752
-0.365337348,0.19682491,0.506234866
-0.7457291,0.51831627,0.978818087
-0.92625289,0.631584997,0.443128894
-0.786168714,0.264993195,0.263960382
-0.316681591,0.61079768,0.089349247
-0.858371024,0.834969763,0.174819213
-0.525393487,0.243792169,0.955241627
-0.720242053,0.143419208,0.402799979
-0.749292304,0.217311863,0.799688479
-0.246462289,0.958943724,0.142358796
-0.528138907,0.590786754,0.948225902
-0.454799161,0.510565688,0.295103038
-0.953069085,0.021533141,0.116332423
-0.188120341,0.690529852,0.623168048
-0.318359731,0.758493036,0.91843922
-0.726077549,0.902046947,0.327147423
-0.386752461,0.338547997,0.651921958
-0.707225745,0.584329479,0.37703596
-0.060288975,0.494620757,0.075518168
-0.237652566,0.962903992,0.824801251
-0.535945075,0.958493881,0.754701994
-0.064404553,0.235151293,0.39448081
-0.979476468,0.347342952,0.99138709
-0.189166661,0.798328607,0.697048046
-0.180560013,0.342106481,0.174983336
-0.28337819,0.962425666,0.955845318
-0.593924663,0.66654314,0.570147835
-0.114749593,0.903677338,0.957687266
-0.151925114,0.716482401,0.637800283
-0.235669594,0.580788646,0.528893286
-0.778117587,0.250968708,0.684104646
-0.747849981,0.214563448,0.02984775
-0.720813243,0.066656345,0.737883757
-0.626964368,0.953760147,0.459809098
-0.469018562,0.720549931,0.518332767
-0.821461664,0.507041049,0.514946331
-0.384160041,0.953174654,0.443907617
-0.233220889,0.511502601,0.369065624
-0.434955659,0.150497671,0.76574469
-0.8958592,0.481635774,0.942994014
-0.979260732,0.445148596,0.323549157
-0.334878174,0.403760723,0.385124629
-0.460214884,0.33828675,0.592783427
-0.518346254,0.909618383,0.6009723
-0.338370801,0.317375424,0.337490389
-0.636668843,0.96449714,0.481975016
-0.025064304,0.923419227,0.119203699
-0.048318449,0.53489191,0.76133984
-0.491930784,0.016568024,0.112619998
-0.17743988,0.903969674,0.481918653
-0.981634317,0.513179093,0.316557669
-0.02560158,0.930375993,0.563316641
-0.017997936,0.890571459,0.4580491
-0.96277821,0.443025655,0.083145161
-0.419576578,0.112060055,0.531294103
-0.494454706,0.954168063,0.047922651
-0.800000835,0.673332473,0.064026809
-0.870702162,0.510095577,0.863030178
-0.851121904,0.916229763,0.781903614
-0.159726434,0.082081261,0.19548317
-0.362450326,0.788524336,0.826141196
-0.270846003,0.098989879,0.574494436
-0.406889772,0.838173717,0.436699777
-0.035503139,0.853255007,0.642800341
-0.083155666,0.952721164,0.708076056
-0.847697478,0.56519776,0.894660498
-0.037841045,0.984301359,0.365909559
-0.177721428,0.418447797,0.157612683
-0.429370039,0.508723836,0.767724035
-0.071851749,0.216253471,0.819600825
-0.578083664,0.212360494,0.627380646
-0.380746754,0.954034946,0.11483721
-0.211278539,0.560080096,0.685450354
-0.770737322,0.813954563,0.79322567
-0.318759117,0.06983,0.664250133
-0.059856737,0.06677071,0.26622355
-0.968241527,0.953861837,0.311894576
-0.504226431,0.06220937,0.289105117
-0.256406511,0.249902695,0.348997399
-0.674888311,0.860374,0.605942473
-0.246067727,0.048342783,0.343006159
-0.830735494,0.783740344,0.677522751
-0.99887952,0.341758368,0.229922444
-0.731699282,0.940258743,0.10886285
-0.541383735,0.910293019,0.381124662
-0.750868727,0.848911762,0.265718422
-0.425671591,0.626146239,0.622684142
-0.214013066,0.091251581,0.864057899
-0.545601885,0.310480085,0.046543211
-0.517244356,0.115819763,0.248517895
-0.872633121,0.50117097,0.12009094
-0.255496857,0.472006579,0.796438566
-0.468962035,0.26918685,0.131735945
-0.742353904,0.528441793,0.565922864
-0.85366711,0.2676075,0.914062206
-0.447698287,0.149534939,0.670156644
-0.445589481,0.6431063,0.225580433
-0.357872915,0.788565726,0.814611643
-0.580287142,0.506307991,0.527031912
-0.500500265,0.365277722,0.04677688
-0.141881394,0.926001483,0.86894952
-0.221717771,0.366035312,0.125658418
-0.600339909,0.684670388,0.826168927
-0.307898392,0.20966968,0.752966481
-0.959700077,0.899536378,0.491452813
-0.230433688,0.613941888,0.415683508
-0.495527265,0.634504412,0.370199526
-0.506575734,0.986633413,0.84941237
-0.761764339,0.963921599,0.828872018
-0.348601654,0.087553061,0.791174897
-0.104944192,0.102179531,0.905877926
-0.375324247,0.246387607,0.301420991
-0.875454272,0.118686164,0.988824311
-0.17698346,0.393647261,0.159870783
-0.917659703,0.583236755,0.630992101
-0.285048123,0.469986869,0.37272766
-0.011480822,0.597073945,0.904116141
-0.313259229,0.510005423,0.894823085
-0.795838324,0.911141124,0.928152818
-0.164974957,0.359128099,0.60236716
-0.983429159,0.003861397,0.083218217
-0.242529745,0.562773547,0.664077813
-0.765913188,0.194009625,0.286229668
-0.070781352,0.102661854,0.249285398
-0.511452125,0.418997177,0.284014634
-0.439472205,0.891870259,0.82363463
-0.580892549,0.466753672,0.140496383
-0.615517449,0.738921356,0.461546367
-0.824697707,0.698589656,0.941554339
-0.46610398,0.902958283,0.688012984
-0.523365471,0.691567649,0.547171487
-0.545929937,0.714552317,0.041938604
-0.32756288,0.701840615,0.927731162
-0.761874356,0.276228477,0.886668834
-0.979442228,0.298771691,0.591610911
-0.374731022,0.860510449,0.321638525
-0.8074911,0.097011746,0.930723417
-0.453431338,0.206882669,0.431005917
-0.910029309,0.03223923,0.493150704
-0.2897017,0.170401689,0.739971322
-0.024666309,0.777054677,0.769170439
-0.05624039,0.089983601,0.64642539
-0.149696037,0.539762835,0.702098143
-0.676100319,0.000479419,0.639516981
-0.967411256,0.893394783,0.958913773
-0.158669993,0.527294695,0.347808355
-0.181672491,0.532695548,0.988953142
-0.053598946,0.497693858,0.118111495
-0.132496571,0.985450674,0.753931807
-0.87586561,0.732063591,0.884137731
-0.419609591,0.012639269,0.645369169
-0.102047486,0.008854525,0.658344391
-0.123913855,0.210708056,0.499395878
-0.159685659,0.968477268,0.586268979
-0.834269522,0.369645239,0.245380904
-0.637297781,0.768550638,0.48870442
-0.778386961,0.376787501,0.03205647
-0.67713794,0.632054697,0.000672655
-0.860752189,0.140567399,0.326727043
-0.220600271,0.039797462,0.871431738
-0.373493897,0.910009286,0.043303147
-0.269453424,0.571833998,0.346704152
-0.919787568,0.373470212,0.873193468
-0.776952353,0.362003265,0.172733797
-0.575862615,0.900415576,0.599884308
-0.616882997,0.8845633,0.13177173
-0.366855251,0.729104299,0.950578149
-0.668847681,0.753527405,0.660832331
-0.264243456,0.308498641,0.912106098
-0.542527865,0.880831766,0.535728949
-0.460634645,0.013712653,0.152280892
-0.828209711,0.921304334,0.049084108
-0.874065663,0.473229025,0.545232499
-0.731220357,0.126627169,0.996060848
-0.943461868,0.033256065,0.992038738
-0.211193798,0.522810965,0.907780013
-0.767158364,0.967162642,0.888059793
-0.689583275,0.841550923,0.377520241
-0.147705388,0.959063909,0.031580823
-0.654707489,0.752912445,0.305046055
-0.628378168,0.075829853,0.719349441
-0.886468112,0.185491156,0.719710557
-0.749470564,0.448017109,0.897349202
-0.492693185,0.884164268,0.633427171
-0.44686733,0.7934547,0.773846432
-0.630683325,0.776592453,0.708944434
-0.814848973,0.845977344,0.643222219
-0.016975156,0.729138989,0.058020996
-0.511298247,0.07057554,0.733405098
-0.784480806,0.738595698,0.373688534
-0.530814843,0.44312087,0.691107945
-0.944091316,0.957332961,0.639542386
-0.771047017,0.811962024,0.977774991
-0.87020688,0.755962661,0.925248114
-0.458700988,0.334773333,0.095844508
-0.533831151,0.912609619,0.027149015
-0.524625598,0.652693277,0.497418106
-0.805674264,0.723021478,0.80073208
-0.113696528,0.650247192,0.344709776
-0.826900827,0.593783006,0.550936366
-0.940655423,0.740273144,0.630218018
-0.141520315,0.632429144,0.838610834
-0.39673597,0.503240828,0.590691376
-0.037602886,0.040815285,0.620639119
-0.716116291,0.506754028,0.253596249
-0.619782298,7.76626E-05,0.676065593
-0.496033457,0.98742451,0.984019601
-0.649314148,0.147470427,0.489967654
-0.691622038,0.161245902,0.647851723
-0.936526892,0.590442875,0.939555093
-0.604802621,0.838823011,0.251219058
-0.071190531,0.67647138,0.597666328
-0.019410183,0.495778133,0.44031324
-0.726411874,0.262687025,0.086312948
-0.830480537,0.135077568,0.079159787
-0.950841893,0.769723105,0.47873095
-0.611417896,0.84114966,0.395349789
-0.181347141,0.287776713,0.883076078
-0.200712222,0.873964629,0.571505353
-0.65202277,0.084117342,0.250545655
-0.342561024,0.202306216,0.079726003
-0.584301932,0.122693153,0.129858724
-0.591176502,0.051275102,0.876431468
-0.165946295,0.474087103,0.856717365
-0.839385948,0.763414504,0.961778868
-0.528260865,0.865453126,0.680673095
-0.076050301,0.71693581,0.15210816
-0.780443967,0.33197709,0.73242445
-0.363327494,0.164977224,0.185099911
-0.687912867,0.396104619,0.249748592
-0.88391393,0.554502064,0.089705278
-0.33788714,0.686247878,0.252660937
-0.19163616,0.441496434,0.513458703
-0.478908993,0.15156254,0.818829745
-0.918896553,0.899169945,0.780767514
-0.782967436,0.327693122,0.755050753
-0.32558364,0.492239506,0.12339517
-0.047070459,0.693552034,0.508452959
-0.109465204,0.821862145,0.632136838
-0.826253828,0.610682399,0.632137891
-0.162364171,0.5709024,0.027035072
-0.479768494,0.607203769,0.077566143
-0.897031412,0.795684932,0.974415558
-0.801002173,0.551618649,0.876984199
-0.123312093,0.411438516,0.901446561
-0.594677287,0.32833558,0.914104796
-0.741635419,0.14325589,0.115905361
-0.08993896,0.243272135,0.742401503
-0.116491314,0.690400792,0.020805328
-0.180855336,0.599454312,0.340688071
-0.087037755,0.006886539,0.952560809
-0.300603611,0.113658264,0.797478049
-0.832235841,0.05963984,0.771465426
-0.095194013,0.247650851,0.801344581
-0.300632189,0.150924198,0.086360387
-0.874625368,0.700861247,0.713919826
-0.863383564,0.57922769,0.870911826
-0.11913471,0.767551415,0.50918181
-0.556749667,0.691513618,0.782003681
-0.197331319,0.827247513,0.779623914
-0.987023902,0.734883462,0.623629089
-0.420615082,0.614082171,0.741891207
-0.312249031,0.014913149,0.070878868
-0.974642188,0.983123549,0.086275706
-0.783360774,0.814835668,0.67625897
-0.540478752,0.254940938,0.449867885
-0.048763621,0.290768213,0.625363258
-0.697965851,0.033892112,0.612844092
-0.724879255,0.708375839,0.525641059
-0.747562377,0.173208535,0.263779612
-0.867179342,0.213616814,0.754428508
-0.02226162,0.326141353,0.081963664
-0.627227744,0.116451144,0.409565408
-0.543129433,0.092850944,0.54072763
-0.281594806,0.709633472,0.876793176
-0.35647452,0.063874296,0.965050871
-0.045168661,0.497624359,0.186815072
-0.524949861,0.944601324,0.332059785
-0.126474627,0.02739514,0.246752374
-0.208604998,0.568408651,0.772918262
-0.125784169,0.514833609,0.514478954
-0.154512957,0.373291441,0.993402025
-0.233618131,0.572616698,0.016411005
-0.999890963,0.570275565,0.216853317
-0.486828361,0.379924401,0.696213866
-0.075314427,0.667395497,0.863855433
-0.86294927,0.812782874,0.997533964
-0.031445186,0.249022328,0.973324576
-0.326573891,0.118171329,0.965763005
-0.332020059,0.604459411,0.538268842
-0.706622108,0.694323961,0.209014536
-0.932949763,0.08165582,0.356510191
-0.75591714,0.880443277,0.240181713
-0.227219665,0.515538046,0.063202431
-0.069200681,0.150851636,0.361221939
-0.902427408,0.646942656,0.504832272
-0.262382978,0.180972368,0.403132445
-0.032506623,0.656194,0.257345113
-0.959652463,0.776117592,0.653289283
-0.778669537,0.171816058,0.383820737
-0.64856927,0.78342696,0.966231461
-0.638608998,0.323023815,0.667259556
-0.120265759,0.176019011,0.416173717
-0.275065523,0.921190579,0.324061946
-0.490137925,0.337844445,0.135339916
-0.724097632,0.992269402,0.410123181
-0.296958503,0.142356399,0.479483213
-0.092381103,0.57773093,0.290898447
-0.89183933,0.312149005,0.295126666
-0.669251799,0.071453982,0.955861716
-0.938378225,0.324238979,0.455589077
-0.762236627,0.048617283,0.120655973
-0.886194063,0.842136906,0.886167779
-0.420448588,0.826040453,0.209811195
-0.496120113,0.140244984,0.010275807
-0.291770734,0.089337397,0.940136172
-0.823744617,0.442752205,0.79506829
-0.86635257,0.308919721,0.929313191
-0.124187371,0.515507145,0.3952627
-0.515643261,0.514493405,0.592216269
-0.435577703,0.202265522,0.749380396
-0.851215206,0.581140662,0.909262689
-0.97276388,0.305964393,0.119556192
-0.833642983,0.44267292,0.574065373
-0.908658096,0.985442117,0.032891222
-0.120536868,0.898167052,0.754847347
-0.328480689,0.206500348,0.883388839
-0.584233318,0.127164736,0.934356548
-0.520904286,0.085542266,0.469645136
-0.118804512,0.276694477,0.255706174
-0.669152609,0.480169645,0.350044668
-0.784599588,0.030844507,0.672270616
-0.97462202,0.984822685,0.801402402
-0.09061512,0.20599842,0.288943446
-0.500630874,0.668012143,0.326107661
-0.243946646,0.885842685,0.356343047
-0.704519934,0.112411764,0.840776533
-0.064722176,0.148130565,0.724221405
-0.069998846,0.826917642,0.285248236
-0.463142105,0.129132053,0.071693121
-0.065672617,0.491471158,0.143248345
-0.345719852,0.550477283,0.417188691
-0.523811405,0.923188335,0.366706095
-0.57113315,0.798590349,0.465646081
-0.828359309,0.886833757,0.470994632
-0.649200809,0.422037446,0.338970547
-0.991959241,0.065292471,0.545926733
-0.402707667,0.892315167,0.157737898
-0.583371677,0.915247643,0.510882162
-0.286752954,0.119216908,0.422178531
-0.000574842,0.932477989,0.322762631
-0.521100182,0.182516345,0.799539149
-0.217552185,0.32460329,0.001286413
-0.129263953,0.832799191,0.746800354
-0.859133069,0.682500693,0.035727655
-0.081296267,0.499283963,0.851895509
-0.709384988,0.14985208,0.186521894
-0.247922963,0.253358356,0.872326832
-0.203028631,0.068652472,0.553487984
-0.292370767,0.925595124,0.401383438
-0.721522222,0.300176493,0.452098604
-0.622021123,0.308001842,0.51395483
-0.601298816,0.268135963,0.584441602
-0.207949629,0.407128704,0.699430418
-0.152216375,0.92660356,0.07049208
-0.997031345,0.789488864,0.194662825
-0.14170589,0.513011324,0.250918681
-0.979853004,0.246273698,0.732371057
-0.441466086,0.428787477,0.680856737
-0.513859379,0.668402062,0.50429415
-0.32103853,0.59436219,0.481843963
-0.466004374,0.019901121,0.225087815
-0.546731744,0.359957666,0.776590304
-0.088133727,0.021028123,0.579299556
-0.172044151,0.237278834,0.567876411
-0.576325796,0.86256513,0.487980769
-0.459957415,0.004052068,0.41344615
-0.72021758,0.906208873,0.049850195
-0.835505139,0.006504875,0.716129577
-0.974913096,0.06350265,0.945758998
-0.538076764,0.931252476,0.05429443
-0.921879308,0.750002283,0.120075272
-0.825790117,0.095295707,0.471769578
-0.667512779,0.726667248,0.68041055
-0.604774928,0.209313615,0.803678279
-0.058678158,0.457882119,0.491090679
-0.46503574,0.647148555,0.063745514
-0.268569925,0.07151649,0.354414339
-0.309997568,0.048651773,0.652050824
-0.852057231,0.800064591,0.378993288
-0.101844132,0.975250128,0.919521375
-0.879950774,0.012524944,0.243977924
-0.71298613,0.410784591,0.766666426
-0.253953963,0.18863912,0.353408633
-0.859540187,0.786140568,0.50468592
-0.885165537,0.182373738,0.365436093
-0.919226953,0.132590959,0.305319302
-0.794222067,0.325843691,0.81503301
-0.360472386,0.828503699,0.992751302
-0.568328182,0.596642015,0.166689456
-0.495797608,0.390533497,0.466894225
-0.497383703,0.057721092,0.136501948
-0.18770586,0.924785691,0.325442341
-0.693138587,0.351786889,0.499636742
-0.898980429,0.759285754,0.006488642
-0.203362481,0.362873482,0.576750046
-0.178651329,0.720602676,0.881219809
-0.176525065,0.325805008,0.029694687
-0.280908733,0.527522643,0.545345238
-0.370750152,0.138599939,0.044930538
-0.675097184,0.14761356,0.378589866
-0.735023127,0.793326142,0.751658301
-0.589712544,0.569527756,0.006401988
-0.528971516,0.297342992,0.454367414
-0.691477287,0.799565463,0.424110191
-0.261622015,0.848996059,0.848455301
-0.401014342,0.684428894,0.631646442
-0.16646465,0.252704215,0.907185556
-0.100875707,0.566947803,0.906685851
-0.434813596,0.104021401,0.167032575
-0.525475323,0.508926771,0.950312938
-0.159164103,0.298161029,0.813651341
-0.688364345,0.371765734,0.533450516
-0.712069354,0.849924822,0.351626269
-0.322500041,0.141195673,0.954104724
-0.146595062,0.93264431,0.190821916
-0.71991816,0.904994255,0.945180752
-0.025505056,0.369278227,0.225567491
-0.450884297,0.163076541,0.835655337
-0.666130325,0.52707414,0.82767262
-0.747584223,0.050899988,0.253442115
-0.525074918,0.930938393,0.27765909
-0.940041036,0.129750051,0.169526547
-0.976328221,0.406056506,0.156213454
-0.413206486,0.217043404,0.425652131
-0.108491931,0.963192763,0.498477601
-0.958709036,0.585116585,0.507265441
-0.048428848,0.713725414,0.728970388
-0.587791364,0.896305822,0.279922122
-0.086686919,0.740059232,0.914875869
-0.422027713,0.086096483,0.419750985
-0.767716034,0.871663257,0.103971292
-0.549835043,0.371430165,0.801009346
-0.557408598,0.341725364,0.279171927
-0.071240148,0.765613908,0.173767574
-0.713230298,0.779720404,0.253165546
-0.572322236,0.663937254,0.045664107
-0.428432377,0.161070991,0.891029544
-0.818292324,0.971164957,0.271696059
-0.269446053,0.962766931,0.051526478
-0.515277086,0.74833971,0.351491465
-0.796419252,0.556278732,0.361314209
-0.801556269,0.987424165,0.117197305
-0.782772261,0.05866778,0.982749779
-0.21806961,0.609256862,0.798461899
-0.699205142,0.038761394,0.271238908
-0.534754129,0.27476979,0.163606178
-0.003518131,0.437675965,0.388250875
-0.619198012,0.090710318,0.566559914
-0.178576562,0.885793567,0.022734794
-0.578539981,0.281190469,0.008260142
-0.177713211,0.393560621,0.052236228
-0.846158221,0.357695748,0.875170299
-0.127568308,0.638314871,0.946658268
-0.767138325,0.621405933,0.564104167
-0.798451074,0.40443786,0.599831193
-0.616223487,0.665752297,0.971012789
-0.267441096,0.388352985,0.430687937
-0.923867358,0.654582643,0.464037122
-0.492137227,0.706258913,0.378247168
-0.536642887,0.555595419,0.104998227
-0.992969717,0.688862613,0.896407883
-0.454975157,0.851727744,0.144297419
-0.317976254,0.620102227,0.416793119
-0.440632343,0.535615753,0.913356284
-0.791010869,0.962116708,0.627040144
-0.926826073,0.382456611,0.465806072
-0.568904993,0.514101455,0.724489494
-0.895517901,0.391005356,0.347893715
-0.289875186,0.830981849,0.92116788
-0.95185048,0.996829271,0.970163256
-0.079055453,0.999386589,0.528208258
-0.926932102,0.147799896,0.417138668
-0.244651465,0.832349744,0.221104338
-0.179560876,0.149581841,0.97827318
-0.869778794,0.116050413,0.930858226
-0.681347988,0.700100934,0.003010153
-0.688804753,0.087819887,0.217246073
-0.054919581,0.536206628,0.011960678
-0.640496257,0.193125181,0.654595034
-0.879605152,0.152112809,0.50946439
-0.336877078,0.352944356,0.032651908
-0.578287892,0.410740871,0.424981809
-0.655610763,0.370342392,0.021605292
-0.184746216,0.078627828,0.615262076
-0.335250916,0.744164606,0.7834867
-0.086006226,0.796624922,0.100735176
-0.278674471,0.483655368,0.117132599
-0.994681992,0.915583798,0.682419845
-0.077364925,0.488968443,0.762836001
-0.460939585,0.226843633,0.262301782
-0.998409563,0.464398025,0.918229672
-0.221191504,0.605272697,0.236818579
-0.305532514,0.107986913,0.285771959
-0.429457882,0.021852143,0.417044654
-0.4398254,0.904405397,0.587007492
-0.472361927,0.615492219,0.311474339
-0.4847793,0.830454499,0.692963217
-0.525054945,0.760690911,0.176296268
-0.117729529,0.425190139,0.763022992
-0.435815483,0.901034288,0.68353143
-0.310722347,0.711502874,0.050054312
-0.692557474,0.756865138,0.823601442
-0.748561397,0.302607431,0.404056776
-0.370478834,0.749199053,0.220199408
-0.686929375,0.172808164,0.22046762
-0.037511035,0.299597568,0.543432459
-0.513900441,0.892613907,0.740051648
-0.389543522,0.806516669,0.891439062
-0.053758187,0.367104684,0.356060944
-0.450039969,0.18662041,0.022226949
-0.481122219,0.376490604,0.455652341
-0.97009151,0.252002631,0.121449418
-0.322174741,0.359645571,0.785282495
-0.904310053,0.730301338,0.994210513
-0.450101531,0.92830086,0.086584177
-0.456948101,0.90305291,0.216589856
-0.430158828,0.574385535,0.812451667
-0.958800913,0.229029132,0.004822368
-0.641856333,0.757170989,0.097059421
-0.442276634,0.278413528,0.877655305
-0.036927777,0.425286999,0.92305997
-0.996003678,0.902465847,0.265142606
-0.306340939,0.260744837,0.528606261
-0.098272048,0.162476078,0.354882218
-0.658054373,0.890822429,0.9000076
-0.087284546,0.695167739,0.026293663
-0.667310433,0.902843368,0.248946207
-0.451887926,0.995052067,0.181712955
-0.721298527,0.006611482,0.727102995
-0.180137144,0.38951174,0.678305837
-0.420761331,0.419860176,0.010656383
-0.788488075,0.180473318,0.708019695
-0.662265015,0.757397169,0.348937464
-0.22732873,0.663301685,0.39923678
-0.716892599,0.552981067,0.089832495
-0.177215605,0.465175647,0.887666589
-0.4010009,0.597937203,0.09497585
-0.259096154,0.591668012,0.145793124
-0.7855796,0.541345166,0.383678057
-0.201753532,0.613603748,0.879697044
-0.825321851,0.452349759,0.192581377
-0.171266337,0.782789247,0.848185787
-0.989170718,0.575391852,0.643933271
-0.224216552,0.128615538,0.261286445
-0.355440689,0.629457955,0.902600249
-0.72784327,0.282293864,0.605943451
-0.210467186,0.748327916,0.269725684
-0.703080367,0.411052005,0.029450281
-0.611720264,0.653108765,0.115754888
-0.625714261,0.426502244,0.253625516
-0.080879639,0.231561531,0.000776511
-0.580765049,0.214103901,0.655333535
-0.411287343,0.079075761,0.794277642
-0.710073858,0.646863988,0.71074505
-0.335569397,0.900645276,0.683474835
-0.967747154,0.579773932,0.534024604
-0.766717973,0.582199309,0.533102234
-0.383468743,0.426721157,0.027251934
-0.490400205,0.117276739,0.92366954
-0.526437331,0.70107653,0.671085752
-0.889392656,0.764668251,0.594183178
-0.638642815,0.578480214,0.97861599
-0.87668719,0.16462794,0.216101311
-0.42672965,0.578827138,0.263549989
-0.811170473,0.093966938,0.225951223
-0.099089206,0.263591386,0.882393744
-0.38399777,0.327948679,0.494541301
-0.183583616,0.008025085,0.345896483
-0.584960878,0.5469813,0.968535684
-0.361345034,0.854037953,0.527327995
-0.984905322,0.997741532,0.876521812
-0.074758264,0.39928899,0.847634791
-0.78330323,0.392062416,0.024783838
-0.467728166,0.712167022,0.024533141
-0.587280899,0.398576247,0.573112113
-0.964829971,0.025982741,0.969019811
-0.9497508,0.659436309,0.204878206
-0.657359903,0.347373583,0.193308068
-0.186434557,0.521059421,0.070439079
-0.870109867,0.062761012,0.710077454
-0.217962469,0.288311322,0.190708548
-0.955539243,0.022311215,0.71590241
-0.625665814,0.76136552,0.988044588
-0.597252746,0.710748192,0.314068902
-0.516054372,0.327282916,0.54307302
-0.271367679,0.738701611,0.304169987
-0.933804469,0.580994455,0.210076964
-0.127919156,0.599299518,0.585857959
-0.676065679,0.558987708,0.958866142
-0.316141871,0.460898294,0.141769324
-0.471335921,0.089770919,0.358606362
-0.623875078,0.120949677,0.031070096
-0.279561054,0.756633154,0.523821594
-0.367638452,0.041473293,0.205100917
-0.194748444,0.554149226,0.891998106
-0.41189445,0.060780804,0.739908884
-0.463521747,0.175865472,0.535693142
-0.945971006,0.966028962,0.856940254
-0.183047078,0.337562524,0.181769865
-0.594627884,0.198176957,0.150059332
-0.843270928,0.530723522,0.928016742
-0.223830394,0.396224789,0.671524797
-0.660767374,0.651553136,0.816830801
-0.435601302,0.067504838,0.286367496
-0.118647364,0.597413606,0.736034901
-0.130876628,0.718657894,0.132667782
-0.512036173,0.807939768,0.573980493
-0.651567779,0.146952948,0.239972065
-0.288725439,0.224872447,0.043641949
-0.13707238,0.381109232,0.022199238
-0.754226814,0.167426623,0.961971718
-0.951586322,0.053557001,0.223348551
-0.618926676,0.885546611,0.123622882
-0.790423531,0.278666859,0.501354777
-0.038612914,0.868235102,0.288826116
-0.488859959,0.478054033,0.700027159
-0.862804894,0.011591559,0.750381881
-0.994070885,0.954113216,0.968886216
-0.452966461,0.985185262,0.402556559
-0.163204173,0.188199516,0.352205827
-0.15850908,0.505182571,0.583169832
-0.135779826,0.409087768,0.238200196
-0.643385144,0.86154063,0.14538336
-0.50233965,0.544662955,0.992305772
-0.208435385,0.031950832,0.061424365
-0.866478253,0.391456921,0.511463088
-0.4937369,0.216683838,0.68183869
-0.635277683,0.264963125,0.828569956
-0.57036797,0.199089208,0.947261901
-0.622849636,0.554898686,0.300444481
-0.148150252,0.793195105,0.95852649
-0.118643776,0.375521816,0.127817104
-0.758672306,0.928120507,0.147843091
-0.988902496,0.305378105,0.027460368
-0.101391422,0.187140233,0.666743757
-0.742622491,0.913697728,0.538923383
-0.093250323,0.083342814,0.253041857
-0.769590781,0.9991462,0.438612548
-0.729371479,0.304770086,0.732577389
-0.309854988,0.231328158,0.907015378
-0.357043464,0.291981607,0.210471606
-0.310867898,0.310831132,0.021305479
-0.099716251,0.743995352,0.892636908
-0.41508308,0.015438634,0.257251295
-0.53442204,0.552940574,0.911759333
-0.066875817,0.519643391,0.683239895
-0.960228558,0.637860456,0.564663828
-0.166667197,0.282113595,0.909573438
-0.400063729,0.629753113,0.314970443
-0.708945745,0.167807931,0.868195558
-0.371947838,0.749772529,0.913374887
-0.364252703,0.719347038,0.968988396
-0.565947998,0.47317603,0.848594323
-0.963005103,0.86347636,0.213376655
-0.010974265,0.115488107,0.918644935
-0.579274525,0.748172658,0.195517101
-0.054742886,0.089561473,0.35514667
-0.352904397,0.177453817,0.485671073
-0.86540568,0.455589491,0.325840682
-0.826269285,0.742045207,0.836774969
-0.075485913,0.446267336,0.134777488
-0.123130773,0.10695964,0.319080831
-0.353341713,0.250920125,0.94582804
-0.934151416,0.641155987,0.332526901
-0.183094596,0.975798892,0.512697523
-0.931523642,0.525759501,0.067066893
-0.171012136,0.581683693,0.603794825
-0.489763176,0.561915728,0.886623062
-0.427818728,0.227974683,0.462025302
-0.059325421,0.726266371,0.692412984
-0.770271664,0.743519141,0.117959307
-0.107862896,0.552555172,0.592259145
-0.445007388,0.046308389,0.69499137
-0.056486616,0.370154602,0.498507879
-0.347798483,0.541312622,0.44955603
-0.01637411,0.777726654,0.346640124
-0.918778501,0.247274577,0.931656904
-0.468325578,0.552066653,0.233304727
-0.558842714,0.30110019,0.237582706
-0.520406065,0.396600845,0.627623904
-0.42717615,0.55961213,0.312743984
-0.043819454,0.060632818,0.168267929
-0.151405047,0.276450913,0.385322692
-0.864539894,0.203199707,0.865006307
-0.866179018,0.649792248,0.369625823
-0.566181508,0.155001949,0.751738414
-0.022193506,0.262524266,0.378478591
-0.835870282,0.436869514,0.439857307
-0.54507765,0.825712044,0.425012638
-0.180124959,0.284189803,0.059324375
-0.91303517,0.659662103,0.021990781
-0.068890512,0.857174742,0.245915138
-0.146299591,0.2282098,0.992357695
-0.279495766,0.087424865,0.532747766
-0.095737503,0.107245868,0.190786801
-0.276947216,0.537071712,0.654100689
-0.010738646,0.40673838,0.479608479
-0.420307684,0.947352567,0.178277524
-0.108124774,0.127227634,0.278086371
-0.18958629,0.587262704,0.69187928
-0.814773727,0.220263054,0.007250506
-0.948149379,0.572617808,0.939774741
-0.150492895,0.970045889,0.979230909
-0.997567108,0.897085006,0.573132383
-0.039773611,0.517659257,0.317936584
-0.915778891,0.598912752,0.541405962
-0.081857212,0.994515385,0.261260636

Deleted: mlpack/trunk/src/mlpack/methods/emst/union_find_test.cpp
===================================================================
--- mlpack/trunk/src/mlpack/methods/emst/union_find_test.cpp	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/emst/union_find_test.cpp	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,50 +0,0 @@
-/**
- * @file union_find_test.cc
- *
- * @author Bill March (march at gatech.edu)
- *
- * Unit tests for the Union-Find data structure.
- */
-
-#include "union_find.hpp"
-
-#include <mlpack/core.h>
-
-#define BOOST_TEST_MODULE UnionFindTest
-#include <boost/test/unit_test.hpp>
-
-using namespace mlpack;
-using namespace mlpack::emst;
-
-BOOST_AUTO_TEST_CASE(TestFind) {
-  static const size_t test_size_ = 10;
-  UnionFind test_union_find_;
-  test_union_find_.Init(test_size_);
-
-  for (size_t i = 0; i < test_size_; i++) {
-    BOOST_REQUIRE(test_union_find_.Find(i) == i);
-  }
-  test_union_find_.Union(0,1);
-  test_union_find_.Union(1, 2);
-
-  BOOST_REQUIRE(test_union_find_.Find(2) == test_union_find_.Find(0));
-
-}
-
-BOOST_AUTO_TEST_CASE(TestUnion) {
-  static const size_t test_size_ = 10;
-  UnionFind test_union_find_;
-  test_union_find_.Init(test_size_);
-
-  test_union_find_.Union(0, 1);
-  test_union_find_.Union(2, 3);
-  test_union_find_.Union(0, 2);
-  test_union_find_.Union(5, 0);
-  test_union_find_.Union(0, 6);
-
-  BOOST_REQUIRE(test_union_find_.Find(0) == test_union_find_.Find(1));
-  BOOST_REQUIRE(test_union_find_.Find(2) == test_union_find_.Find(3));
-  BOOST_REQUIRE(test_union_find_.Find(1) == test_union_find_.Find(5));
-  BOOST_REQUIRE(test_union_find_.Find(6) == test_union_find_.Find(3));
-}
-

Modified: mlpack/trunk/src/mlpack/methods/fastica/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/methods/fastica/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/fastica/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -23,12 +23,3 @@
 target_link_libraries(fastica
   mlpack
 )
-
-add_executable(lin_alg_test
-  lin_alg.hpp
-  lin_alg_test.cpp
-)
-target_link_libraries(lin_alg_test
-  mlpack
-  boost_unit_test_framework
-)

Deleted: mlpack/trunk/src/mlpack/methods/fastica/lin_alg_test.cpp
===================================================================
--- mlpack/trunk/src/mlpack/methods/fastica/lin_alg_test.cpp	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/fastica/lin_alg_test.cpp	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,126 +0,0 @@
-/***
- * lin_alg_test.cc
- *
- * Simple tests for things in the linalg__private namespace.
- * Partly so I can be sure that my changes are working.
- * Move to boost unit testing framework at some point.
- *
- * @author Ryan Curtin
- */
-#include <mlpack/core.h>
-
-#include "lin_alg.hpp"
-
-using namespace arma;
-using namespace mlpack;
-using namespace fastica;
-using namespace linalg__private;
-
-#define BOOST_TEST_MODULE linAlgTest
-#include <boost/test/unit_test.hpp>
-
-/***
- * Test for linalg__private::Center().  There are no edge cases here, so we'll
- * just try it once for now.
- */
-BOOST_AUTO_TEST_CASE(TestCenterA) {
-  mat tmp(5, 5);
-  // [[0  0  0  0  0]
-  //  [1  2  3  4  5]
-  //  [2  4  6  8  10]
-  //  [3  6  9  12 15]
-  //  [4  8  12 16 20]]
-  for (int row = 0; row < 5; row++) {
-    for (int col = 0; col < 5; col++)
-      tmp(row, col) = row * (col + 1);
-  }
-
-  mat tmp_out;
-  Center(tmp, tmp_out);
-
-  // average should be
-  // [[0 3 6 9 12]]'
-  // so result should be
-  // [[ 0  0  0  0  0]
-  //  [-2 -1  0  1  2 ]
-  //  [-4 -2  0  2  4 ]
-  //  [-6 -3  0  3  6 ]
-  //  [-8 -4  0  4  8]]
-  for (int row = 0; row < 5; row++) {
-    for (int col = 0; col < 5; col++) {
-      BOOST_REQUIRE_CLOSE(tmp_out(row, col), (double) (col - 2) * row, 1e-5);
-    }
-  }
-}
-
-BOOST_AUTO_TEST_CASE(TestCenterB) {
-  mat tmp(5, 6);
-  for (int row = 0; row < 5; row++) {
-    for (int col = 0; col < 6; col++)
-      tmp(row, col) = row * (col + 1);
-  }
-
-  mat tmp_out;
-  Center(tmp, tmp_out);
-
-  // average should be
-  // [[0 3.5 7 10.5 14]]'
-  // so result should be
-  // [[ 0    0    0   0   0   0  ]
-  //  [-2.5 -1.5 -0.5 0.5 1.5 2.5]
-  //  [-5   -3   -1   1   3   5  ]
-  //  [-7.5 -4.5 -1.5 1.5 1.5 4.5]
-  //  [-10  -6   -2   2   6   10 ]]
-  for (int row = 0; row < 5; row++) {
-    for (int col = 0; col < 6; col++) {
-      BOOST_REQUIRE_CLOSE(tmp_out(row, col), (double) (col - 2.5) * row, 1e-5);
-    }
-  }
-}
-
-BOOST_AUTO_TEST_CASE(TestWhitenUsingEig) {
-  // After whitening using eigendecomposition, the covariance of
-  // our matrix will be I (or something very close to that).
-  // We are loading a matrix from an external file... bad choice.
-  mat tmp, tmp_centered, whitened, whitening_matrix;
-
-  data::Load("trainSet.csv", tmp);
-  Center(tmp, tmp_centered);
-  WhitenUsingEig(tmp_centered, whitened, whitening_matrix);
-
-  mat newcov = ccov(whitened);
-  for (int row = 0; row < 5; row++) {
-    for (int col = 0; col < 5; col++) {
-      if (row == col) {
-        // diagonal will be 0 in the case of any zero-valued eigenvalues
-        // (rank-deficient covariance case)
-        if (std::abs(newcov(row, col)) > 1e-10)
-          BOOST_REQUIRE_CLOSE(newcov(row, col), 1.0, 1e-10);
-      } else {
-        BOOST_REQUIRE_SMALL(newcov(row, col), 1e-10);
-      }
-    }
-  }
-}
-
-BOOST_AUTO_TEST_CASE(TestOrthogonalize) {
-  // Generate a random matrix; then, orthogonalize it and test if it's
-  // orthogonal.
-  mat tmp, orth;
-  data::Load("fake.csv", tmp);
-  Orthogonalize(tmp, orth);
-
-  // test orthogonality
-  mat test = ccov(orth);
-  double ival = test(0, 0);
-  for (size_t row = 0; row < test.n_rows; row++) {
-    for (size_t col = 0; col < test.n_cols; col++) {
-      if (row == col) {
-        if (std::abs(test(row, col)) > 1e-10)
-          BOOST_REQUIRE_CLOSE(test(row, col), ival, 1e-10);
-      } else {
-        BOOST_REQUIRE_SMALL(test(row, col), 1e-10);
-      }
-    }
-  }
-}

Modified: mlpack/trunk/src/mlpack/methods/infomax_ica/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/methods/infomax_ica/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/infomax_ica/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -16,14 +16,6 @@
 # the parent scope).
 set(MLPACK_SRCS ${MLPACK_SRCS} ${DIR_SRCS} PARENT_SCOPE)
 
-add_executable(infomax_ica_test
-  infomax_ica_test.cc
-)
-target_link_libraries(infomax_ica_test
-  mlpack
-  boost_unit_test_framework
-)
-
 add_executable(infomax_ica
   main.cc
 )

Deleted: mlpack/trunk/src/mlpack/methods/infomax_ica/infomax_ica_test.cc
===================================================================
--- mlpack/trunk/src/mlpack/methods/infomax_ica/infomax_ica_test.cc	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/infomax_ica/infomax_ica_test.cc	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,62 +0,0 @@
-/**
- * @file main.cc
- *
- * Test driver for our infomax ICA method.
- */
-#include <mlpack/core.h>
-
-#include "infomax_ica.h"
-
-using namespace mlpack;
-using namespace infomax_ica;
-
-#define BOOST_TEST_MODULE TestInfomaxICA
-#include <boost/test/unit_test.hpp>
-
-void testSQRTM(InfomaxICA& icab_, arma::mat& m) {
-  icab_.sqrtm(m);
-}
-BOOST_AUTO_TEST_CASE(SqrtM) {
-  arma::mat testdatab_;
-  double lambdab_ = 0.001;
-  int bb_ = 5;
-  double epsilonb_ = 0.001;
-
-  data::Load("fake.csv", testdatab_);
-
-  InfomaxICA icab_(lambdab_, bb_, epsilonb_);
-
-  arma::mat intermediateb = icab_.sampleCovariance(testdatab_);
-  testSQRTM(icab_, intermediateb);
-}
-
-BOOST_AUTO_TEST_CASE(TestCov) {
-  arma::mat testdata_;
-
-  double lambda_ = 0.001;
-  int b_ = 5;
-  double epsilon_ = 0.001;
-
-  // load some test data that has been verified using the matlab
-  // implementation of infomax
-  data::Load("fake.csv", testdata_);
-
-  InfomaxICA ica_(lambda_, b_, epsilon_);
-  ica_.sampleCovariance(testdata_);
-}
-
-BOOST_AUTO_TEST_CASE(TestICA) {
-  arma::mat testdata_;
-  double lambda_ = 0.001;
-  int b_ = 5;
-  double epsilon_ = 0.001;
-
-  // load some test data that has been verified using the matlab
-  // implementation of infomax
-  data::Load("fake.csv", testdata_);
-
-  InfomaxICA ica_(lambda_, b_, epsilon_);
-  arma::mat unmixing;
-  ica_.applyICA(testdata_);
-  ica_.getUnmixing(unmixing);
-}

Deleted: mlpack/trunk/src/mlpack/methods/kernel_pca/test_data_3_1000.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/kernel_pca/test_data_3_1000.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/kernel_pca/test_data_3_1000.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,1000 +0,0 @@
-0.339406815,0.843176636,0.472701471
-0.212587646,0.351174901,0.81056695
-0.605649993,0.45338097,0.623370668
-0.269783539,0.482031883,0.36535861
-0.725254282,0.477113042,0.042100268
-0.529287901,0.776008587,0.303809928
-0.098778217,0.318454787,0.983422857
-0.685345453,0.837942768,0.540406673
-0.503220972,0.268813629,0.41488501
-0.160147626,0.255047893,0.04072469
-0.564535197,0.943435462,0.597070812
-0.663842864,0.276972185,0.02208704
-0.077321401,0.032366881,0.826784604
-0.794220519,0.319582218,0.266025433
-0.466815953,0.864683732,0.684380976
-0.680962499,0.009554527,0.484176898
-0.257862396,0.875068776,0.326253946
-0.695503778,0.695095604,0.955586038
-0.569205007,0.662786497,0.036489177
-0.604542917,0.250714055,0.232826165
-0.928175028,0.871769923,0.327107027
-0.362809806,0.270846833,0.917535106
-0.567471988,0.09223176,0.018232595
-0.30294,0.197331083,0.676067984
-0.136497436,0.991079028,0.640906359
-0.490191642,0.321877535,0.210121475
-0.886240693,0.124811844,0.109638108
-0.487537807,0.474289999,0.34183089
-0.038698268,0.515865087,0.984297254
-0.437309222,0.534489172,0.792665419
-0.898099395,0.461121197,0.785225662
-0.256850927,0.840446806,0.056158684
-0.335408063,0.806637161,0.913551388
-0.11329872,0.670392847,0.333361274
-0.954403847,0.024104509,0.325578493
-0.824152332,0.614355433,0.271931013
-0.729647547,0.666093053,0.579723184
-0.25675029,0.94037263,0.530553224
-0.799877963,0.555666351,0.056606945
-0.213120693,0.763046224,0.341926361
-0.975873714,0.554796483,0.049489218
-0.422782321,0.375502502,0.875514176
-0.732474122,0.920181004,0.273895723
-0.288070185,0.878065303,0.57017629
-0.269706239,0.854626516,0.607709975
-0.615118638,0.006748605,0.00278243
-0.655373608,0.348029869,0.909502319
-0.358287814,0.419322455,0.362741982
-0.152473842,0.659459939,0.497284571
-0.930791658,0.934132013,0.150924236
-0.792977546,0.953203388,0.465884431
-0.971953827,0.268751729,0.220474277
-0.244730747,0.056636753,0.088649766
-0.873554351,0.305649442,0.91790044
-0.26662478,0.221646762,0.310857157
-0.659541537,0.93018384,0.139339275
-0.833616742,0.833734413,0.551027856
-0.43405195,0.874582065,0.996443541
-0.442896336,0.118977275,0.03127628
-0.388886541,0.976070927,0.294801481
-0.14757794,0.195944854,0.129778502
-0.73209291,0.551685931,0.218866346
-0.85393572,0.675733762,0.501776114
-0.804291505,0.746786474,0.94053733
-0.199998362,0.403471102,0.614783956
-0.302029244,0.084831174,0.043490422
-0.458371115,0.076068613,0.940418665
-0.122287089,0.867270578,0.612001352
-0.423331474,0.370629389,0.407480574
-0.400056969,0.919523609,0.940521669
-0.74852813,0.872400563,0.915423635
-0.614934326,0.67621724,0.382278246
-0.0184522,0.545825352,0.74127138
-0.937453855,0.175662201,0.666301896
-0.504358818,0.251308945,0.849159677
-0.397410107,0.973000161,0.648601332
-0.398342217,0.110698975,0.916968596
-0.464980239,0.683124011,0.070633362
-0.787030874,0.393777381,0.731973049
-0.612845512,0.893440416,0.475331995
-0.241219407,0.792282417,0.389574277
-0.465756798,0.552685716,0.092092299
-0.908028882,0.837528446,0.794160948
-0.552741674,0.898614081,0.764312365
-0.607116253,0.958698621,0.334887326
-0.322583246,0.541387861,0.879874555
-0.124522558,0.229074642,0.510214096
-0.049900273,0.471371867,0.367698395
-0.261657863,0.105228571,0.748191349
-0.216818324,0.700885804,0.34479269
-0.896337659,0.634574468,0.203599217
-0.961150989,0.920563011,0.795999477
-0.120635447,0.744570376,0.107177572
-0.696406743,0.788342315,0.173664558
-0.577700329,0.493151732,0.989211395
-0.270346683,0.586765585,0.208832269
-0.171412097,0.116618251,0.53141933
-0.596260532,0.819973735,0.531503373
-0.120665467,0.556332466,0.643268746
-0.546751646,0.563896374,0.079856633
-0.637150933,0.126536213,0.823749724
-0.637940649,0.951567917,0.397777975
-0.344749598,0.517031469,0.48297473
-0.296545224,0.419944602,0.99985146
-0.707956343,0.985929306,0.942420811
-0.24734852,0.001808114,0.489512545
-0.29395388,0.751934338,0.924845167
-0.306350765,0.676837884,0.614397758
-0.387029257,0.668882644,0.316866608
-0.166701475,0.220250465,0.70788096
-0.666366134,0.343214579,0.063804166
-0.970614577,0.514452347,0.643280872
-0.084297811,0.906111319,0.590434434
-0.163302217,0.226212634,0.074753132
-0.20207705,0.197835179,0.217985026
-0.413236066,0.640190511,0.520645448
-0.807941459,0.463910044,0.996796367
-0.208875906,0.182468954,0.876826443
-0.743474185,0.840439019,0.143677671
-0.266758693,0.103719005,0.920995789
-0.030607849,0.973154392,0.814015083
-0.237753714,0.374336732,0.44138091
-0.83212984,0.547216604,0.371699647
-0.302411666,0.58054099,0.303141758
-0.949214871,0.783756542,0.457582838
-0.32776739,0.133095384,0.351183944
-0.673471065,0.432009028,0.761641303
-0.120361022,0.494421101,0.954699616
-0.049975694,0.857405242,0.133753572
-0.314326245,0.599784238,0.698931698
-0.10972582,0.994733888,0.603365409
-0.246939825,0.79385323,0.576049373
-0.420949269,0.55824091,0.684730016
-0.085903635,0.678776288,0.759533545
-0.221902971,0.606683148,0.183625782
-0.934582003,0.263106456,0.195228637
-0.276550653,0.563455012,0.477130256
-0.939865401,0.683543172,0.98694541
-0.090714119,0.155392084,0.183225576
-0.546170002,0.226065658,0.757518873
-0.635725491,0.259656977,0.803254796
-0.768135532,0.329687113,0.784471673
-0.67201594,0.69314804,0.216292884
-0.731388623,0.632648812,0.298465113
-0.030104188,0.531279626,0.68605789
-0.404907965,0.617707054,0.646985633
-0.38264213,0.522044947,0.606066308
-0.850778503,0.771072538,0.780038925
-0.333386945,0.62981651,0.838539888
-0.144526261,0.90723358,0.672092924
-0.803193149,0.545698586,0.740250704
-0.144775421,0.073065649,0.81327723
-0.800150626,0.077947117,0.498989131
-0.805355858,0.282274855,0.111520406
-0.432276345,0.614069782,0.04562788
-0.119740317,0.122788948,0.68461108
-0.188596378,0.666133286,0.753645204
-0.143050522,0.393902986,0.609633117
-0.754401856,0.84172035,0.387786256
-0.97549575,0.97044364,0.621482928
-0.735098473,0.96738673,0.239086021
-0.825090649,0.153687653,0.520111132
-0.720848546,0.211391499,0.513430909
-0.572411742,0.56579983,0.313933048
-0.766584951,0.704264072,0.103088529
-0.933914925,0.70795791,0.378434849
-0.232266382,0.864968616,0.664769493
-0.180748316,0.792633394,0.983236654
-0.320744207,0.073646797,0.915148464
-0.058415284,0.478244018,0.171213592
-0.613274471,0.423949271,0.899198164
-0.83818587,0.622457639,0.496368891
-0.547369341,0.5160996,0.318684775
-0.489079348,0.504840066,0.174865371
-0.133510366,0.873938618,0.95342181
-0.355477984,0.610358907,0.32242224
-0.32167355,0.132961802,0.381440702
-0.660257981,0.59386003,0.570704079
-0.519799486,0.220676336,0.85452965
-0.097125446,0.037837774,0.581579153
-0.801485909,0.741547848,0.06310355
-0.413142247,0.303102946,0.30224609
-0.07746447,0.555846316,0.750106689
-0.593760097,0.256631753,0.179035377
-0.819000445,0.86578977,0.797167379
-0.644052663,0.148335877,0.377067692
-0.02037784,0.835405997,0.192438566
-0.248506314,0.951214215,0.492923258
-0.387445752,0.862693509,0.11983047
-0.411437123,0.512831692,0.516380652
-0.481199694,0.970780992,0.565521666
-0.967908564,0.168755985,0.447517833
-0.280607962,0.670538365,0.548021587
-0.402044213,0.121532495,0.136718448
-0.83696286,0.739549154,0.495218329
-0.652215616,0.664877651,0.838254198
-0.846246408,0.411635906,0.96601722
-0.359827733,0.627436225,0.666295882
-0.522326573,0.496565812,0.404066784
-0.614406114,0.160072022,0.269439305
-0.221722954,0.558736063,0.890699947
-0.561777087,0.782270647,0.792345194
-0.385698506,0.295964873,0.697613223
-0.101162968,0.27600378,0.239798872
-0.075127486,0.14163579,0.728168103
-0.982440842,0.583109151,0.395072917
-0.69628067,0.26642599,0.283866713
-0.073093261,0.914332418,0.925554624
-0.01642578,0.927883834,0.248712685
-0.11636724,0.556067816,0.248282085
-0.487453151,0.058684617,0.294624957
-0.813726551,0.860917181,0.678149491
-0.492581545,0.501803813,0.193032429
-0.642766795,0.422421802,0.950458987
-0.662519175,0.950448071,0.157126432
-0.548815699,0.127905654,0.23337741
-0.159163516,0.345059322,0.586704542
-0.40029112,0.928563882,0.954476476
-0.587201396,0.44357769,0.797926632
-0.026827624,0.206281621,0.680220462
-0.884217164,0.266754666,0.652197582
-0.475019281,0.447732834,0.14299077
-0.193076354,0.317892868,0.976621856
-0.515208981,0.512331237,0.422351595
-0.336671812,0.870606258,0.364554196
-0.438596677,0.333836845,0.801388791
-0.194389409,0.929245672,0.589545825
-0.205377525,0.079938747,0.187363423
-0.426814991,0.823224852,0.707435026
-0.262972959,0.517545732,0.19872636
-0.720354434,0.847649202,0.709246477
-0.355306192,0.303943053,0.835051265
-0.949975427,0.106134411,0.204516092
-0.106374426,0.874129261,0.971439223
-0.14517828,0.371147898,0.695954142
-0.739099753,0.331888701,0.890413781
-0.627551297,0.9001009,0.177324543
-0.047488938,0.224289129,0.220822902
-0.912785118,0.79570392,0.838242455
-0.49717293,0.703176431,0.754883589
-0.090976094,0.502530756,0.657999889
-0.194042479,0.284561692,0.14516165
-0.409960603,0.285564554,0.097001811
-0.310205693,0.003434942,0.173823303
-0.233583043,0.118822434,0.816665508
-0.513843271,0.539640669,0.864405207
-0.40692643,0.436463418,0.369798489
-0.126544008,0.159580886,0.933714485
-0.286441339,0.872974675,0.04454198
-0.964565622,0.910027403,0.897861798
-0.203121728,0.899714292,0.085173744
-0.445639841,0.360999337,0.016645134
-0.307793993,0.117750087,0.562967352
-0.281587526,0.174834541,0.274581395
-0.119660773,0.099740072,0.484016211
-0.511583585,0.54938211,0.339766424
-0.188451695,0.073022292,0.006123739
-0.346586219,0.49567248,0.234826476
-0.225242461,0.587641331,0.725805817
-0.075409614,0.208266437,0.826377328
-0.204076002,0.04779427,0.040457828
-0.050861901,0.763043363,0.256073344
-0.972150662,0.792678045,0.909955027
-0.506115605,0.031837525,0.903340416
-0.804010111,0.955685921,0.175896939
-0.092926989,0.062223289,0.821308211
-0.363715968,0.726101463,0.79168981
-0.787381816,0.338102828,0.005758252
-0.484331698,0.495765424,0.891180155
-0.241982415,0.277129738,0.561477087
-0.484161267,0.286665154,0.03556541
-0.211600046,0.304292614,0.395789513
-0.372524976,0.202611617,0.166595985
-0.265124748,0.017345601,0.037686194
-0.701786714,0.420334817,0.714000487
-0.034048463,0.651290563,0.050634716
-0.802331316,0.558297752,0.291679579
-0.344037056,0.467477672,0.358504649
-0.639463582,0.425507582,0.954817361
-0.602885138,0.374751922,0.374607167
-0.993637385,0.955212301,0.16550343
-0.955669008,0.745723993,0.889786752
-0.365337348,0.19682491,0.506234866
-0.7457291,0.51831627,0.978818087
-0.92625289,0.631584997,0.443128894
-0.786168714,0.264993195,0.263960382
-0.316681591,0.61079768,0.089349247
-0.858371024,0.834969763,0.174819213
-0.525393487,0.243792169,0.955241627
-0.720242053,0.143419208,0.402799979
-0.749292304,0.217311863,0.799688479
-0.246462289,0.958943724,0.142358796
-0.528138907,0.590786754,0.948225902
-0.454799161,0.510565688,0.295103038
-0.953069085,0.021533141,0.116332423
-0.188120341,0.690529852,0.623168048
-0.318359731,0.758493036,0.91843922
-0.726077549,0.902046947,0.327147423
-0.386752461,0.338547997,0.651921958
-0.707225745,0.584329479,0.37703596
-0.060288975,0.494620757,0.075518168
-0.237652566,0.962903992,0.824801251
-0.535945075,0.958493881,0.754701994
-0.064404553,0.235151293,0.39448081
-0.979476468,0.347342952,0.99138709
-0.189166661,0.798328607,0.697048046
-0.180560013,0.342106481,0.174983336
-0.28337819,0.962425666,0.955845318
-0.593924663,0.66654314,0.570147835
-0.114749593,0.903677338,0.957687266
-0.151925114,0.716482401,0.637800283
-0.235669594,0.580788646,0.528893286
-0.778117587,0.250968708,0.684104646
-0.747849981,0.214563448,0.02984775
-0.720813243,0.066656345,0.737883757
-0.626964368,0.953760147,0.459809098
-0.469018562,0.720549931,0.518332767
-0.821461664,0.507041049,0.514946331
-0.384160041,0.953174654,0.443907617
-0.233220889,0.511502601,0.369065624
-0.434955659,0.150497671,0.76574469
-0.8958592,0.481635774,0.942994014
-0.979260732,0.445148596,0.323549157
-0.334878174,0.403760723,0.385124629
-0.460214884,0.33828675,0.592783427
-0.518346254,0.909618383,0.6009723
-0.338370801,0.317375424,0.337490389
-0.636668843,0.96449714,0.481975016
-0.025064304,0.923419227,0.119203699
-0.048318449,0.53489191,0.76133984
-0.491930784,0.016568024,0.112619998
-0.17743988,0.903969674,0.481918653
-0.981634317,0.513179093,0.316557669
-0.02560158,0.930375993,0.563316641
-0.017997936,0.890571459,0.4580491
-0.96277821,0.443025655,0.083145161
-0.419576578,0.112060055,0.531294103
-0.494454706,0.954168063,0.047922651
-0.800000835,0.673332473,0.064026809
-0.870702162,0.510095577,0.863030178
-0.851121904,0.916229763,0.781903614
-0.159726434,0.082081261,0.19548317
-0.362450326,0.788524336,0.826141196
-0.270846003,0.098989879,0.574494436
-0.406889772,0.838173717,0.436699777
-0.035503139,0.853255007,0.642800341
-0.083155666,0.952721164,0.708076056
-0.847697478,0.56519776,0.894660498
-0.037841045,0.984301359,0.365909559
-0.177721428,0.418447797,0.157612683
-0.429370039,0.508723836,0.767724035
-0.071851749,0.216253471,0.819600825
-0.578083664,0.212360494,0.627380646
-0.380746754,0.954034946,0.11483721
-0.211278539,0.560080096,0.685450354
-0.770737322,0.813954563,0.79322567
-0.318759117,0.06983,0.664250133
-0.059856737,0.06677071,0.26622355
-0.968241527,0.953861837,0.311894576
-0.504226431,0.06220937,0.289105117
-0.256406511,0.249902695,0.348997399
-0.674888311,0.860374,0.605942473
-0.246067727,0.048342783,0.343006159
-0.830735494,0.783740344,0.677522751
-0.99887952,0.341758368,0.229922444
-0.731699282,0.940258743,0.10886285
-0.541383735,0.910293019,0.381124662
-0.750868727,0.848911762,0.265718422
-0.425671591,0.626146239,0.622684142
-0.214013066,0.091251581,0.864057899
-0.545601885,0.310480085,0.046543211
-0.517244356,0.115819763,0.248517895
-0.872633121,0.50117097,0.12009094
-0.255496857,0.472006579,0.796438566
-0.468962035,0.26918685,0.131735945
-0.742353904,0.528441793,0.565922864
-0.85366711,0.2676075,0.914062206
-0.447698287,0.149534939,0.670156644
-0.445589481,0.6431063,0.225580433
-0.357872915,0.788565726,0.814611643
-0.580287142,0.506307991,0.527031912
-0.500500265,0.365277722,0.04677688
-0.141881394,0.926001483,0.86894952
-0.221717771,0.366035312,0.125658418
-0.600339909,0.684670388,0.826168927
-0.307898392,0.20966968,0.752966481
-0.959700077,0.899536378,0.491452813
-0.230433688,0.613941888,0.415683508
-0.495527265,0.634504412,0.370199526
-0.506575734,0.986633413,0.84941237
-0.761764339,0.963921599,0.828872018
-0.348601654,0.087553061,0.791174897
-0.104944192,0.102179531,0.905877926
-0.375324247,0.246387607,0.301420991
-0.875454272,0.118686164,0.988824311
-0.17698346,0.393647261,0.159870783
-0.917659703,0.583236755,0.630992101
-0.285048123,0.469986869,0.37272766
-0.011480822,0.597073945,0.904116141
-0.313259229,0.510005423,0.894823085
-0.795838324,0.911141124,0.928152818
-0.164974957,0.359128099,0.60236716
-0.983429159,0.003861397,0.083218217
-0.242529745,0.562773547,0.664077813
-0.765913188,0.194009625,0.286229668
-0.070781352,0.102661854,0.249285398
-0.511452125,0.418997177,0.284014634
-0.439472205,0.891870259,0.82363463
-0.580892549,0.466753672,0.140496383
-0.615517449,0.738921356,0.461546367
-0.824697707,0.698589656,0.941554339
-0.46610398,0.902958283,0.688012984
-0.523365471,0.691567649,0.547171487
-0.545929937,0.714552317,0.041938604
-0.32756288,0.701840615,0.927731162
-0.761874356,0.276228477,0.886668834
-0.979442228,0.298771691,0.591610911
-0.374731022,0.860510449,0.321638525
-0.8074911,0.097011746,0.930723417
-0.453431338,0.206882669,0.431005917
-0.910029309,0.03223923,0.493150704
-0.2897017,0.170401689,0.739971322
-0.024666309,0.777054677,0.769170439
-0.05624039,0.089983601,0.64642539
-0.149696037,0.539762835,0.702098143
-0.676100319,0.000479419,0.639516981
-0.967411256,0.893394783,0.958913773
-0.158669993,0.527294695,0.347808355
-0.181672491,0.532695548,0.988953142
-0.053598946,0.497693858,0.118111495
-0.132496571,0.985450674,0.753931807
-0.87586561,0.732063591,0.884137731
-0.419609591,0.012639269,0.645369169
-0.102047486,0.008854525,0.658344391
-0.123913855,0.210708056,0.499395878
-0.159685659,0.968477268,0.586268979
-0.834269522,0.369645239,0.245380904
-0.637297781,0.768550638,0.48870442
-0.778386961,0.376787501,0.03205647
-0.67713794,0.632054697,0.000672655
-0.860752189,0.140567399,0.326727043
-0.220600271,0.039797462,0.871431738
-0.373493897,0.910009286,0.043303147
-0.269453424,0.571833998,0.346704152
-0.919787568,0.373470212,0.873193468
-0.776952353,0.362003265,0.172733797
-0.575862615,0.900415576,0.599884308
-0.616882997,0.8845633,0.13177173
-0.366855251,0.729104299,0.950578149
-0.668847681,0.753527405,0.660832331
-0.264243456,0.308498641,0.912106098
-0.542527865,0.880831766,0.535728949
-0.460634645,0.013712653,0.152280892
-0.828209711,0.921304334,0.049084108
-0.874065663,0.473229025,0.545232499
-0.731220357,0.126627169,0.996060848
-0.943461868,0.033256065,0.992038738
-0.211193798,0.522810965,0.907780013
-0.767158364,0.967162642,0.888059793
-0.689583275,0.841550923,0.377520241
-0.147705388,0.959063909,0.031580823
-0.654707489,0.752912445,0.305046055
-0.628378168,0.075829853,0.719349441
-0.886468112,0.185491156,0.719710557
-0.749470564,0.448017109,0.897349202
-0.492693185,0.884164268,0.633427171
-0.44686733,0.7934547,0.773846432
-0.630683325,0.776592453,0.708944434
-0.814848973,0.845977344,0.643222219
-0.016975156,0.729138989,0.058020996
-0.511298247,0.07057554,0.733405098
-0.784480806,0.738595698,0.373688534
-0.530814843,0.44312087,0.691107945
-0.944091316,0.957332961,0.639542386
-0.771047017,0.811962024,0.977774991
-0.87020688,0.755962661,0.925248114
-0.458700988,0.334773333,0.095844508
-0.533831151,0.912609619,0.027149015
-0.524625598,0.652693277,0.497418106
-0.805674264,0.723021478,0.80073208
-0.113696528,0.650247192,0.344709776
-0.826900827,0.593783006,0.550936366
-0.940655423,0.740273144,0.630218018
-0.141520315,0.632429144,0.838610834
-0.39673597,0.503240828,0.590691376
-0.037602886,0.040815285,0.620639119
-0.716116291,0.506754028,0.253596249
-0.619782298,7.76626E-05,0.676065593
-0.496033457,0.98742451,0.984019601
-0.649314148,0.147470427,0.489967654
-0.691622038,0.161245902,0.647851723
-0.936526892,0.590442875,0.939555093
-0.604802621,0.838823011,0.251219058
-0.071190531,0.67647138,0.597666328
-0.019410183,0.495778133,0.44031324
-0.726411874,0.262687025,0.086312948
-0.830480537,0.135077568,0.079159787
-0.950841893,0.769723105,0.47873095
-0.611417896,0.84114966,0.395349789
-0.181347141,0.287776713,0.883076078
-0.200712222,0.873964629,0.571505353
-0.65202277,0.084117342,0.250545655
-0.342561024,0.202306216,0.079726003
-0.584301932,0.122693153,0.129858724
-0.591176502,0.051275102,0.876431468
-0.165946295,0.474087103,0.856717365
-0.839385948,0.763414504,0.961778868
-0.528260865,0.865453126,0.680673095
-0.076050301,0.71693581,0.15210816
-0.780443967,0.33197709,0.73242445
-0.363327494,0.164977224,0.185099911
-0.687912867,0.396104619,0.249748592
-0.88391393,0.554502064,0.089705278
-0.33788714,0.686247878,0.252660937
-0.19163616,0.441496434,0.513458703
-0.478908993,0.15156254,0.818829745
-0.918896553,0.899169945,0.780767514
-0.782967436,0.327693122,0.755050753
-0.32558364,0.492239506,0.12339517
-0.047070459,0.693552034,0.508452959
-0.109465204,0.821862145,0.632136838
-0.826253828,0.610682399,0.632137891
-0.162364171,0.5709024,0.027035072
-0.479768494,0.607203769,0.077566143
-0.897031412,0.795684932,0.974415558
-0.801002173,0.551618649,0.876984199
-0.123312093,0.411438516,0.901446561
-0.594677287,0.32833558,0.914104796
-0.741635419,0.14325589,0.115905361
-0.08993896,0.243272135,0.742401503
-0.116491314,0.690400792,0.020805328
-0.180855336,0.599454312,0.340688071
-0.087037755,0.006886539,0.952560809
-0.300603611,0.113658264,0.797478049
-0.832235841,0.05963984,0.771465426
-0.095194013,0.247650851,0.801344581
-0.300632189,0.150924198,0.086360387
-0.874625368,0.700861247,0.713919826
-0.863383564,0.57922769,0.870911826
-0.11913471,0.767551415,0.50918181
-0.556749667,0.691513618,0.782003681
-0.197331319,0.827247513,0.779623914
-0.987023902,0.734883462,0.623629089
-0.420615082,0.614082171,0.741891207
-0.312249031,0.014913149,0.070878868
-0.974642188,0.983123549,0.086275706
-0.783360774,0.814835668,0.67625897
-0.540478752,0.254940938,0.449867885
-0.048763621,0.290768213,0.625363258
-0.697965851,0.033892112,0.612844092
-0.724879255,0.708375839,0.525641059
-0.747562377,0.173208535,0.263779612
-0.867179342,0.213616814,0.754428508
-0.02226162,0.326141353,0.081963664
-0.627227744,0.116451144,0.409565408
-0.543129433,0.092850944,0.54072763
-0.281594806,0.709633472,0.876793176
-0.35647452,0.063874296,0.965050871
-0.045168661,0.497624359,0.186815072
-0.524949861,0.944601324,0.332059785
-0.126474627,0.02739514,0.246752374
-0.208604998,0.568408651,0.772918262
-0.125784169,0.514833609,0.514478954
-0.154512957,0.373291441,0.993402025
-0.233618131,0.572616698,0.016411005
-0.999890963,0.570275565,0.216853317
-0.486828361,0.379924401,0.696213866
-0.075314427,0.667395497,0.863855433
-0.86294927,0.812782874,0.997533964
-0.031445186,0.249022328,0.973324576
-0.326573891,0.118171329,0.965763005
-0.332020059,0.604459411,0.538268842
-0.706622108,0.694323961,0.209014536
-0.932949763,0.08165582,0.356510191
-0.75591714,0.880443277,0.240181713
-0.227219665,0.515538046,0.063202431
-0.069200681,0.150851636,0.361221939
-0.902427408,0.646942656,0.504832272
-0.262382978,0.180972368,0.403132445
-0.032506623,0.656194,0.257345113
-0.959652463,0.776117592,0.653289283
-0.778669537,0.171816058,0.383820737
-0.64856927,0.78342696,0.966231461
-0.638608998,0.323023815,0.667259556
-0.120265759,0.176019011,0.416173717
-0.275065523,0.921190579,0.324061946
-0.490137925,0.337844445,0.135339916
-0.724097632,0.992269402,0.410123181
-0.296958503,0.142356399,0.479483213
-0.092381103,0.57773093,0.290898447
-0.89183933,0.312149005,0.295126666
-0.669251799,0.071453982,0.955861716
-0.938378225,0.324238979,0.455589077
-0.762236627,0.048617283,0.120655973
-0.886194063,0.842136906,0.886167779
-0.420448588,0.826040453,0.209811195
-0.496120113,0.140244984,0.010275807
-0.291770734,0.089337397,0.940136172
-0.823744617,0.442752205,0.79506829
-0.86635257,0.308919721,0.929313191
-0.124187371,0.515507145,0.3952627
-0.515643261,0.514493405,0.592216269
-0.435577703,0.202265522,0.749380396
-0.851215206,0.581140662,0.909262689
-0.97276388,0.305964393,0.119556192
-0.833642983,0.44267292,0.574065373
-0.908658096,0.985442117,0.032891222
-0.120536868,0.898167052,0.754847347
-0.328480689,0.206500348,0.883388839
-0.584233318,0.127164736,0.934356548
-0.520904286,0.085542266,0.469645136
-0.118804512,0.276694477,0.255706174
-0.669152609,0.480169645,0.350044668
-0.784599588,0.030844507,0.672270616
-0.97462202,0.984822685,0.801402402
-0.09061512,0.20599842,0.288943446
-0.500630874,0.668012143,0.326107661
-0.243946646,0.885842685,0.356343047
-0.704519934,0.112411764,0.840776533
-0.064722176,0.148130565,0.724221405
-0.069998846,0.826917642,0.285248236
-0.463142105,0.129132053,0.071693121
-0.065672617,0.491471158,0.143248345
-0.345719852,0.550477283,0.417188691
-0.523811405,0.923188335,0.366706095
-0.57113315,0.798590349,0.465646081
-0.828359309,0.886833757,0.470994632
-0.649200809,0.422037446,0.338970547
-0.991959241,0.065292471,0.545926733
-0.402707667,0.892315167,0.157737898
-0.583371677,0.915247643,0.510882162
-0.286752954,0.119216908,0.422178531
-0.000574842,0.932477989,0.322762631
-0.521100182,0.182516345,0.799539149
-0.217552185,0.32460329,0.001286413
-0.129263953,0.832799191,0.746800354
-0.859133069,0.682500693,0.035727655
-0.081296267,0.499283963,0.851895509
-0.709384988,0.14985208,0.186521894
-0.247922963,0.253358356,0.872326832
-0.203028631,0.068652472,0.553487984
-0.292370767,0.925595124,0.401383438
-0.721522222,0.300176493,0.452098604
-0.622021123,0.308001842,0.51395483
-0.601298816,0.268135963,0.584441602
-0.207949629,0.407128704,0.699430418
-0.152216375,0.92660356,0.07049208
-0.997031345,0.789488864,0.194662825
-0.14170589,0.513011324,0.250918681
-0.979853004,0.246273698,0.732371057
-0.441466086,0.428787477,0.680856737
-0.513859379,0.668402062,0.50429415
-0.32103853,0.59436219,0.481843963
-0.466004374,0.019901121,0.225087815
-0.546731744,0.359957666,0.776590304
-0.088133727,0.021028123,0.579299556
-0.172044151,0.237278834,0.567876411
-0.576325796,0.86256513,0.487980769
-0.459957415,0.004052068,0.41344615
-0.72021758,0.906208873,0.049850195
-0.835505139,0.006504875,0.716129577
-0.974913096,0.06350265,0.945758998
-0.538076764,0.931252476,0.05429443
-0.921879308,0.750002283,0.120075272
-0.825790117,0.095295707,0.471769578
-0.667512779,0.726667248,0.68041055
-0.604774928,0.209313615,0.803678279
-0.058678158,0.457882119,0.491090679
-0.46503574,0.647148555,0.063745514
-0.268569925,0.07151649,0.354414339
-0.309997568,0.048651773,0.652050824
-0.852057231,0.800064591,0.378993288
-0.101844132,0.975250128,0.919521375
-0.879950774,0.012524944,0.243977924
-0.71298613,0.410784591,0.766666426
-0.253953963,0.18863912,0.353408633
-0.859540187,0.786140568,0.50468592
-0.885165537,0.182373738,0.365436093
-0.919226953,0.132590959,0.305319302
-0.794222067,0.325843691,0.81503301
-0.360472386,0.828503699,0.992751302
-0.568328182,0.596642015,0.166689456
-0.495797608,0.390533497,0.466894225
-0.497383703,0.057721092,0.136501948
-0.18770586,0.924785691,0.325442341
-0.693138587,0.351786889,0.499636742
-0.898980429,0.759285754,0.006488642
-0.203362481,0.362873482,0.576750046
-0.178651329,0.720602676,0.881219809
-0.176525065,0.325805008,0.029694687
-0.280908733,0.527522643,0.545345238
-0.370750152,0.138599939,0.044930538
-0.675097184,0.14761356,0.378589866
-0.735023127,0.793326142,0.751658301
-0.589712544,0.569527756,0.006401988
-0.528971516,0.297342992,0.454367414
-0.691477287,0.799565463,0.424110191
-0.261622015,0.848996059,0.848455301
-0.401014342,0.684428894,0.631646442
-0.16646465,0.252704215,0.907185556
-0.100875707,0.566947803,0.906685851
-0.434813596,0.104021401,0.167032575
-0.525475323,0.508926771,0.950312938
-0.159164103,0.298161029,0.813651341
-0.688364345,0.371765734,0.533450516
-0.712069354,0.849924822,0.351626269
-0.322500041,0.141195673,0.954104724
-0.146595062,0.93264431,0.190821916
-0.71991816,0.904994255,0.945180752
-0.025505056,0.369278227,0.225567491
-0.450884297,0.163076541,0.835655337
-0.666130325,0.52707414,0.82767262
-0.747584223,0.050899988,0.253442115
-0.525074918,0.930938393,0.27765909
-0.940041036,0.129750051,0.169526547
-0.976328221,0.406056506,0.156213454
-0.413206486,0.217043404,0.425652131
-0.108491931,0.963192763,0.498477601
-0.958709036,0.585116585,0.507265441
-0.048428848,0.713725414,0.728970388
-0.587791364,0.896305822,0.279922122
-0.086686919,0.740059232,0.914875869
-0.422027713,0.086096483,0.419750985
-0.767716034,0.871663257,0.103971292
-0.549835043,0.371430165,0.801009346
-0.557408598,0.341725364,0.279171927
-0.071240148,0.765613908,0.173767574
-0.713230298,0.779720404,0.253165546
-0.572322236,0.663937254,0.045664107
-0.428432377,0.161070991,0.891029544
-0.818292324,0.971164957,0.271696059
-0.269446053,0.962766931,0.051526478
-0.515277086,0.74833971,0.351491465
-0.796419252,0.556278732,0.361314209
-0.801556269,0.987424165,0.117197305
-0.782772261,0.05866778,0.982749779
-0.21806961,0.609256862,0.798461899
-0.699205142,0.038761394,0.271238908
-0.534754129,0.27476979,0.163606178
-0.003518131,0.437675965,0.388250875
-0.619198012,0.090710318,0.566559914
-0.178576562,0.885793567,0.022734794
-0.578539981,0.281190469,0.008260142
-0.177713211,0.393560621,0.052236228
-0.846158221,0.357695748,0.875170299
-0.127568308,0.638314871,0.946658268
-0.767138325,0.621405933,0.564104167
-0.798451074,0.40443786,0.599831193
-0.616223487,0.665752297,0.971012789
-0.267441096,0.388352985,0.430687937
-0.923867358,0.654582643,0.464037122
-0.492137227,0.706258913,0.378247168
-0.536642887,0.555595419,0.104998227
-0.992969717,0.688862613,0.896407883
-0.454975157,0.851727744,0.144297419
-0.317976254,0.620102227,0.416793119
-0.440632343,0.535615753,0.913356284
-0.791010869,0.962116708,0.627040144
-0.926826073,0.382456611,0.465806072
-0.568904993,0.514101455,0.724489494
-0.895517901,0.391005356,0.347893715
-0.289875186,0.830981849,0.92116788
-0.95185048,0.996829271,0.970163256
-0.079055453,0.999386589,0.528208258
-0.926932102,0.147799896,0.417138668
-0.244651465,0.832349744,0.221104338
-0.179560876,0.149581841,0.97827318
-0.869778794,0.116050413,0.930858226
-0.681347988,0.700100934,0.003010153
-0.688804753,0.087819887,0.217246073
-0.054919581,0.536206628,0.011960678
-0.640496257,0.193125181,0.654595034
-0.879605152,0.152112809,0.50946439
-0.336877078,0.352944356,0.032651908
-0.578287892,0.410740871,0.424981809
-0.655610763,0.370342392,0.021605292
-0.184746216,0.078627828,0.615262076
-0.335250916,0.744164606,0.7834867
-0.086006226,0.796624922,0.100735176
-0.278674471,0.483655368,0.117132599
-0.994681992,0.915583798,0.682419845
-0.077364925,0.488968443,0.762836001
-0.460939585,0.226843633,0.262301782
-0.998409563,0.464398025,0.918229672
-0.221191504,0.605272697,0.236818579
-0.305532514,0.107986913,0.285771959
-0.429457882,0.021852143,0.417044654
-0.4398254,0.904405397,0.587007492
-0.472361927,0.615492219,0.311474339
-0.4847793,0.830454499,0.692963217
-0.525054945,0.760690911,0.176296268
-0.117729529,0.425190139,0.763022992
-0.435815483,0.901034288,0.68353143
-0.310722347,0.711502874,0.050054312
-0.692557474,0.756865138,0.823601442
-0.748561397,0.302607431,0.404056776
-0.370478834,0.749199053,0.220199408
-0.686929375,0.172808164,0.22046762
-0.037511035,0.299597568,0.543432459
-0.513900441,0.892613907,0.740051648
-0.389543522,0.806516669,0.891439062
-0.053758187,0.367104684,0.356060944
-0.450039969,0.18662041,0.022226949
-0.481122219,0.376490604,0.455652341
-0.97009151,0.252002631,0.121449418
-0.322174741,0.359645571,0.785282495
-0.904310053,0.730301338,0.994210513
-0.450101531,0.92830086,0.086584177
-0.456948101,0.90305291,0.216589856
-0.430158828,0.574385535,0.812451667
-0.958800913,0.229029132,0.004822368
-0.641856333,0.757170989,0.097059421
-0.442276634,0.278413528,0.877655305
-0.036927777,0.425286999,0.92305997
-0.996003678,0.902465847,0.265142606
-0.306340939,0.260744837,0.528606261
-0.098272048,0.162476078,0.354882218
-0.658054373,0.890822429,0.9000076
-0.087284546,0.695167739,0.026293663
-0.667310433,0.902843368,0.248946207
-0.451887926,0.995052067,0.181712955
-0.721298527,0.006611482,0.727102995
-0.180137144,0.38951174,0.678305837
-0.420761331,0.419860176,0.010656383
-0.788488075,0.180473318,0.708019695
-0.662265015,0.757397169,0.348937464
-0.22732873,0.663301685,0.39923678
-0.716892599,0.552981067,0.089832495
-0.177215605,0.465175647,0.887666589
-0.4010009,0.597937203,0.09497585
-0.259096154,0.591668012,0.145793124
-0.7855796,0.541345166,0.383678057
-0.201753532,0.613603748,0.879697044
-0.825321851,0.452349759,0.192581377
-0.171266337,0.782789247,0.848185787
-0.989170718,0.575391852,0.643933271
-0.224216552,0.128615538,0.261286445
-0.355440689,0.629457955,0.902600249
-0.72784327,0.282293864,0.605943451
-0.210467186,0.748327916,0.269725684
-0.703080367,0.411052005,0.029450281
-0.611720264,0.653108765,0.115754888
-0.625714261,0.426502244,0.253625516
-0.080879639,0.231561531,0.000776511
-0.580765049,0.214103901,0.655333535
-0.411287343,0.079075761,0.794277642
-0.710073858,0.646863988,0.71074505
-0.335569397,0.900645276,0.683474835
-0.967747154,0.579773932,0.534024604
-0.766717973,0.582199309,0.533102234
-0.383468743,0.426721157,0.027251934
-0.490400205,0.117276739,0.92366954
-0.526437331,0.70107653,0.671085752
-0.889392656,0.764668251,0.594183178
-0.638642815,0.578480214,0.97861599
-0.87668719,0.16462794,0.216101311
-0.42672965,0.578827138,0.263549989
-0.811170473,0.093966938,0.225951223
-0.099089206,0.263591386,0.882393744
-0.38399777,0.327948679,0.494541301
-0.183583616,0.008025085,0.345896483
-0.584960878,0.5469813,0.968535684
-0.361345034,0.854037953,0.527327995
-0.984905322,0.997741532,0.876521812
-0.074758264,0.39928899,0.847634791
-0.78330323,0.392062416,0.024783838
-0.467728166,0.712167022,0.024533141
-0.587280899,0.398576247,0.573112113
-0.964829971,0.025982741,0.969019811
-0.9497508,0.659436309,0.204878206
-0.657359903,0.347373583,0.193308068
-0.186434557,0.521059421,0.070439079
-0.870109867,0.062761012,0.710077454
-0.217962469,0.288311322,0.190708548
-0.955539243,0.022311215,0.71590241
-0.625665814,0.76136552,0.988044588
-0.597252746,0.710748192,0.314068902
-0.516054372,0.327282916,0.54307302
-0.271367679,0.738701611,0.304169987
-0.933804469,0.580994455,0.210076964
-0.127919156,0.599299518,0.585857959
-0.676065679,0.558987708,0.958866142
-0.316141871,0.460898294,0.141769324
-0.471335921,0.089770919,0.358606362
-0.623875078,0.120949677,0.031070096
-0.279561054,0.756633154,0.523821594
-0.367638452,0.041473293,0.205100917
-0.194748444,0.554149226,0.891998106
-0.41189445,0.060780804,0.739908884
-0.463521747,0.175865472,0.535693142
-0.945971006,0.966028962,0.856940254
-0.183047078,0.337562524,0.181769865
-0.594627884,0.198176957,0.150059332
-0.843270928,0.530723522,0.928016742
-0.223830394,0.396224789,0.671524797
-0.660767374,0.651553136,0.816830801
-0.435601302,0.067504838,0.286367496
-0.118647364,0.597413606,0.736034901
-0.130876628,0.718657894,0.132667782
-0.512036173,0.807939768,0.573980493
-0.651567779,0.146952948,0.239972065
-0.288725439,0.224872447,0.043641949
-0.13707238,0.381109232,0.022199238
-0.754226814,0.167426623,0.961971718
-0.951586322,0.053557001,0.223348551
-0.618926676,0.885546611,0.123622882
-0.790423531,0.278666859,0.501354777
-0.038612914,0.868235102,0.288826116
-0.488859959,0.478054033,0.700027159
-0.862804894,0.011591559,0.750381881
-0.994070885,0.954113216,0.968886216
-0.452966461,0.985185262,0.402556559
-0.163204173,0.188199516,0.352205827
-0.15850908,0.505182571,0.583169832
-0.135779826,0.409087768,0.238200196
-0.643385144,0.86154063,0.14538336
-0.50233965,0.544662955,0.992305772
-0.208435385,0.031950832,0.061424365
-0.866478253,0.391456921,0.511463088
-0.4937369,0.216683838,0.68183869
-0.635277683,0.264963125,0.828569956
-0.57036797,0.199089208,0.947261901
-0.622849636,0.554898686,0.300444481
-0.148150252,0.793195105,0.95852649
-0.118643776,0.375521816,0.127817104
-0.758672306,0.928120507,0.147843091
-0.988902496,0.305378105,0.027460368
-0.101391422,0.187140233,0.666743757
-0.742622491,0.913697728,0.538923383
-0.093250323,0.083342814,0.253041857
-0.769590781,0.9991462,0.438612548
-0.729371479,0.304770086,0.732577389
-0.309854988,0.231328158,0.907015378
-0.357043464,0.291981607,0.210471606
-0.310867898,0.310831132,0.021305479
-0.099716251,0.743995352,0.892636908
-0.41508308,0.015438634,0.257251295
-0.53442204,0.552940574,0.911759333
-0.066875817,0.519643391,0.683239895
-0.960228558,0.637860456,0.564663828
-0.166667197,0.282113595,0.909573438
-0.400063729,0.629753113,0.314970443
-0.708945745,0.167807931,0.868195558
-0.371947838,0.749772529,0.913374887
-0.364252703,0.719347038,0.968988396
-0.565947998,0.47317603,0.848594323
-0.963005103,0.86347636,0.213376655
-0.010974265,0.115488107,0.918644935
-0.579274525,0.748172658,0.195517101
-0.054742886,0.089561473,0.35514667
-0.352904397,0.177453817,0.485671073
-0.86540568,0.455589491,0.325840682
-0.826269285,0.742045207,0.836774969
-0.075485913,0.446267336,0.134777488
-0.123130773,0.10695964,0.319080831
-0.353341713,0.250920125,0.94582804
-0.934151416,0.641155987,0.332526901
-0.183094596,0.975798892,0.512697523
-0.931523642,0.525759501,0.067066893
-0.171012136,0.581683693,0.603794825
-0.489763176,0.561915728,0.886623062
-0.427818728,0.227974683,0.462025302
-0.059325421,0.726266371,0.692412984
-0.770271664,0.743519141,0.117959307
-0.107862896,0.552555172,0.592259145
-0.445007388,0.046308389,0.69499137
-0.056486616,0.370154602,0.498507879
-0.347798483,0.541312622,0.44955603
-0.01637411,0.777726654,0.346640124
-0.918778501,0.247274577,0.931656904
-0.468325578,0.552066653,0.233304727
-0.558842714,0.30110019,0.237582706
-0.520406065,0.396600845,0.627623904
-0.42717615,0.55961213,0.312743984
-0.043819454,0.060632818,0.168267929
-0.151405047,0.276450913,0.385322692
-0.864539894,0.203199707,0.865006307
-0.866179018,0.649792248,0.369625823
-0.566181508,0.155001949,0.751738414
-0.022193506,0.262524266,0.378478591
-0.835870282,0.436869514,0.439857307
-0.54507765,0.825712044,0.425012638
-0.180124959,0.284189803,0.059324375
-0.91303517,0.659662103,0.021990781
-0.068890512,0.857174742,0.245915138
-0.146299591,0.2282098,0.992357695
-0.279495766,0.087424865,0.532747766
-0.095737503,0.107245868,0.190786801
-0.276947216,0.537071712,0.654100689
-0.010738646,0.40673838,0.479608479
-0.420307684,0.947352567,0.178277524
-0.108124774,0.127227634,0.278086371
-0.18958629,0.587262704,0.69187928
-0.814773727,0.220263054,0.007250506
-0.948149379,0.572617808,0.939774741
-0.150492895,0.970045889,0.979230909
-0.997567108,0.897085006,0.573132383
-0.039773611,0.517659257,0.317936584
-0.915778891,0.598912752,0.541405962
-0.081857212,0.994515385,0.261260636

Modified: mlpack/trunk/src/mlpack/methods/linear_regression/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/methods/linear_regression/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/linear_regression/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -23,12 +23,3 @@
 target_link_libraries(linear_regression
   mlpack
 )
-
-# test executable
-add_executable(linear_regression_test
-  linear_regression_test.cpp
-)
-target_link_libraries(linear_regression_test
-  mlpack
-  boost_unit_test_framework
-)

Deleted: mlpack/trunk/src/mlpack/methods/linear_regression/linear_regression_test.cpp
===================================================================
--- mlpack/trunk/src/mlpack/methods/linear_regression/linear_regression_test.cpp	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/linear_regression/linear_regression_test.cpp	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,51 +0,0 @@
-#include <mlpack/core.h>
-#include "linear_regression.hpp"
-
-#define BOOST_TEST_MODULE Test_Linear_regression_Main
-#include <boost/test/unit_test.hpp>
-
-/**
- * Creates two 10x3 random matrices and one 10x1 "results" matrix.
- * Finds B in y=BX with one matrix, then predicts against the other.
- */
-BOOST_AUTO_TEST_CASE(LinearRegressionTest)
-{
-  // predictors, points are 10x3 matrices
-  arma::mat predictors, points;
-
-  // responses is the "correct" value for each point in predictors, poitns
-  arma::colvec responses;
-
-  // the values we get back when we predict for points
-  arma::rowvec predictions;
-
-  // Initialize randomly
-  predictors.randu(3,10);
-  points.randu(3,10);
-  // add 3 so that we have two clusters of points
-  predictors.cols(0,4) += 3;
-  points.cols(0,4) += 3;
-
-  // Create y
-  responses.zeros(10);
-  // Create a second "class" for the first cluster of points
-  for(size_t i = 0; i < 5; ++i)
-  {
-    responses(i) = 1;
-  }
-  responses += 1; // "classes" are 2,1
-
-  predictions.zeros(responses.n_rows);
-
-  // Initialize and predict
-  mlpack::linear_regression::LinearRegression lr(predictors, responses);
-  lr.predict(predictions, points);
-
-  // Output result and verify we have less than .5 error from "correct" value
-  // for each point
-  std::cout << points << '\n' << predictions << '\n';
-  for(size_t i = 0; i < predictions.n_cols; ++i)
-  {
-    assert( fabs(predictions(i) - responses(i)) < .5);
-  }
-}

Deleted: mlpack/trunk/src/mlpack/methods/mog/fake.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/mog/fake.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/mog/fake.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,100 +0,0 @@
--0.28992,-0.13173,-0.61575
--1.2142,-1.1994,-0.4661
-0.031128,0.084721,-0.057328
--0.86099,-0.79692,-0.35194
--0.45353,-0.11696,-0.15629
-0.82319,0.31796,0.5654
-0.87603,0.62511,0.54203
--1.8458,-1.2202,-1.6845
-1.3571,0.86032,0.95889
--0.88157,-0.092799,-0.21391
--1.7254,-0.80534,-1.2231
--3.7444,-2.7681,-2.8587
--1.9593,-1.9499,-1.6215
-0.036513,-0.65684,-0.16414
--1.0091,-0.9538,-0.82084
--2.6299,-2.4503,-2.0805
-1.4404,0.91235,1.0368
-2.3232,1.7905,1.3835
--0.22953,0.29435,-0.55121
-0.52442,0.53273,0.29293
-1.9345,1.1211,1.5277
--0.71909,-0.91217,-0.13798
--1.0023,-0.31518,-0.83793
-0.88445,0.55393,0.63455
--0.14286,0.75819,0.10212
--0.57519,-0.41389,-0.16138
--0.54536,-0.54785,0.19468
-0.18259,-0.038652,-0.11602
-1.5583,1.5063,1.1687
-0.67228,0.25056,0.28417
-1.8047,1.3339,1.8819
-1.6772,1.8611,1.5816
-0.30442,0.39109,0.31353
--0.66552,-0.38255,-0.36366
--0.99614,-0.31771,0.10233
-0.65813,0.72853,0.66725
-1.3433,0.87076,0.9503
-0.5952,0.54358,0.15799
-0.80337,0.48182,0.92845
--1.0895,-0.77068,-0.43275
--1.2246,-1.0886,-0.81559
--3.2332,-2.2593,-1.8321
-2.36,1.5532,1.98
--1.417,-0.72475,-1.6775
-0.48999,0.27822,0.63959
-1.7494,1.1849,1.2174
-0.098846,0.48884,0.58291
--2.2389,-1.239,-1.5603
--2.5684,-2.0838,-2.044
-1.833,1.9878,1.488
--1.3408,-0.41722,-0.78372
-0.41603,-0.03137,-0.19393
-1.3308,0.97246,0.50187
-1.8763,1.4224,1.5111
-0.47414,0.35165,0.45279
-0.72983,0.62162,0.81429
-0.072535,-0.15613,0.19178
-0.24045,0.31484,0.73666
--0.63399,-0.44661,0.16174
--0.7575,-0.29941,-0.23175
--0.22151,0.13724,-0.053466
--0.61552,-0.30699,-0.18651
-0.13717,0.14514,-0.13645
-0.79648,1.0154,0.66609
-0.02903,0.11115,-0.027887
-1.2644,0.91254,0.91018
--0.36039,-0.27273,-0.093994
-1.8088,1.6939,1.1004
--1.4649,-1.1623,-1.3663
-0.16635,0.21012,-0.5929
--1.9238,-0.92677,-1.2546
--1.1433,-1.2331,-0.83555
--1.3747,-1.2459,-0.9011
-0.66298,0.6126,0.17198
--0.4638,-0.12425,-0.29331
--1.1176,-0.7349,-0.67311
-0.13308,0.25935,0.25244
--0.068732,-0.5169,-0.16423
--0.56212,-0.51442,-0.3723
--1.7361,-1.4933,-1.4681
-0.98691,0.45932,0.37285
-0.21825,-0.36061,-0.26815
-0.90569,0.70056,0.68695
-1.9013,1.2122,1.4488
--1.7678,-1.0156,-1.173
-0.38102,-0.26481,0.1876
--1.7408,-1.4657,-1.3288
--0.40932,-0.036133,0.12221
-0.15014,0.23639,0.54873
--1.9972,-1.75,-1.8577
--1.8673,-1.0512,-1.2368
-0.33336,1.028,0.67552
-0.12516,0.33989,0.54363
-1.2947,1.1484,1.3026
--2.6568,-1.9047,-1.6224
-0.80258,1.1538,0.43664
-0.68373,0.22631,-0.13506
-2.0724,1.9613,1.4781
--0.057605,0.069219,0.048158
-0.25527,0.50668,-0.053834

Deleted: mlpack/trunk/src/mlpack/methods/mvu/roll.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/mvu/roll.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/mvu/roll.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,1000 +0,0 @@
-10.785,4.8539,-5.4785
--7.4894,10.206,4.7355
-5.9965,16.004,-9.8619
-2.9691,0.38858,6.8259
--1.2207,9.3388,-10.814
--7.9195,16.631,4.1519
-8.7604,15.502,-7.9493
-0.43394,8.5198,-4.7832
-9.8139,19.255,-6.8326
-5.2452,18.767,4.648
--3.1519,7.4102,-1.9134
--2.0414,0.20709,-10.611
--1.1518,4.2581,-4.299
-1.492,12.68,-4.7874
-4.7852,4.1751,-3.1097
--3.2516,15.682,-0.47133
-3.6292,19.568,6.376
-2.3733,8.7916,7.1499
-1.347,11.028,-11.035
-1.6804,14.115,-4.7638
-0.49775,0.41243,-11.029
--9.472,7.9691,-1.3126
--0.1591,10.559,-10.98
--9.0392,9.0067,-3.8583
-5.7937,3.9827,-1.6075
-1.2391,14.327,-4.8075
-5.748,11.375,-1.7034
--0.67679,14.656,-4.5131
-6.1124,18.06,2.7626
-2.1296,12.465,-10.983
-0.25409,18.895,7.8174
--1.1983,13.543,-10.819
--1.5652,13.865,-10.737
-6.3435,6.0842,0.51753
-6.3398,11.216,0.47052
--8.416,6.4951,-5.3908
-0.53717,11.93,-11.031
-6.2317,14.758,2.271
--3.5242,9.3425,7.5068
--9.3547,13.048,-2.5182
--3.7751,20.094,-9.9399
--1.7046,18.483,7.8847
-0.28268,20.575,-4.7633
-4.7576,5.2989,-3.1392
-4.4343,15.483,-10.497
--1.2414,0.24689,-4.2507
-6.2495,4.1819,-9.7327
-5.6429,13.89,-1.9089
-5.214,9.8537,-2.5905
--3.0743,20.755,-2.1512
--6.0741,8.8934,6.1364
--1.1654,7.013,7.9148
-4.2682,4.7449,5.8253
--5.8799,15.968,6.2843
--2.2566,13.451,7.8158
-1.989,7.9762,-4.7092
--4.7783,14.298,-9.377
-2.6843,11.924,6.9896
--3.8302,1.2428,-9.9126
--7.276,1.0556,4.9914
-5.05,6.405,4.9285
-4.293,0.3152,-10.542
--5.9988,20.388,-8.4703
-12.418,16.566,-1.1641
-3.976,10.465,6.0934
-2.2239,13.513,-4.6541
-6.1096,20.162,-0.76974
--8.4365,8.651,-5.3501
--7.5418,5.6269,-6.8063
-3.9094,19.601,6.1505
--9.4639,4.4638,-1.4988
-0.61471,13.204,-11.034
--1.3431,4.3498,-4.1925
--7.5081,13.228,4.7121
-6.2309,12.078,2.275
-3.269,0.9218,6.6345
--3.2869,6.5664,-0.86107
--3.2389,8.0633,-0.39457
--9.4649,1.9497,-1.4792
--3.2837,12.86,-1.136
--7.5779,0.33096,4.6234
--3.2567,3.9916,-0.506
--6.3365,1.2092,5.9222
-6.265,13.26,2.0946
--8.7842,14.546,-4.5771
--2.7622,9.5415,-2.8013
-3.8077,7.4183,6.235
--0.56347,14.189,-4.5546
--9.2773,15.278,-2.9385
-1.5478,11.652,7.4921
--1.785,9.4658,-3.8927
--8.8438,18.75,-4.4241
-4.8191,5.3502,-3.073
-3.3839,4.8794,-10.781
--2.8432,19.076,-10.344
-3.0725,5.0256,-4.3518
--3.2208,1.6461,-1.6317
--8.91,4.0086,2.2148
-1.0999,3.6519,-11.04
-0.18472,20.88,-4.7477
-3.9164,7.141,6.1445
-6.0042,7.6666,-1.0936
-5.785,12.422,3.6641
--1.8274,0.8007,-3.8594
-2.8391,18.267,6.9027
-9.7244,5.5534,-6.9395
--0.27898,18.33,-4.644
-3.3481,13.562,-4.2158
-11.662,13.964,-3.7625
-3.8812,0.20847,-10.66
--1.223,17.194,-4.2608
-4.4015,18.697,5.6927
--8.0564,14.434,-6.038
-6.3572,3.4867,0.76936
--0.47923,4.0134,-4.5832
-4.7548,17.975,5.3038
-0.71227,17.135,7.7293
-2.7046,9.6044,6.9785
-3.3118,8.6566,6.6055
-6.9833,0.11726,-9.3113
-5.607,1.0324,-1.9746
--9.3742,13.652,-2.3925
-12.247,11.606,-1.9806
-5.5893,4.1746,4.0668
--8.3528,15.401,3.4413
-6.1539,0.20741,2.6094
-4.8663,15.827,5.1682
--3.8607,19.319,-9.8973
-1.1894,7.7228,-11.039
--8.1653,15.357,3.7673
-1.2611,19.001,-4.8063
--5.1631,13.268,6.7601
-3.1891,11.524,-4.2967
-9.5279,7.0391,-7.1654
--9.2685,8.23,0.97633
--8.4383,14.681,3.2815
-5.6755,8.6862,3.8976
--9.2626,17.589,1.0038
-6.2163,8.9303,2.345
--6.8084,11.881,5.4901
--8.8216,10.738,-4.4818
--5.3466,10.276,-8.9892
-0.88243,14.713,-4.8135
-12.239,16.939,-2.0124
--9.1875,10.184,-3.3306
--1.9891,13.962,-3.7238
-6.2872,2.9409,1.9585
--4.9932,17.283,6.8581
--9.4711,20.988,-0.65103
-11.416,1.2361,-4.3173
-6.3273,11.519,1.6444
-4.3806,12.544,-3.5026
--3.2241,11.992,-1.6152
--9.2453,20.208,-3.0868
--7.1878,15.54,-7.2583
-4.3189,13.32,5.7757
--3.0177,1.7615,-10.276
-10.495,19.235,-5.9257
--7.2274,5.3248,5.047
-4.1986,10.781,-10.57
--8.1657,8.8668,-5.8529
-11.402,1.5132,-4.3451
--4.0313,6.1317,7.3208
-2.583,7.0509,-10.927
--9.4747,1.1223,-1.2154
-6.3465,10.464,1.4179
-4.192,11.812,5.8982
--7.9755,2.3801,4.0681
-6.667,15.846,-9.5017
--4.1057,17.114,-9.7701
--9.4516,4.2184,-0.29737
-4.8186,13.151,-3.0736
--2.7915,1.2496,7.7116
--2.6611,5.6975,-2.9596
-5.2888,9.9549,4.5811
-7.659,12.521,-8.8561
-6.2366,10.042,-0.25748
--6.955,3.3904,5.3421
--0.39851,20.079,-10.952
--6.8605,0.60371,5.4383
--2.1442,12.812,-10.581
--9.2323,1.9361,-3.144
-4.6467,7.8871,5.4291
--0.022742,17.496,-4.7075
-0.55217,9.4839,-11.032
-11.154,3.0902,-4.8351
-3.8347,16.158,-10.673
-3.6808,13.033,6.3362
-10.877,13.44,-5.3258
-3.771,7.4067,-3.9659
-0.97467,10.304,-4.8145
-5.2815,9.734,4.5924
--7.7002,1.4945,4.462
-6.0055,12.776,-1.0901
-0.37682,13.042,-4.7763
-3.7108,12.335,-4.0048
--0.4511,9.7604,7.8982
--3.1372,19.789,7.6241
-6.3425,8.4379,0.50473
-5.8659,8.6429,-1.4461
-5.2639,8.2767,-2.5212
--0.22392,15.162,7.8792
-5.8316,2.3554,-1.5242
-3.7285,9.802,6.2987
--3.2485,13.945,-0.452
--8.5429,5.9143,-5.1317
-4.3826,14.878,-3.5008
--4.7337,20.709,-9.4052
-1.8901,18.959,7.3641
-3.2903,16.895,6.6201
--0.4612,3.4917,-10.944
-5.7672,10.936,3.7038
--8.767,11.953,-4.6198
-2.7023,9.3514,6.9797
--2.6871,9.3131,-2.9204
-6.2782,6.3532,2.0159
-1.9389,15.949,-11
-10.762,11.717,-5.5145
--3.2463,12.52,-0.4381
--1.7413,20.519,-10.693
-2.6031,14.777,-4.5397
--1.6642,19.591,7.8883
--8.9251,4.7888,-4.202
-3.3723,3.6162,6.5637
-11.746,7.47,-3.5548
--3.2256,15.862,-1.6072
-6.3379,6.0091,-9.6857
-3.9394,19.587,-3.8512
--1.4442,19.757,-4.1309
--9.2248,17.801,-3.1765
-1.9987,9.5569,-4.7072
--2.8199,17.874,-2.7023
--4.6584,6.7052,7.0365
-6.1693,18.224,2.5485
-6.2087,1.5475,2.3802
-1.5455,1.0394,-4.7814
--4.9888,2.5604,6.8606
--1.6681,2.4583,7.8879
--5.8511,7.8762,-8.5954
--1.0204,0.97936,-10.854
--6.9977,19.932,5.2975
-5.3545,18.665,-2.3895
--2.3595,1.3716,-3.3518
-3.1838,19.595,-4.2993
--3.0945,5.5486,-2.0943
-12.562,4.4517,-0.055447
-0.11748,6.1003,7.8381
--9.4666,20.118,-0.54375
--6.1022,13.989,-8.3798
--1.4455,2.0037,-4.1301
--3.2495,6.0521,-0.45824
--1.6891,20.695,-10.707
--3.2611,17.207,-0.53846
--8.1802,11.765,3.7426
-3.6253,17.262,-4.058
-4.4385,15.826,-3.451
--9.3381,4.4953,0.6189
--7.2346,12.704,5.0388
--9.3359,3.8506,0.63141
--8.7751,3.5765,2.5601
--2.9999,13.091,7.6608
--9.4487,14.224,-1.7309
-4.5458,0.2707,-10.46
-5.9259,16.361,-1.301
-5.8569,19.46,-1.4668
--9.4769,1.5608,-1.0812
--2.9938,0.25054,-2.3527
-2.8509,10.841,-4.4471
-2.8632,14.767,6.8887
--6.0542,10.693,6.152
--2.9379,4.058,-2.4754
-6.0904,5.8051,2.8382
--5.7779,6.5925,-8.6557
--8.8287,20.718,2.4278
--0.21358,19.902,7.8782
--0.54729,19.269,-10.932
--2.0357,17.055,-3.6821
-7.5938,3.2839,-8.9032
--1.7498,16.016,-3.9197
--8.6318,13.684,-4.9379
--6.9666,13.926,-7.516
-5.2219,5.7153,-10.21
-4.8842,4.4729,5.1457
--3.2832,1.7044,-1.1449
-1.8043,7.1443,-11.011
-2.363,19.189,7.1549
-2.9177,18.103,-4.4197
--9.2883,18.715,0.88225
-0.86335,20.846,7.6939
-6.1926,11.159,2.4513
-0.66758,10.541,-4.8043
-4.766,13.869,5.2905
--9.4701,20.104,-0.62446
-1.1646,2.3355,-4.8109
--4.8721,20.352,6.9249
--3.2815,18.275,-0.74684
--3.2866,10.91,-0.85078
-1.1848,15.029,-4.8101
-3.9166,19.611,-3.8672
--1.2162,10.954,-4.2645
-6.3753,19.79,-9.6654
-6.2988,9.1846,0.1039
-2.0359,3.1355,7.3037
--1.2658,11.182,-4.237
--8.472,8.3728,-5.2787
-6.3382,5.9909,1.5271
-3.6999,13.155,-10.707
-3.4973,20.54,-4.1336
--8.9005,4.8268,2.2405
--9.4718,13.982,-1.3179
--1.3083,0.47236,-4.2128
-4.3979,2.4468,-3.4873
--3.0134,17.912,-2.3066
-0.62173,0.68079,-4.8011
--8.1045,11.267,-5.9577
-4.9257,7.7376,-2.9531
--3.239,18.673,-0.39532
-3.4275,5.3392,-10.771
--5.1821,3.3446,6.7487
--6.7907,6.9531,5.5075
--9.3219,18.136,0.70897
--5.0528,20.59,6.8243
--4.0429,3.2045,-9.8035
--0.031713,4.0291,-10.993
--8.8538,14.049,2.3636
--5.6853,7.9762,-8.7304
-3.8208,10.144,6.2243
--7.5554,3.6959,4.6523
--3.1601,16.595,-0.060335
--1.021,4.4778,7.9167
--2.3101,3.3041,-3.4073
-5.3442,8.5629,4.4936
--3.1987,19.778,-1.7334
--0.71377,8.0719,-4.4988
-5.9399,3.5392,-1.2656
-6.5142,6.7772,-9.5889
--8.1011,8.629,-5.9635
-5.5978,10.616,4.0505
-0.11782,11.02,-4.7358
--8.9215,0.34015,2.1832
-0.36563,16.873,-11.023
--9.3031,9.6996,-2.8094
--2.7908,17.235,-2.7531
-1.2195,9.3524,-4.8085
--3.2394,6.4836,-0.39759
-4.3942,17.54,-10.51
-6.2809,18.495,-0.014104
-1.458,11.777,7.5225
--7.9421,13.9,4.1184
--7.9761,14.388,4.0672
--0.75954,14.993,7.9133
--1.1423,12.723,7.9153
-11.654,17.264,-3.7823
-6.0703,12.342,-0.89796
--1.472,5.3414,-4.1132
--3.0173,14.025,-10.276
--3.2431,11.793,-0.4188
-3.0838,19.004,6.7551
-5.1392,1.3657,-2.6906
-1.6704,20.658,7.4484
-8.8043,11.785,-7.9083
--9.2049,16.226,1.2519
--2.2357,0.022541,-3.4871
--3.1632,0.14401,7.6169
-3.2741,4.1089,6.6311
--4.4534,12.99,-9.5753
--3.2528,18.708,-0.47924
--6.45,19.048,-8.0566
--6.6661,7.9953,-7.8401
-6.2609,10.586,-0.13117
--4.8378,16.111,6.9433
--5.0659,10.166,-9.1876
--3.0942,9.8913,-10.245
-1.6857,12.172,-4.763
--9.4232,14.212,0.014779
-10.302,16.173,-6.201
--7.9306,18.192,-6.2404
-12.436,10.582,-1.0635
--8.5075,16.645,3.146
-3.4292,11.011,6.5236
-0.21545,2.744,-4.7528
-2.4543,2.2151,-4.5884
--1.0544,9.5963,-4.3485
--4.3677,5.9023,-9.6249
-2.7394,19.086,-4.4905
--3.203,12.364,-0.22159
--3.1899,13.724,7.6094
-5.9888,4.8543,-1.1365
-5.0225,6.2748,4.9658
--9.4651,19.703,-0.51521
-6.3484,11.822,0.5889
--1.855,3.5494,-3.8372
-5.0272,11.693,-2.8323
-1.0451,19.997,7.6471
-3.0737,10.052,-4.3513
--2.0047,16.647,7.8521
-1.2189,19.102,-4.8086
-8.7918,0.27859,-7.92
--6.0285,19.894,-8.4445
--2.0278,19.4,-10.615
-1.5052,14.16,-4.786
-9.1843,7.2201,-7.5345
--6.7983,12.925,5.5
--3.1718,20.622,-0.1009
-6.7864,14.548,-9.4315
-3.9237,14.721,6.1383
--7.6381,6.2976,4.5449
-2.3803,2.3535,-10.954
-5.4389,2.0464,-2.2593
-5.6678,6.9996,3.9132
-10.416,17.61,-6.041
-4.2442,0.90086,-3.6183
--3.1921,12.063,-0.17723
--7.5796,16.943,-6.7548
--8.8087,5.2767,2.478
--0.94112,13.683,-4.4023
-10.535,17.134,-5.8668
-9.4269,6.5088,-7.2772
-4.6579,11.265,-3.242
--0.14944,4.4307,-4.6781
-2.3603,13.688,-4.6166
--3.198,4.8151,-1.7363
--9.4317,6.5296,-0.068045
-5.8416,15.134,-1.5018
-11.033,2.7539,-5.0562
--3.0281,2.6298,-2.271
--0.022772,19.14,-4.7075
--1.251,12.957,-4.2453
-4.6642,4.6339,-3.2357
--8.9391,11.529,-4.162
-10.224,6.9272,-6.3078
--9.1664,19.812,-3.4131
--5.9966,18.483,6.1965
--7.2435,7.972,-7.1906
--8.4815,3.4188,-5.2594
-11.133,4.1208,-4.8753
--5.3632,12.879,-8.9769
--0.19305,0.65214,-4.6671
-5.3492,20.392,-2.3974
-10.807,4.789,-5.4424
-11.257,14.277,-4.6389
--3.1794,12.597,-1.8123
-5.7875,4.5227,3.6585
-0.7181,1.6118,-4.8073
--3.2037,16.564,-0.22452
--3.2628,18.437,-0.55218
-6.3586,15.165,1.1639
-11.731,3.269,-3.5946
--0.16357,6.5813,-4.6746
--3.2883,7.5101,-0.93458
--3.2869,16.667,-0.86125
-12.559,2.315,-0.091052
--8.2436,2.784,3.6351
-5.9179,2.8305,-1.3211
-2.6703,8.3275,-4.516
--1.2926,5.0622,-4.2219
-9.2165,8.2131,-7.5011
--0.84338,1.9508,7.9153
--3.2764,3.3502,-0.67954
-1.1678,18.462,-11.039
-0.93356,20.817,-4.8142
--8.9655,18.299,-4.0851
-1.4619,10.416,7.5213
-5.3148,1.2798,-2.4482
-4.4087,3.9115,-3.4777
-8.3664,2.5889,-8.2999
--3.2421,7.7635,-0.41305
--9.2878,18.676,-2.8868
--6.7554,3.2905,5.5419
-6.0511,4.9013,-0.95707
--3.2108,8.335,-0.2554
--9.1506,1.785,1.461
--5.9346,20.364,-8.5252
--8.8794,16.421,-4.3289
-3.3337,4.1103,-4.2234
-4.4386,14.989,-3.451
-12.081,13.38,-2.5891
--3.4758,17.809,7.5226
--3.105,14.034,-10.241
--9.4576,17.234,-0.38492
-11.815,10.225,-3.3757
--1.6157,13.473,-10.725
-5.8349,13.88,-1.5168
-6.3403,19.702,1.5022
-0.89738,1.9108,7.6855
--9.4707,10.812,-0.64073
-2.5875,15.225,-4.545
--3.0285,20.247,-2.27
-1.9211,3.3835,-4.7229
--8.8296,0.0047916,2.4255
-6.3034,5.7771,0.13664
--3.2522,1.9718,-1.451
-5.2552,17.155,4.6328
-3.8953,0.47366,-10.656
--8.4133,17.808,-5.3962
--8.3513,20.057,-5.5159
--9.2835,15.588,0.90541
-6.3544,18.564,0.69948
-6.3592,1.249,0.83854
--8.7568,20.123,-4.6451
--0.42746,8.7434,-4.5999
--2.5469,9.4489,-3.1204
-3.7537,8.224,-10.693
-4.0072,7.442,-3.8023
--7.6315,13.667,-6.6828
-10.118,17.489,-6.4491
-2.1138,13.227,7.27
--3.1489,11.386,-1.9237
-3.0139,18.125,6.7986
-2.2919,9.9174,-10.965
--4.4722,13.776,-9.5642
--3.142,2.756,-0.0011812
-0.3769,0.805,7.7966
-2.8642,6.8855,-4.4417
-6.7823,6.5883,-9.434
-3.9598,9.0928,-3.8366
-0.94387,3.8743,-11.041
--0.61078,9.497,7.9075
-6.1936,7.9816,-0.45313
-5.5207,15.986,-10.084
-5.2493,9.6055,-10.199
--3.3746,2.8156,-10.126
--3.0675,7.878,-2.1695
-6.1897,10.164,2.4635
-11.773,7.1833,-3.4857
-4.0032,12.283,-3.8052
--1.7895,3.4318,7.8767
-0.98769,10.417,7.6624
-1.029,16.93,-11.041
-2.5643,12.805,-10.929
--4.9199,12.85,6.8989
--2.3228,3.3246,-3.3933
-5.1176,11.769,4.8346
-4.6526,16.469,-3.2474
-5.9189,0.65066,3.342
--6.2473,11.73,5.997
-1.5867,1.8359,-4.7765
-9.6505,5.447,-7.0259
-1.7536,1.0334,-4.7527
--7.4534,11.473,4.7801
--2.504,13.377,-3.1766
-3.7471,1.394,6.2839
-6.1784,5.2312,2.5111
-9.0081,13.219,-7.712
-4.6969,13.475,-10.409
--3.4495,9.1355,-10.093
-12.193,2.0151,-2.1905
--2.078,11.459,7.8424
-5.2119,7.7869,-2.5934
--3.0754,11.441,-2.1481
-0.31605,3.0518,-11.02
-0.21758,1.429,-4.7532
--0.95707,2.8134,-10.866
-5.3516,10.809,-10.157
-11.513,2.5304,-4.1078
--3.2306,7.9832,-1.581
-5.1507,8.4292,4.7875
-4.8178,7.916,5.228
-7.5102,14.073,-8.9624
-11.426,3.4226,-4.2963
--7.3019,7.8554,-7.1183
-3.1031,0.80977,6.7429
--4.6858,7.8186,7.0226
--3.9581,16.7,-9.8477
-6.0268,5.3086,3.0409
-6.3476,20.324,0.57556
-1.4496,7.7349,7.5253
--6.2465,7.9201,-8.2493
-6.8612,3.8521,-9.3865
-6.2567,19.267,2.1411
--1.1961,1.8965,7.9141
--8.0364,0.098955,-6.0709
--7.2899,20.094,4.9753
-5.6683,15.363,3.9122
--9.4569,20.549,-1.6173
-1.735,12.459,-4.7556
-10.87,5.4657,-5.3383
--1.1021,13.363,7.916
-5.5618,10.219,4.1182
--7.1915,2.6501,-7.2539
--3.2593,7.7897,-1.4005
--9.3725,19.652,-2.4035
-1.6032,2.7111,7.4726
-1.1691,19.858,7.6123
-6.263,6.8982,2.1055
--5.6243,6.2428,-8.7786
-0.50706,14.507,-4.7911
-4.4678,9.6125,-3.4245
-1.0813,18.511,-11.04
--9.2619,15.87,-3.0113
-11.972,8.4452,-2.9323
--1.4335,15.219,-4.1376
-6.7869,3.5847,-9.4312
--3.2594,10.062,-1.3994
--2.5492,13.651,-3.1173
-10.912,9.612,-5.2678
--2.7937,1.3962,7.7111
-0.45016,8.7684,7.7832
-5.4597,6.0829,-2.226
--6.978,2.0327,-7.5031
--2.8943,15.139,-2.5638
--6.2217,13.817,-8.2721
--2.311,7.8591,-10.529
-5.8322,7.7847,-1.523
--9.1114,3.5357,-3.6155
--1.9869,9.7908,-10.627
--8.6131,20.892,-4.9796
-6.3118,15.347,1.7803
--9.1459,14.308,1.478
--3.2051,13.737,-0.23033
-10.48,12.879,-5.9472
--4.812,0.066223,-9.3555
--3.581,13.478,-10.033
-0.53589,11.117,-4.7939
-2.4525,11.509,-4.589
--3.1484,12.339,-1.9254
-5.0209,3.9153,4.9679
--3.085,1.5704,-2.1212
-5.9181,19.826,-1.3207
-12.181,11.657,-2.2373
-12.385,14.523,-1.3446
-3.5193,17.006,-4.121
-9.7445,2.7049,-6.9157
--9.4417,6.2421,-1.8159
--9.0867,9.7389,1.6843
-8.8401,5.0762,-7.8745
--9.3458,6.978,0.57415
-1.6594,9.8442,7.4524
--9.1318,5.0389,-3.5423
--8.7991,18.169,-4.5395
-5.2186,8.9205,4.688
-11.027,18.51,-5.0682
--9.2888,6.4134,-2.882
--0.41375,20.383,-10.95
-5.6796,20.959,-1.8393
-3.8656,0.13076,6.1873
-5.4491,14.529,-2.243
-0.52437,1.753,7.7689
-1.3515,20.529,-4.8002
-6.2792,2.9281,2.0097
--3.249,13.453,-0.45476
--7.9143,0.5619,-6.266
--2.3446,18.76,-3.3688
--6.2961,12.236,-8.2033
--9.4519,20.31,-1.6891
--3.8051,16.321,7.4084
--7.6704,20.76,4.5021
--3.2308,20.693,-1.5801
-1.7807,19.162,-4.7483
--9.4137,9.7087,0.099429
--3.2303,9.6692,-1.5825
--3.3053,6.0781,-10.157
--9.3468,5.4449,-2.5667
--8.929,15.128,-4.191
--8.1358,13.069,-5.9044
-12.412,3.1999,-1.1993
-1.7128,17.206,-4.759
--3.1464,11.309,-1.9323
-1.0832,12.589,-4.8134
-5.4597,1.917,-2.2259
--0.50465,18.567,7.9017
--7.926,0.97423,4.1424
-10.891,3.5496,-5.3027
--0.68603,12.839,-10.911
-1.4604,2.3966,-11.031
--9.1354,2.4111,1.5159
-1.8854,14.347,7.3659
--1.3604,9.7456,-4.1822
--2.9852,12.206,-2.3724
--4.9374,5.3605,6.8892
-3.376,0.33503,-4.2009
-5.9887,15.903,3.1524
--5.5706,8.5698,6.5025
-1.3478,10.756,-4.8005
--8.9254,18.215,-4.2012
--7.6965,20.891,-6.5909
-3.5034,10.202,-10.754
-7.141,0.4266,-9.2112
--8.783,19.825,2.5409
--3.2687,5.9991,-1.3221
--9.4772,12.31,-0.9488
--3.0719,18.463,-2.1576
-0.88008,18.721,7.6898
--6.4085,13.761,-8.0968
-11.856,3.5939,-3.2657
--1.262,15.859,-4.2392
-5.9844,9.7283,-1.1484
-6.3302,0.20206,0.36438
-6.2875,5.1833,0.02774
-12.491,19.017,-0.6999
-6.361,5.8404,0.99325
--2.5727,5.0511,-3.0855
-6.9868,6.8092,-9.3092
--5.4039,3.8864,6.6118
--7.9045,2.3469,-6.2811
-6.0096,18.11,3.092
-2.4904,17.207,-10.94
-3.6991,18.849,-4.0122
--7.3443,2.9344,4.9116
--0.23563,18.546,-4.6559
-12.114,12.628,-2.4786
-6.3171,4.8595,1.7371
-3.3672,13.505,6.5673
-3.678,9.8283,-4.0255
-0.1895,1.5743,7.8275
--6.099,0.95271,-8.3826
--0.068804,16.321,-4.6972
-1.9544,5.2873,-4.7163
-5.6945,10.094,3.8588
--0.6945,13.121,7.9111
--8.3671,20.815,3.4153
-6.3338,5.7958,1.5768
--9.4772,10.684,-1.0267
-4.9554,12.156,-2.9185
--1.0764,19.771,-10.843
-3.6722,8.8878,6.3429
-12.522,12.896,-0.44894
-10.405,19.154,-6.0567
--1.863,14.482,-10.661
-5.8877,11.722,-1.3947
--8.782,16.151,2.5433
--3.1876,2.4115,-1.7798
-1.3228,3.62,-11.036
--3.2803,6.5636,-1.192
--1.6344,4.9274,-10.72
--6.3693,19.408,5.8942
-6.2492,4.3164,-0.19349
-6.2953,20.49,1.9034
--8.8097,13.51,-4.5126
--4.8422,9.7961,-9.3361
-3.0903,6.6755,-4.3436
--4.3104,13.323,-9.6575
--9.3402,11.289,0.60683
-8.5456,16.391,-8.1444
-6.2086,15.514,-0.3881
-4.0241,12.428,6.0513
--1.9923,6.7025,-3.721
--8.2113,18.786,3.6902
-11.51,0.42133,-4.113
--2.1079,8.4634,-3.6148
--2.471,6.154,-3.2185
--9.4769,20.576,-1.0801
-5.6088,17.239,4.0295
--1.4213,17.743,-4.1452
-3.1111,1.4102,-4.334
-6.2645,12.08,-0.11108
--1.2301,18.224,-4.2569
-6.2403,10.248,-0.23932
-4.3353,5.4714,5.7594
-12.247,20.28,-1.9789
-10.687,9.4862,-5.6346
-6.267,0.16295,-0.096894
--0.036656,17.392,-4.7045
--8.9851,6.7678,2.0024
--3.286,7.4643,-0.83389
--7.5806,6.2719,-6.7535
-0.66324,8.719,-4.804
-3.5651,13.124,-10.74
--3.1773,8.486,-1.8204
-5.7277,3.1987,-1.7447
-5.8991,0.068424,-1.3672
-4.0409,14.205,6.0364
--1.0685,15.873,-10.845
--0.1774,11.593,-4.6711
--1.8956,19.306,7.8653
-3.8035,0.94085,6.2384
-11.557,0.28271,-4.0077
--3.9293,19.62,7.3612
-6.7009,12.978,-9.482
--9.2637,19.721,-3.0027
-3.2304,3.7101,6.6603
--7.9823,10.886,4.0578
-6.2953,16.24,1.9038
--0.52152,6.6862,-10.935
--6.8857,16.418,5.4129
--3.2863,17.997,-1.0767
--9.4671,16.839,-1.4335
-8.4178,8.1503,-8.2559
-1.9811,1.8492,7.3268
-9.0264,14.248,-7.6938
--8.9165,20.914,2.1971
-0.033852,9.0311,7.8496
--0.42994,2.4506,-10.948
--7.0419,4.6457,5.2509
-5.6316,6.3242,3.9852
--8.6722,19.845,2.7987
--3.192,17.149,-0.1768
--9.4027,20.601,-2.1843
--3.0074,0.94405,-2.321
--7.7969,17.202,-6.4445
-4.343,14.784,-3.5353
-5.5813,1.7281,-2.0207
-4.3975,1.6265,-10.509
--7.7414,2.6265,-6.5261
-3.7054,12.442,6.3169
--8.7685,11.187,2.5761
-1.972,14.148,-4.7127
-3.5304,15.131,-4.1145
-5.5926,8.2748,4.0604
-5.1995,3.1446,4.7164
-4.6891,0.45687,-10.412
-8.9245,13.285,-7.7936
--3.0466,13.286,-2.2244
--6.9845,16.163,-7.4957
--2.5405,11.41,-10.453
-1.0808,9.2656,7.6373
--8.4057,1.6334,3.3434
--3.3362,4.391,7.5664
-4.703,6.1253,-3.1962
--1.1386,8.6415,-10.831
--2.0378,19.324,7.8478
-6.0989,13.417,2.8095
-0.31831,16.502,-4.7684
-6.2847,16.316,1.9744
-6.3443,16.258,0.52818
--0.80077,3.1131,-4.4636
--8.8559,1.9608,2.3584
-9.3152,10.188,-7.3975
--0.1509,5.8032,-4.6777
--1.4445,0.48762,-4.1307
-3.0447,17.75,-4.3644
--8.4482,14.588,-5.3268
-6.0229,10.077,3.0526
-11.671,16.454,-3.742
-5.2647,20.105,4.6183
-1.4086,11.116,-4.7955
--0.31184,10.152,7.8873
-6.1254,10.914,2.7159
--1.7846,4.3812,-10.682
-5.8971,0.969,3.3977
-5.7982,17.091,-1.5977
--9.4692,18.531,-1.3866
--2.8063,10.391,-2.7263
-4.3936,7.2546,5.7008
-8.0715,3.3636,-8.5425
-5.9189,20.312,3.3419
--3.0492,6.6513,-2.2179
--1.594,2.4318,-4.0323
--0.10207,1.9729,-4.6895
--2.4326,16.01,7.7856
-4.9645,17.546,5.0427
--2.8567,0.19259,-10.339
--9.0213,2.3594,1.8936
-2.3072,19.095,-4.6317
--0.92695,4.357,-4.4088
-1.8121,14.975,-11.011
--2.832,17.193,-2.6808
-6.3608,3.4135,0.94357
--3.0112,19.39,7.6579
-4.0556,11.343,6.0233
--9.293,0.043142,-2.8608
-0.33976,18.678,-11.021
--3.2703,2.0668,-0.61589
-6.1805,20.317,2.5026
--8.1113,14.071,3.8557
-2.9871,17.599,6.815
--1.0498,11.384,-10.848
--2.5849,6.2008,-3.0687
--7.2413,3.8396,5.0312
--8.141,11.527,-5.8957
--0.45607,19.426,-4.5908
-1.6567,0.17742,-4.7672
--9.4215,8.4203,-2.0233
-6.0908,18.967,2.8369
-10.358,9.9536,-6.1234
--3.2627,17.219,-0.5513
--3.1568,1.8927,-1.896
--9.3223,3.0901,-2.7072
--3.155,1.3305,-1.9026
--8.5919,0.70787,-5.0263
--9.3373,4.6447,-2.6224
--8.3604,10.779,3.4274
--5.6075,6.0321,6.4775
-6.1317,1.9444,-9.7938
-5.4665,17.26,-2.2151
-12.49,1.4241,-0.7048
-11.919,19.379,-3.0899
-11.268,11.826,-4.6179
-10.808,6.6827,-5.4399
-4.5448,1.2828,-3.3526
-6.2778,6.1409,-0.033459
-5.5135,0.71636,4.2065
-5.3128,4.612,-2.4511
--4.9338,18.272,6.8912
-4.1006,12.428,-3.7322
--1.7124,2.7121,7.884
--3.1752,6.8421,-0.11305
-6.3243,20.875,1.6724
-10.13,9.1169,-6.4337
-9.8165,10.433,-6.8295
-11.84,20.111,-3.3105
--8.6725,13.607,-4.8453
-3.0697,0.64909,-10.845
-6.2823,1.9702,1.9898
-6.2951,0.15388,0.078119
--1.8087,0.52521,-10.676
-4.6774,0.70984,5.394
--9.4768,6.8871,-0.89913
--4.5162,8.9209,7.1065
--0.70847,1.3516,-4.5008
--7.9673,13.209,4.0805
-0.45104,8.5663,-4.7852
--9.1266,9.0256,-3.5611
-2.0785,12.411,-4.6896
-0.40224,18.654,-11.025
-5.4334,20.221,-10.122
--5.8727,7.7268,-8.5774
--3.03,2.2868,-2.2662
-9.9107,10.732,-6.7142
-2.0951,8.8432,-4.6858
--0.39188,2.9919,-10.953
-6.1354,17.176,-0.67937
-5.4929,1.679,-2.1718
-9.2781,3.5023,-7.4367
-5.9441,10.206,3.2755
--2.2657,8.5199,-10.543
--3.7565,0.40692,-9.949
-11.157,17.953,-4.8295
-12.334,5.2646,-1.5999
-1.2614,6.8169,7.585
--3.1567,6.1103,-1.8965
--9.4761,19.995,-0.8425
--3.2705,17.254,-1.3046
-2.6842,20.994,-4.5109
-4.3302,4.8359,-3.5462
--1.8953,11.774,7.8653
--0.75153,6.0577,-10.901
-4.0041,5.0452,-3.8045
--3.8901,4.5221,7.3764
--9.4131,6.4861,0.10412
-2.1269,10.622,7.2642
--9.4284,4.0502,-1.9575
-4.8362,19.453,-3.0543
-3.2042,2.6876,-4.2893
-5.1573,13.329,4.778
-0.67824,8.4679,-4.805
--9.4249,6.8438,-1.9917
-8.8802,15.9,-7.8362
-5.557,4.1183,4.1271
-5.5831,3.244,4.0785
--3.0769,2.5273,-2.1439
--3.2883,18.169,-0.93324
-5.0964,16.631,4.8645
--1.7223,8.3016,-10.698
--0.76013,7.0901,-10.899
-1.4265,10.711,-4.7939
-2.0283,12.18,-4.7008
-12.134,9.8096,-2.408
--3.1031,9.0919,-10.242
-3.4977,13.327,-4.1334
-6.2691,9.0606,2.0708
-5.7266,9.0757,-1.7468
--9.4067,10.758,-2.1515
-12.444,3.8655,-1.014
--4.4369,10.228,7.1441
-5.6667,10.35,3.9154
-11.747,17.368,-3.5522
--1.5362,17.687,-4.0714
--4.2508,7.2415,-9.6909
--7.874,1.2497,-6.3282
--4.4138,16.437,7.1548
--1.0799,11.711,-4.3358
-1.815,18.07,-4.7425
-4.1996,5.8304,-3.6545
-5.3347,15.43,-2.4188
-0.22034,1.1481,7.8227
-1.1371,15.216,-4.8119
-11.941,14.794,-3.0265
--3.1586,4.3312,-10.219
--5.6405,18.327,-8.7659
--2.6027,15.889,-10.431
-7.2617,8.841,-9.1321
--9.3185,0.027228,0.72747
-12.219,8.6586,-2.0928
-6.3597,14.032,0.86018
-3.7074,17.637,6.3153
--2.2332,5.4,7.8195
--0.45022,11.714,-4.5927
-11.399,19.977,-4.3524
--8.0585,4.6737,-6.0345
-0.24834,0.14751,7.8183
-6.0419,15.507,-0.9847
--4.1751,8.4059,-9.7326
-5.595,5.2855,4.0559
--2.5958,12.646,-3.0536
--0.091626,6.1632,-10.987
-2.4027,0.95606,7.1355
--2.7291,10.776,-2.8549
--8.8588,0.74415,-4.3842
-12.145,10.446,-2.3669
--9.2476,16.866,-3.0766
--1.2538,10.557,7.9124
--6.9203,5.0003,-7.5678
-10.34,1.8611,-6.1488
--3.257,18.972,7.59
-2.9357,13.261,-10.87
-4.4045,7.9594,-3.4815
-6.3163,6.6065,0.23766
-10.599,11.239,-5.7702
--9.2227,18.376,-3.1857

Modified: mlpack/trunk/src/mlpack/methods/naive_bayes/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/methods/naive_bayes/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/naive_bayes/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -22,11 +22,3 @@
 target_link_libraries(nbc
   mlpack
 )
-
-add_executable(nbc_test
-  nbc_test.cc
-)
-target_link_libraries(nbc_test
-  mlpack
-  boost_unit_test_framework
-)

Deleted: mlpack/trunk/src/mlpack/methods/naive_bayes/nbc_test.cc
===================================================================
--- mlpack/trunk/src/mlpack/methods/naive_bayes/nbc_test.cc	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/naive_bayes/nbc_test.cc	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,54 +0,0 @@
-#include <mlpack/core.h>
-#include "simple_nbc.h"
-
-#define BOOST_TEST_MODULE Test_Simple_NBC_Main
-#include <boost/test/unit_test.hpp>
-
-using namespace mlpack;
-using namespace naive_bayes;
-
-BOOST_AUTO_TEST_CASE(SimpleNBCTest) {
-  const char* filename_train_ = "trainSet.csv";
-  const char* filename_test_ = "testSet.csv";
-  const char* train_result_ = "trainRes.csv";
-  const char* test_result_ = "testRes.csv";
-  size_t number_of_classes_ = 2;
-
-  arma::mat train_data, train_res, calc_mat;
-  data::Load(filename_train_, train_data, true);
-  data::Load(train_result_, train_res, true);
-
-  CLI::GetParam<int>("nbc/classes") = number_of_classes_;
-  SimpleNaiveBayesClassifier nbc_test_(train_data);
-
-  size_t number_of_features = nbc_test_.means_.n_rows;
-  calc_mat.zeros(2 * number_of_features + 1, number_of_classes_);
-
-  for (size_t i = 0; i < number_of_features; i++) {
-    for (size_t j = 0; j < number_of_classes_; j++) {
-      calc_mat(i, j) = nbc_test_.means_(i, j);
-      calc_mat(i + number_of_features, j) = nbc_test_.variances_(i, j);
-    }
-  }
-  for (size_t i = 0; i < number_of_classes_; i++)
-    calc_mat(2 * number_of_features, i) = nbc_test_.class_probabilities_(i);
-
-  for(size_t i = 0; i < calc_mat.n_rows; i++) {
-    for(size_t j = 0; j < number_of_classes_; j++) {
-      BOOST_REQUIRE_CLOSE(train_res(i, j) + .00001, calc_mat(i, j), .01);
-    }
-  }
-
-  arma::mat test_data, test_res;
-  arma::vec test_res_vec, calc_vec;
-  data::Load(filename_test_, test_data, true);
-  data::Load(test_result_, test_res, true);
-
-  nbc_test_.Classify(test_data, calc_vec);
-
-  size_t number_of_datum = test_data.n_cols;
-  test_res_vec = test_res.col(0);
-
-  for(size_t i = 0; i < number_of_datum; i++)
-    BOOST_REQUIRE_EQUAL(test_res_vec(i), calc_vec(i));
-}

Deleted: mlpack/trunk/src/mlpack/methods/naive_bayes/testRes.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/naive_bayes/testRes.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/naive_bayes/testRes.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1 +0,0 @@
-0,0,0,1,1,1,1

Deleted: mlpack/trunk/src/mlpack/methods/naive_bayes/testSet.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/naive_bayes/testSet.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/naive_bayes/testSet.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,7 +0,0 @@
-2,4,4,2,0
-2,5,4,2,0
-2,4,4,4,0
-8,4,4,2,1
-8,4,4,2,1
-8,5,4,2,1
-8,4,4,4,1

Deleted: mlpack/trunk/src/mlpack/methods/naive_bayes/trainRes.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/naive_bayes/trainRes.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/naive_bayes/trainRes.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,2 +0,0 @@
-2.75, 4.0000, 3.6875, 2.3750, 0.3333, 0.8000, 0.6292, 0.3833, 0.5161
-8.3333, 4.6667, 3.6667, 2.4, 0.8095, 3.3810, 0.6667, 0.4000, 0.4839

Deleted: mlpack/trunk/src/mlpack/methods/naive_bayes/trainSet.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/naive_bayes/trainSet.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/naive_bayes/trainSet.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,31 +0,0 @@
-3,3,3,3,0
-3,4,4,3,0
-3,4,4,3,0
-3,3,4,3,0
-3,6,4,3,0
-2,4,4,3,0
-2,4,4,1,0
-3,3,3,2,0
-3,4,4,2,0
-3,4,4,2,0
-3,3,4,2,0
-3,6,4,2,0
-2,4,4,2,0
-2,4,4,3,0
-2,4,1,2,0
-4,4,4,2,0
-9,3,3,3,1
-9,4,4,3,1
-9,4,4,3,1
-9,3,4,3,1
-9,6,4,3,1
-9,4,4,3,1
-9,4,4,1,1
-9,3,3,2,1
-8,4,4,2,1
-8,4,4,2,1
-8,3,4,2,1
-8,6,4,2,1
-7,8,4,3,1
-6,9,1,2,1
-8,5,4,2,1

Modified: mlpack/trunk/src/mlpack/methods/nca/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/methods/nca/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/nca/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -24,11 +24,3 @@
 target_link_libraries(nca
   mlpack
 )
-
-add_executable(nca_test
-  nca_test.cc
-)
-target_link_libraries(nca_test
-  mlpack
-  boost_unit_test_framework
-)

Deleted: mlpack/trunk/src/mlpack/methods/nca/nca_test.cc
===================================================================
--- mlpack/trunk/src/mlpack/methods/nca/nca_test.cc	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/nca/nca_test.cc	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,165 +0,0 @@
-/**
- * @file nca_test.cc
- * @author Ryan Curtin
- *
- * Unit tests for Neighborhood Components Analysis and related code (including
- * the softmax error function).
- */
-#include <mlpack/core.h>
-#include <mlpack/core/kernels/lmetric.hpp>
-#include "nca.h"
-
-#define BOOST_TEST_MODULE Neighborhood Components Analysis Test
-#include <boost/test/unit_test.hpp>
-
-using namespace mlpack;
-using namespace mlpack::kernel;
-using namespace mlpack::nca;
-
-//
-// Tests for the SoftmaxErrorFunction
-//
-
-/***
- * The Softmax error function should return the identity matrix as its initial
- * point.
- */
-BOOST_AUTO_TEST_CASE(softmax_initial_point) {
-  // Cheap fake dataset.
-  arma::mat data;
-  data.randu(5, 5);
-  arma::uvec labels;
-  labels.zeros(5);
-
-  SoftmaxErrorFunction<SquaredEuclideanDistance> sef(data, labels);
-
-  // Verify the initial point is the identity matrix.
-  arma::mat initial_point = sef.GetInitialPoint();
-  for (int row = 0; row < 5; row++) {
-    for (int col = 0; col < 5; col++) {
-      if (row == col)
-        BOOST_REQUIRE_CLOSE(initial_point(row, col), 1.0, 1e-5);
-      else
-        BOOST_REQUIRE(initial_point(row, col) == 0.0);
-    }
-  }
-}
-
-/***
- * On a simple fake dataset, ensure that the initial function evaluation is
- * correct.
- */
-BOOST_AUTO_TEST_CASE(softmax_initial_evaluation) {
-  // Useful but simple dataset with six points and two classes.
-  arma::mat data    = "-0.1 -0.1 -0.1  0.1  0.1  0.1;"
-                      " 1.0  0.0 -1.0  1.0  0.0 -1.0 ";
-  arma::uvec labels = " 0    0    0    1    1    1   ";
-
-  SoftmaxErrorFunction<SquaredEuclideanDistance> sef(data, labels);
-
-  double objective = sef.Evaluate(arma::eye<arma::mat>(2, 2));
-
-  // Result painstakingly calculated by hand by rcurtin (recorded forever in his
-  // notebook).  As a result of lack of precision of the by-hand result, the
-  // tolerance is fairly high.
-  BOOST_REQUIRE_CLOSE(objective, -1.5115, 0.01);
-}
-
-/***
- * On a simple fake dataset, ensure that the initial gradient evaluation is
- * correct.
- */
-BOOST_AUTO_TEST_CASE(softmax_initial_gradient) {
-  // Useful but simple dataset with six points and two classes.
-  arma::mat data    = "-0.1 -0.1 -0.1  0.1  0.1  0.1;"
-                      " 1.0  0.0 -1.0  1.0  0.0 -1.0 ";
-  arma::uvec labels = " 0    0    0    1    1    1   ";
-
-  SoftmaxErrorFunction<SquaredEuclideanDistance> sef(data, labels);
-
-  arma::mat gradient;
-  sef.Gradient(arma::eye<arma::mat>(2, 2), gradient);
-
-  // Results painstakingly calculated by hand by rcurtin (recorded forever in
-  // his notebook).  As a result of lack of precision of the by-hand result, the
-  // tolerance is fairly high.
-  BOOST_REQUIRE_CLOSE(gradient(0, 0), -0.089766, 0.05);
-  BOOST_REQUIRE(gradient(1, 0) == 0.0);
-  BOOST_REQUIRE(gradient(0, 1) == 0.0);
-  BOOST_REQUIRE_CLOSE(gradient(1, 1), 1.63823, 0.01);
-}
-
-/***
- * On optimally separated datasets, ensure that the objective function is
- * optimal (equal to the negative number of points).
- */
-BOOST_AUTO_TEST_CASE(softmax_optimal_evaluation) {
-  // Simple optimal dataset.
-  arma::mat data    = " 500  500 -500 -500;"
-                      "   1    0    1    0 ";
-  arma::uvec labels = "   0    0    1    1 ";
-
-  SoftmaxErrorFunction<SquaredEuclideanDistance> sef(data, labels);
-
-  double objective = sef.Evaluate(arma::eye<arma::mat>(2, 2));
-
-  // Use a very close tolerance for optimality; we need to be sure this function
-  // gives optimal results correctly.
-  BOOST_REQUIRE_CLOSE(objective, -4.0, 1e-10);
-}
-
-/***
- * On optimally separated datasets, ensure that the gradient is zero.
- */
-BOOST_AUTO_TEST_CASE(softmax_optimal_gradient) {
-  // Simple optimal dataset.
-  arma::mat data    = " 500  500 -500 -500;"
-                      "   1    0    1    0 ";
-  arma::uvec labels = "   0    0    1    1 ";
-
-  SoftmaxErrorFunction<SquaredEuclideanDistance> sef(data, labels);
-
-  arma::mat gradient;
-  sef.Gradient(arma::eye<arma::mat>(2, 2), gradient);
-
-  BOOST_REQUIRE(gradient(0, 0) == 0.0);
-  BOOST_REQUIRE(gradient(0, 1) == 0.0);
-  BOOST_REQUIRE(gradient(1, 0) == 0.0);
-  BOOST_REQUIRE(gradient(1, 1) == 0.0);
-}
-
-//
-// Tests for the NCA algorithm.
-//
-
-/***
- * On our simple dataset, ensure that the NCA algorithm fully separates the
- * points.
- */
-BOOST_AUTO_TEST_CASE(nca_simple_dataset) {
-  // Useful but simple dataset with six points and two classes.
-  arma::mat data    = "-0.1 -0.1 -0.1  0.1  0.1  0.1;"
-                      " 1.0  0.0 -1.0  1.0  0.0 -1.0 ";
-  arma::uvec labels = " 0    0    0    1    1    1   ";
-
-  NCA<SquaredEuclideanDistance> nca(data, labels);
-
-  arma::mat output_matrix;
-  nca.LearnDistance(output_matrix);
-
-  // Ensure that the objective function is better now.
-  SoftmaxErrorFunction<SquaredEuclideanDistance> sef(data, labels);
-
-  double init_obj = sef.Evaluate(arma::eye<arma::mat>(2, 2));
-  double final_obj = sef.Evaluate(output_matrix);
-  arma::mat final_gradient;
-  sef.Gradient(output_matrix, final_gradient);
-
-  // final_obj must be less than init_obj.
-  BOOST_REQUIRE_LT(final_obj, init_obj);
-  // Verify that final objective is optimal.
-  BOOST_REQUIRE_CLOSE(final_obj, -6.0, 1e-8);
-  // The solution is not unique, so the best we can do is ensure the gradient
-  // norm is close to 0.
-  BOOST_REQUIRE_LT(arma::norm(final_gradient, 2), 1e-10);
-}

Modified: mlpack/trunk/src/mlpack/methods/neighbor_search/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/methods/neighbor_search/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/neighbor_search/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -23,14 +23,6 @@
 # the parent scope).
 set(MLPACK_SRCS ${MLPACK_SRCS} ${DIR_SRCS} PARENT_SCOPE)
 
-add_executable(allknn_test
-  allknn_test.cc
-)
-target_link_libraries(allknn_test
-  mlpack
-  boost_unit_test_framework
-)
-
 add_executable(allknn
   allknn_main.cc
 )
@@ -38,25 +30,9 @@
   mlpack
 )
 
-add_executable(allkfn_test
-  allkfn_test.cc
-)
-target_link_libraries(allkfn_test
-  mlpack
-  boost_unit_test_framework
-)
-
 add_executable(allkfn
   allkfn_main.cc
 )
 target_link_libraries(allkfn
   mlpack
 )
-
-add_executable(sort_policy_test
-  sort_policies/sort_policy_test.cc
-)
-target_link_libraries(sort_policy_test
-  mlpack
-  boost_unit_test_framework
-)

Deleted: mlpack/trunk/src/mlpack/methods/neighbor_search/allkfn_test.cc
===================================================================
--- mlpack/trunk/src/mlpack/methods/neighbor_search/allkfn_test.cc	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/neighbor_search/allkfn_test.cc	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,432 +0,0 @@
-/**
- * @file allkfn_test.cc
- *
- * Test file for AllkFN class
- */
-#include <mlpack/core.h>
-#include "neighbor_search.h"
-
-#define BOOST_TEST_MODULE AllkFN Test
-#include <boost/test/unit_test.hpp>
-
-using namespace mlpack;
-using namespace mlpack::neighbor;
-
-/***
- * Simple furthest-neighbors test with small, synthetic dataset.  This is an
- * exhaustive test, which checks that each method for performing the calculation
- * (dual-tree, single-tree, naive) produces the correct results.  An
- * eleven-point dataset and the ten furthest neighbors are taken.  The dataset
- * is in one dimension for simplicity -- the correct functionality of distance
- * functions is not tested here.
- */
-BOOST_AUTO_TEST_CASE(exhaustive_synthetic_test) {
-  // Set up our data.
-  arma::mat data(1, 11);
-  data[0] = 0.05; // Row addressing is unnecessary (they are all 0).
-  data[1] = 0.35;
-  data[2] = 0.15;
-  data[3] = 1.25;
-  data[4] = 5.05;
-  data[5] = -0.22;
-  data[6] = -2.00;
-  data[7] = -1.30;
-  data[8] = 0.45;
-  data[9] = 0.90;
-  data[10] = 1.00;
-
-  // We will loop through three times, one for each method of performing the
-  // calculation.  We'll always use 10 neighbors, so set that parameter.
-  CLI::GetParam<int>("neighbor_search/k") = 10;
-  for (int i = 0; i < 3; i++) {
-    AllkFN* allkfn;
-    arma::mat data_mutable = data;
-    switch(i) {
-      case 0: // Use the dual-tree method.
-        allkfn = new AllkFN(data_mutable);
-        break;
-      case 1: // Use the single-tree method.
-        CLI::GetParam<bool>("neighbor_search/single_mode") = true;
-        allkfn = new AllkFN(data_mutable);
-        break;
-      case 2: // Use the naive method.
-        CLI::GetParam<bool>("neighbor_search/single_mode") = false;
-        CLI::GetParam<bool>("neighbor_search/naive_mode") = true;
-        allkfn = new AllkFN(data_mutable);
-        break;
-    }
-
-    // Now perform the actual calculation.
-    arma::Mat<size_t> neighbors;
-    arma::mat distances;
-    allkfn->ComputeNeighbors(neighbors, distances);
-
-    // Now the exhaustive check for correctness.  This will be long.  We must
-    // also remember that the distances returned are squared distances.  As a
-    // result, distance comparisons are written out as (distance * distance) for
-    // readability.
-
-    // Neighbors of point 0.
-    BOOST_REQUIRE(neighbors(9, 0) == 2);
-    BOOST_REQUIRE_CLOSE(distances(9, 0), (0.10 * 0.10), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 0) == 5);
-    BOOST_REQUIRE_CLOSE(distances(8, 0), (0.27 * 0.27), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 0) == 1);
-    BOOST_REQUIRE_CLOSE(distances(7, 0), (0.30 * 0.30), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 0) == 8);
-    BOOST_REQUIRE_CLOSE(distances(6, 0), (0.40 * 0.40), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 0) == 9);
-    BOOST_REQUIRE_CLOSE(distances(5, 0), (0.85 * 0.85), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 0) == 10);
-    BOOST_REQUIRE_CLOSE(distances(4, 0), (0.95 * 0.95), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 0) == 3);
-    BOOST_REQUIRE_CLOSE(distances(3, 0), (1.20 * 1.20), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 0) == 7);
-    BOOST_REQUIRE_CLOSE(distances(2, 0), (1.35 * 1.35), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 0) == 6);
-    BOOST_REQUIRE_CLOSE(distances(1, 0), (2.05 * 2.05), 1e-5);
-    BOOST_REQUIRE(neighbors(0, 0) == 4);
-    BOOST_REQUIRE_CLOSE(distances(0, 0), (5.00 * 5.00), 1e-5);
-
-    // Neighbors of point 1.
-    BOOST_REQUIRE(neighbors(9, 1) == 8);
-    BOOST_REQUIRE_CLOSE(distances(9, 1), (0.10 * 0.10), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 1) == 2);
-    BOOST_REQUIRE_CLOSE(distances(8, 1), (0.20 * 0.20), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 1) == 0);
-    BOOST_REQUIRE_CLOSE(distances(7, 1), (0.30 * 0.30), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 1) == 9);
-    BOOST_REQUIRE_CLOSE(distances(6, 1), (0.55 * 0.55), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 1) == 5);
-    BOOST_REQUIRE_CLOSE(distances(5, 1), (0.57 * 0.57), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 1) == 10);
-    BOOST_REQUIRE_CLOSE(distances(4, 1), (0.65 * 0.65), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 1) == 3);
-    BOOST_REQUIRE_CLOSE(distances(3, 1), (0.90 * 0.90), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 1) == 7);
-    BOOST_REQUIRE_CLOSE(distances(2, 1), (1.65 * 1.65), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 1) == 6);
-    BOOST_REQUIRE_CLOSE(distances(1, 1), (2.35 * 2.35), 1e-5);
-    BOOST_REQUIRE(neighbors(0, 1) == 4);
-    BOOST_REQUIRE_CLOSE(distances(0, 1), (4.70 * 4.70), 1e-5);
-
-    // Neighbors of point 2.
-    BOOST_REQUIRE(neighbors(9, 2) == 0);
-    BOOST_REQUIRE_CLOSE(distances(9, 2), (0.10 * 0.10), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 2) == 1);
-    BOOST_REQUIRE_CLOSE(distances(8, 2), (0.20 * 0.20), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 2) == 8);
-    BOOST_REQUIRE_CLOSE(distances(7, 2), (0.30 * 0.30), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 2) == 5);
-    BOOST_REQUIRE_CLOSE(distances(6, 2), (0.37 * 0.37), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 2) == 9);
-    BOOST_REQUIRE_CLOSE(distances(5, 2), (0.75 * 0.75), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 2) == 10);
-    BOOST_REQUIRE_CLOSE(distances(4, 2), (0.85 * 0.85), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 2) == 3);
-    BOOST_REQUIRE_CLOSE(distances(3, 2), (1.10 * 1.10), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 2) == 7);
-    BOOST_REQUIRE_CLOSE(distances(2, 2), (1.45 * 1.45), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 2) == 6);
-    BOOST_REQUIRE_CLOSE(distances(1, 2), (2.15 * 2.15), 1e-5);
-    BOOST_REQUIRE(neighbors(0, 2) == 4);
-    BOOST_REQUIRE_CLOSE(distances(0, 2), (4.90 * 4.90), 1e-5);
-
-    // Neighbors of point 3.
-    BOOST_REQUIRE(neighbors(9, 3) == 10);
-    BOOST_REQUIRE_CLOSE(distances(9, 3), (0.25 * 0.25), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 3) == 9);
-    BOOST_REQUIRE_CLOSE(distances(8, 3), (0.35 * 0.35), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 3) == 8);
-    BOOST_REQUIRE_CLOSE(distances(7, 3), (0.80 * 0.80), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 3) == 1);
-    BOOST_REQUIRE_CLOSE(distances(6, 3), (0.90 * 0.90), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 3) == 2);
-    BOOST_REQUIRE_CLOSE(distances(5, 3), (1.10 * 1.10), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 3) == 0);
-    BOOST_REQUIRE_CLOSE(distances(4, 3), (1.20 * 1.20), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 3) == 5);
-    BOOST_REQUIRE_CLOSE(distances(3, 3), (1.47 * 1.47), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 3) == 7);
-    BOOST_REQUIRE_CLOSE(distances(2, 3), (2.55 * 2.55), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 3) == 6);
-    BOOST_REQUIRE_CLOSE(distances(1, 3), (3.25 * 3.25), 1e-5);
-    BOOST_REQUIRE(neighbors(0, 3) == 4);
-    BOOST_REQUIRE_CLOSE(distances(0, 3), (3.80 * 3.80), 1e-5);
-
-    // Neighbors of point 4.
-    BOOST_REQUIRE(neighbors(9, 4) == 3);
-    BOOST_REQUIRE_CLOSE(distances(9, 4), (3.80 * 3.80), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 4) == 10);
-    BOOST_REQUIRE_CLOSE(distances(8, 4), (4.05 * 4.05), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 4) == 9);
-    BOOST_REQUIRE_CLOSE(distances(7, 4), (4.15 * 4.15), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 4) == 8);
-    BOOST_REQUIRE_CLOSE(distances(6, 4), (4.60 * 4.60), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 4) == 1);
-    BOOST_REQUIRE_CLOSE(distances(5, 4), (4.70 * 4.70), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 4) == 2);
-    BOOST_REQUIRE_CLOSE(distances(4, 4), (4.90 * 4.90), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 4) == 0);
-    BOOST_REQUIRE_CLOSE(distances(3, 4), (5.00 * 5.00), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 4) == 5);
-    BOOST_REQUIRE_CLOSE(distances(2, 4), (5.27 * 5.27), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 4) == 7);
-    BOOST_REQUIRE_CLOSE(distances(1, 4), (6.35 * 6.35), 1e-5);
-    BOOST_REQUIRE(neighbors(0, 4) == 6);
-    BOOST_REQUIRE_CLOSE(distances(0, 4), (7.05 * 7.05), 1e-5);
-
-    // Neighbors of point 5.
-    BOOST_REQUIRE(neighbors(9, 5) == 0);
-    BOOST_REQUIRE_CLOSE(distances(9, 5), (0.27 * 0.27), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 5) == 2);
-    BOOST_REQUIRE_CLOSE(distances(8, 5), (0.37 * 0.37), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 5) == 1);
-    BOOST_REQUIRE_CLOSE(distances(7, 5), (0.57 * 0.57), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 5) == 8);
-    BOOST_REQUIRE_CLOSE(distances(6, 5), (0.67 * 0.67), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 5) == 7);
-    BOOST_REQUIRE_CLOSE(distances(5, 5), (1.08 * 1.08), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 5) == 9);
-    BOOST_REQUIRE_CLOSE(distances(4, 5), (1.12 * 1.12), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 5) == 10);
-    BOOST_REQUIRE_CLOSE(distances(3, 5), (1.22 * 1.22), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 5) == 3);
-    BOOST_REQUIRE_CLOSE(distances(2, 5), (1.47 * 1.47), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 5) == 6);
-    BOOST_REQUIRE_CLOSE(distances(1, 5), (1.78 * 1.78), 1e-5);
-    BOOST_REQUIRE(neighbors(0, 5) == 4);
-    BOOST_REQUIRE_CLOSE(distances(0, 5), (5.27 * 5.27), 1e-5);
-
-    // Neighbors of point 6.
-    BOOST_REQUIRE(neighbors(9, 6) == 7);
-    BOOST_REQUIRE_CLOSE(distances(9, 6), (0.70 * 0.70), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 6) == 5);
-    BOOST_REQUIRE_CLOSE(distances(8, 6), (1.78 * 1.78), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 6) == 0);
-    BOOST_REQUIRE_CLOSE(distances(7, 6), (2.05 * 2.05), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 6) == 2);
-    BOOST_REQUIRE_CLOSE(distances(6, 6), (2.15 * 2.15), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 6) == 1);
-    BOOST_REQUIRE_CLOSE(distances(5, 6), (2.35 * 2.35), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 6) == 8);
-    BOOST_REQUIRE_CLOSE(distances(4, 6), (2.45 * 2.45), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 6) == 9);
-    BOOST_REQUIRE_CLOSE(distances(3, 6), (2.90 * 2.90), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 6) == 10);
-    BOOST_REQUIRE_CLOSE(distances(2, 6), (3.00 * 3.00), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 6) == 3);
-    BOOST_REQUIRE_CLOSE(distances(1, 6), (3.25 * 3.25), 1e-5);
-    BOOST_REQUIRE(neighbors(0, 6) == 4);
-    BOOST_REQUIRE_CLOSE(distances(0, 6), (7.05 * 7.05), 1e-5);
-
-    // Neighbors of point 7.
-    BOOST_REQUIRE(neighbors(9, 7) == 6);
-    BOOST_REQUIRE_CLOSE(distances(9, 7), (0.70 * 0.70), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 7) == 5);
-    BOOST_REQUIRE_CLOSE(distances(8, 7), (1.08 * 1.08), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 7) == 0);
-    BOOST_REQUIRE_CLOSE(distances(7, 7), (1.35 * 1.35), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 7) == 2);
-    BOOST_REQUIRE_CLOSE(distances(6, 7), (1.45 * 1.45), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 7) == 1);
-    BOOST_REQUIRE_CLOSE(distances(5, 7), (1.65 * 1.65), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 7) == 8);
-    BOOST_REQUIRE_CLOSE(distances(4, 7), (1.75 * 1.75), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 7) == 9);
-    BOOST_REQUIRE_CLOSE(distances(3, 7), (2.20 * 2.20), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 7) == 10);
-    BOOST_REQUIRE_CLOSE(distances(2, 7), (2.30 * 2.30), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 7) == 3);
-    BOOST_REQUIRE_CLOSE(distances(1, 7), (2.55 * 2.55), 1e-5);
-    BOOST_REQUIRE(neighbors(0, 7) == 4);
-    BOOST_REQUIRE_CLOSE(distances(0, 7), (6.35 * 6.35), 1e-5);
-
-    // Neighbors of point 8.
-    BOOST_REQUIRE(neighbors(9, 8) == 1);
-    BOOST_REQUIRE_CLOSE(distances(9, 8), (0.10 * 0.10), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 8) == 2);
-    BOOST_REQUIRE_CLOSE(distances(8, 8), (0.30 * 0.30), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 8) == 0);
-    BOOST_REQUIRE_CLOSE(distances(7, 8), (0.40 * 0.40), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 8) == 9);
-    BOOST_REQUIRE_CLOSE(distances(6, 8), (0.45 * 0.45), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 8) == 10);
-    BOOST_REQUIRE_CLOSE(distances(5, 8), (0.55 * 0.55), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 8) == 5);
-    BOOST_REQUIRE_CLOSE(distances(4, 8), (0.67 * 0.67), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 8) == 3);
-    BOOST_REQUIRE_CLOSE(distances(3, 8), (0.80 * 0.80), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 8) == 7);
-    BOOST_REQUIRE_CLOSE(distances(2, 8), (1.75 * 1.75), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 8) == 6);
-    BOOST_REQUIRE_CLOSE(distances(1, 8), (2.45 * 2.45), 1e-5);
-    BOOST_REQUIRE(neighbors(0, 8) == 4);
-    BOOST_REQUIRE_CLOSE(distances(0, 8), (4.60 * 4.60), 1e-5);
-
-    // Neighbors of point 9.
-    BOOST_REQUIRE(neighbors(9, 9) == 10);
-    BOOST_REQUIRE_CLOSE(distances(9, 9), (0.10 * 0.10), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 9) == 3);
-    BOOST_REQUIRE_CLOSE(distances(8, 9), (0.35 * 0.35), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 9) == 8);
-    BOOST_REQUIRE_CLOSE(distances(7, 9), (0.45 * 0.45), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 9) == 1);
-    BOOST_REQUIRE_CLOSE(distances(6, 9), (0.55 * 0.55), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 9) == 2);
-    BOOST_REQUIRE_CLOSE(distances(5, 9), (0.75 * 0.75), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 9) == 0);
-    BOOST_REQUIRE_CLOSE(distances(4, 9), (0.85 * 0.85), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 9) == 5);
-    BOOST_REQUIRE_CLOSE(distances(3, 9), (1.12 * 1.12), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 9) == 7);
-    BOOST_REQUIRE_CLOSE(distances(2, 9), (2.20 * 2.20), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 9) == 6);
-    BOOST_REQUIRE_CLOSE(distances(1, 9), (2.90 * 2.90), 1e-5);
-    BOOST_REQUIRE(neighbors(0, 9) == 4);
-    BOOST_REQUIRE_CLOSE(distances(0, 9), (4.15 * 4.15), 1e-5);
-
-    // Neighbors of point 10.
-    BOOST_REQUIRE(neighbors(9, 10) == 9);
-    BOOST_REQUIRE_CLOSE(distances(9, 10), (0.10 * 0.10), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 10) == 3);
-    BOOST_REQUIRE_CLOSE(distances(8, 10), (0.25 * 0.25), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 10) == 8);
-    BOOST_REQUIRE_CLOSE(distances(7, 10), (0.55 * 0.55), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 10) == 1);
-    BOOST_REQUIRE_CLOSE(distances(6, 10), (0.65 * 0.65), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 10) == 2);
-    BOOST_REQUIRE_CLOSE(distances(5, 10), (0.85 * 0.85), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 10) == 0);
-    BOOST_REQUIRE_CLOSE(distances(4, 10), (0.95 * 0.95), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 10) == 5);
-    BOOST_REQUIRE_CLOSE(distances(3, 10), (1.22 * 1.22), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 10) == 7);
-    BOOST_REQUIRE_CLOSE(distances(2, 10), (2.30 * 2.30), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 10) == 6);
-    BOOST_REQUIRE_CLOSE(distances(1, 10), (3.00 * 3.00), 1e-5);
-    BOOST_REQUIRE(neighbors(0, 10) == 4);
-    BOOST_REQUIRE_CLOSE(distances(0, 10), (4.05 * 4.05), 1e-5);
-
-    // Clean the memory.
-    delete allkfn;
-  }
-}
-
-/***
- * Test the dual-tree furthest-neighbors method with the naive method.  This
- * uses both a query and reference dataset.
- *
- * Errors are produced if the results are not identical.
- */
-BOOST_AUTO_TEST_CASE(dual_tree_vs_naive_1) {
-  arma::mat data_for_tree_;
-
-  // Hard-coded filename: bad!
-  if (!data::Load("test_data_3_1000.csv", data_for_tree_))
-    BOOST_FAIL("Cannot load test dataset test_data_3_1000.csv!");
-
-  // Set up matrices to work with.
-  arma::mat dual_query(data_for_tree_);
-  arma::mat dual_references(data_for_tree_);
-  arma::mat naive_query(data_for_tree_);
-  arma::mat naive_references(data_for_tree_);
-
-  CLI::GetParam<bool>("neighbor_search/naive_mode") = false;
-  CLI::GetParam<bool>("neighbor_search/single_mode") = false;
-  AllkFN allkfn_(dual_query, dual_references);
-
-  CLI::GetParam<bool>("neighbor_search/naive_mode") = true;
-  AllkFN naive_(naive_query, naive_references);
-
-  arma::Mat<size_t> resulting_neighbors_tree;
-  arma::mat distances_tree;
-  allkfn_.ComputeNeighbors(resulting_neighbors_tree, distances_tree);
-
-  arma::Mat<size_t> resulting_neighbors_naive;
-  arma::mat distances_naive;
-  naive_.ComputeNeighbors(resulting_neighbors_naive, distances_naive);
-
-  for (size_t i = 0; i < resulting_neighbors_tree.n_elem; i++) {
-    BOOST_REQUIRE(resulting_neighbors_tree[i] == resulting_neighbors_naive[i]);
-    BOOST_REQUIRE_CLOSE(distances_tree[i], distances_naive[i], 1e-5);
-  }
-}
-
-/**
- * Test the dual-tree furthest-neighbors method with the naive method.  This
- * uses only a reference dataset.
- *
- * Errors are produced if the results are not identical.
- */
-BOOST_AUTO_TEST_CASE(dual_tree_vs_naive_2) {
-  arma::mat data_for_tree_;
-
-  // Hard-coded filename: bad!
-  // Code duplication: also bad!
-  if (!data::Load("test_data_3_1000.csv", data_for_tree_))
-    BOOST_FAIL("Cannot load test dataset test_data_3_1000.csv!");
-
-  // Set up matrices to work with (may not be necessary with no ALIAS_MATRIX?).
-  arma::mat dual_references(data_for_tree_);
-  arma::mat naive_references(data_for_tree_);
-
-  CLI::GetParam<bool>("neighbor_search/naive_mode") = false;
-  CLI::GetParam<bool>("neighbor_search/single_mode") = false;
-  AllkFN allkfn_(dual_references);
-
-  CLI::GetParam<bool>("neighbor_search/naive_mode") = true;
-  AllkFN naive_(naive_references);
-
-  arma::Mat<size_t> resulting_neighbors_tree;
-  arma::mat distances_tree;
-  allkfn_.ComputeNeighbors(resulting_neighbors_tree, distances_tree);
-
-  arma::Mat<size_t> resulting_neighbors_naive;
-  arma::mat distances_naive;
-  naive_.ComputeNeighbors(resulting_neighbors_naive, distances_naive);
-
-  for (size_t i = 0; i < resulting_neighbors_tree.n_elem; i++) {
-    BOOST_REQUIRE(resulting_neighbors_tree[i] == resulting_neighbors_naive[i]);
-    BOOST_REQUIRE_CLOSE(distances_tree[i], distances_naive[i], 1e-5);
-  }
-}
-
-/**
- * Test the single-tree furthest-neighbors method with the naive method.  This
- * uses only a reference dataset.
- *
- * Errors are produced if the results are not identical.
- */
-BOOST_AUTO_TEST_CASE(single_tree_vs_naive) {
-  arma::mat data_for_tree_;
-
-  // Hard-coded filename: bad!
-  // Code duplication: also bad!
-  if (!data::Load("test_data_3_1000.csv", data_for_tree_))
-    BOOST_FAIL("Cannot load test dataset test_data_3_1000.csv!");
-
-  arma::mat single_query(data_for_tree_);
-  arma::mat naive_query(data_for_tree_);
-
-  CLI::GetParam<bool>("neighbor_search/naive_mode") = false;
-  CLI::GetParam<bool>("neighbor_search/single_mode") = true;
-  AllkFN allkfn_(single_query);
-
-  CLI::GetParam<bool>("neighbor_search/naive_mode") = true;
-  CLI::GetParam<bool>("neighbor_search/single_mode") = false;
-  AllkFN naive_(naive_query);
-
-  arma::Mat<size_t> resulting_neighbors_tree;
-  arma::mat distances_tree;
-  allkfn_.ComputeNeighbors(resulting_neighbors_tree, distances_tree);
-
-  arma::Mat<size_t> resulting_neighbors_naive;
-  arma::mat distances_naive;
-  naive_.ComputeNeighbors(resulting_neighbors_naive, distances_naive);
-
-  for (size_t i = 0; i < resulting_neighbors_tree.n_elem; i++) {
-    BOOST_REQUIRE(resulting_neighbors_tree[i] == resulting_neighbors_naive[i]);
-    BOOST_REQUIRE_CLOSE(distances_tree[i], distances_naive[i], 1e-5);
-  }
-}

Deleted: mlpack/trunk/src/mlpack/methods/neighbor_search/allknn_test.cc
===================================================================
--- mlpack/trunk/src/mlpack/methods/neighbor_search/allknn_test.cc	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/neighbor_search/allknn_test.cc	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,440 +0,0 @@
-/**
- * @file allknn_test.cc
- *
- * Test file for AllkNN class
- */
-#include <mlpack/core.h>
-#include "neighbor_search.h"
-
-#define BOOST_TEST_MODULE AllkNN Test
-#include <boost/test/unit_test.hpp>
-
-using namespace mlpack;
-using namespace mlpack::neighbor;
-
-/***
- * Simple nearest-neighbors test with small, synthetic dataset.  This is an
- * exhaustive test, which checks that each method for performing the calculation
- * (dual-tree, single-tree, naive) produces the correct results.  An
- * eleven-point dataset and the ten nearest neighbors are taken.  The dataset is
- * in one dimension for simplicity -- the correct functionality of distance
- * functions is not tested here.
- */
-BOOST_AUTO_TEST_CASE(exhaustive_synthetic_test) {
-  // Set up our data.
-  arma::mat data(1, 11);
-  data[0] = 0.05; // Row addressing is unnecessary (they are all 0).
-  data[1] = 0.35;
-  data[2] = 0.15;
-  data[3] = 1.25;
-  data[4] = 5.05;
-  data[5] = -0.22;
-  data[6] = -2.00;
-  data[7] = -1.30;
-  data[8] = 0.45;
-  data[9] = 0.90;
-  data[10] = 1.00;
-
-  // We will loop through three times, one for each method of performing the
-  // calculation.  We'll always use 10 neighbors, so set that parameter.
-  CLI::GetParam<int>("neighbor_search/k") = 10;
-  for (int i = 0; i < 3; i++) {
-    AllkNN* allknn;
-    arma::mat data_mutable = data;
-    switch(i) {
-      case 0: // Use the dual-tree method.
-        allknn = new AllkNN(data_mutable);
-        break;
-      case 1: // Use the single-tree method.
-        CLI::GetParam<bool>("neighbor_search/single_mode") = true;
-        allknn = new AllkNN(data_mutable);
-        break;
-      case 2: // Use the naive method.
-        CLI::GetParam<bool>("neighbor_search/single_mode") = false;
-        CLI::GetParam<bool>("neighbor_search/naive_mode") = true;
-        allknn = new AllkNN(data_mutable);
-        break;
-    }
-
-    // Now perform the actual calculation.
-    arma::Mat<size_t> neighbors;
-    arma::mat distances;
-    allknn->ComputeNeighbors(neighbors, distances);
-
-    // Now the exhaustive check for correctness.  This will be long.  We must
-    // also remember that the distances returned are squared distances.  As a
-    // result, distance comparisons are written out as (distance * distance) for
-    // readability.
-
-    // Neighbors of point 0.
-    BOOST_REQUIRE(neighbors(0, 0) == 2);
-    BOOST_REQUIRE_CLOSE(distances(0, 0), (0.10 * 0.10), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 0) == 5);
-    BOOST_REQUIRE_CLOSE(distances(1, 0), (0.27 * 0.27), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 0) == 1);
-    BOOST_REQUIRE_CLOSE(distances(2, 0), (0.30 * 0.30), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 0) == 8);
-    BOOST_REQUIRE_CLOSE(distances(3, 0), (0.40 * 0.40), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 0) == 9);
-    BOOST_REQUIRE_CLOSE(distances(4, 0), (0.85 * 0.85), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 0) == 10);
-    BOOST_REQUIRE_CLOSE(distances(5, 0), (0.95 * 0.95), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 0) == 3);
-    BOOST_REQUIRE_CLOSE(distances(6, 0), (1.20 * 1.20), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 0) == 7);
-    BOOST_REQUIRE_CLOSE(distances(7, 0), (1.35 * 1.35), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 0) == 6);
-    BOOST_REQUIRE_CLOSE(distances(8, 0), (2.05 * 2.05), 1e-5);
-    BOOST_REQUIRE(neighbors(9, 0) == 4);
-    BOOST_REQUIRE_CLOSE(distances(9, 0), (5.00 * 5.00), 1e-5);
-
-    // Neighbors of point 1.
-    BOOST_REQUIRE(neighbors(0, 1) == 8);
-    BOOST_REQUIRE_CLOSE(distances(0, 1), (0.10 * 0.10), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 1) == 2);
-    BOOST_REQUIRE_CLOSE(distances(1, 1), (0.20 * 0.20), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 1) == 0);
-    BOOST_REQUIRE_CLOSE(distances(2, 1), (0.30 * 0.30), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 1) == 9);
-    BOOST_REQUIRE_CLOSE(distances(3, 1), (0.55 * 0.55), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 1) == 5);
-    BOOST_REQUIRE_CLOSE(distances(4, 1), (0.57 * 0.57), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 1) == 10);
-    BOOST_REQUIRE_CLOSE(distances(5, 1), (0.65 * 0.65), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 1) == 3);
-    BOOST_REQUIRE_CLOSE(distances(6, 1), (0.90 * 0.90), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 1) == 7);
-    BOOST_REQUIRE_CLOSE(distances(7, 1), (1.65 * 1.65), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 1) == 6);
-    BOOST_REQUIRE_CLOSE(distances(8, 1), (2.35 * 2.35), 1e-5);
-    BOOST_REQUIRE(neighbors(9, 1) == 4);
-    BOOST_REQUIRE_CLOSE(distances(9, 1), (4.70 * 4.70), 1e-5);
-
-    // Neighbors of point 2.
-    BOOST_REQUIRE(neighbors(0, 2) == 0);
-    BOOST_REQUIRE_CLOSE(distances(0, 2), (0.10 * 0.10), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 2) == 1);
-    BOOST_REQUIRE_CLOSE(distances(1, 2), (0.20 * 0.20), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 2) == 8);
-    BOOST_REQUIRE_CLOSE(distances(2, 2), (0.30 * 0.30), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 2) == 5);
-    BOOST_REQUIRE_CLOSE(distances(3, 2), (0.37 * 0.37), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 2) == 9);
-    BOOST_REQUIRE_CLOSE(distances(4, 2), (0.75 * 0.75), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 2) == 10);
-    BOOST_REQUIRE_CLOSE(distances(5, 2), (0.85 * 0.85), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 2) == 3);
-    BOOST_REQUIRE_CLOSE(distances(6, 2), (1.10 * 1.10), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 2) == 7);
-    BOOST_REQUIRE_CLOSE(distances(7, 2), (1.45 * 1.45), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 2) == 6);
-    BOOST_REQUIRE_CLOSE(distances(8, 2), (2.15 * 2.15), 1e-5);
-    BOOST_REQUIRE(neighbors(9, 2) == 4);
-    BOOST_REQUIRE_CLOSE(distances(9, 2), (4.90 * 4.90), 1e-5);
-
-    // Neighbors of point 3.
-    BOOST_REQUIRE(neighbors(0, 3) == 10);
-    BOOST_REQUIRE_CLOSE(distances(0, 3), (0.25 * 0.25), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 3) == 9);
-    BOOST_REQUIRE_CLOSE(distances(1, 3), (0.35 * 0.35), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 3) == 8);
-    BOOST_REQUIRE_CLOSE(distances(2, 3), (0.80 * 0.80), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 3) == 1);
-    BOOST_REQUIRE_CLOSE(distances(3, 3), (0.90 * 0.90), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 3) == 2);
-    BOOST_REQUIRE_CLOSE(distances(4, 3), (1.10 * 1.10), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 3) == 0);
-    BOOST_REQUIRE_CLOSE(distances(5, 3), (1.20 * 1.20), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 3) == 5);
-    BOOST_REQUIRE_CLOSE(distances(6, 3), (1.47 * 1.47), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 3) == 7);
-    BOOST_REQUIRE_CLOSE(distances(7, 3), (2.55 * 2.55), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 3) == 6);
-    BOOST_REQUIRE_CLOSE(distances(8, 3), (3.25 * 3.25), 1e-5);
-    BOOST_REQUIRE(neighbors(9, 3) == 4);
-    BOOST_REQUIRE_CLOSE(distances(9, 3), (3.80 * 3.80), 1e-5);
-
-    // Neighbors of point 4.
-    BOOST_REQUIRE(neighbors(0, 4) == 3);
-    BOOST_REQUIRE_CLOSE(distances(0, 4), (3.80 * 3.80), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 4) == 10);
-    BOOST_REQUIRE_CLOSE(distances(1, 4), (4.05 * 4.05), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 4) == 9);
-    BOOST_REQUIRE_CLOSE(distances(2, 4), (4.15 * 4.15), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 4) == 8);
-    BOOST_REQUIRE_CLOSE(distances(3, 4), (4.60 * 4.60), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 4) == 1);
-    BOOST_REQUIRE_CLOSE(distances(4, 4), (4.70 * 4.70), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 4) == 2);
-    BOOST_REQUIRE_CLOSE(distances(5, 4), (4.90 * 4.90), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 4) == 0);
-    BOOST_REQUIRE_CLOSE(distances(6, 4), (5.00 * 5.00), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 4) == 5);
-    BOOST_REQUIRE_CLOSE(distances(7, 4), (5.27 * 5.27), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 4) == 7);
-    BOOST_REQUIRE_CLOSE(distances(8, 4), (6.35 * 6.35), 1e-5);
-    BOOST_REQUIRE(neighbors(9, 4) == 6);
-    BOOST_REQUIRE_CLOSE(distances(9, 4), (7.05 * 7.05), 1e-5);
-
-    // Neighbors of point 5.
-    BOOST_REQUIRE(neighbors(0, 5) == 0);
-    BOOST_REQUIRE_CLOSE(distances(0, 5), (0.27 * 0.27), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 5) == 2);
-    BOOST_REQUIRE_CLOSE(distances(1, 5), (0.37 * 0.37), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 5) == 1);
-    BOOST_REQUIRE_CLOSE(distances(2, 5), (0.57 * 0.57), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 5) == 8);
-    BOOST_REQUIRE_CLOSE(distances(3, 5), (0.67 * 0.67), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 5) == 7);
-    BOOST_REQUIRE_CLOSE(distances(4, 5), (1.08 * 1.08), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 5) == 9);
-    BOOST_REQUIRE_CLOSE(distances(5, 5), (1.12 * 1.12), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 5) == 10);
-    BOOST_REQUIRE_CLOSE(distances(6, 5), (1.22 * 1.22), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 5) == 3);
-    BOOST_REQUIRE_CLOSE(distances(7, 5), (1.47 * 1.47), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 5) == 6);
-    BOOST_REQUIRE_CLOSE(distances(8, 5), (1.78 * 1.78), 1e-5);
-    BOOST_REQUIRE(neighbors(9, 5) == 4);
-    BOOST_REQUIRE_CLOSE(distances(9, 5), (5.27 * 5.27), 1e-5);
-
-    // Neighbors of point 6.
-    BOOST_REQUIRE(neighbors(0, 6) == 7);
-    BOOST_REQUIRE_CLOSE(distances(0, 6), (0.70 * 0.70), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 6) == 5);
-    BOOST_REQUIRE_CLOSE(distances(1, 6), (1.78 * 1.78), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 6) == 0);
-    BOOST_REQUIRE_CLOSE(distances(2, 6), (2.05 * 2.05), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 6) == 2);
-    BOOST_REQUIRE_CLOSE(distances(3, 6), (2.15 * 2.15), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 6) == 1);
-    BOOST_REQUIRE_CLOSE(distances(4, 6), (2.35 * 2.35), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 6) == 8);
-    BOOST_REQUIRE_CLOSE(distances(5, 6), (2.45 * 2.45), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 6) == 9);
-    BOOST_REQUIRE_CLOSE(distances(6, 6), (2.90 * 2.90), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 6) == 10);
-    BOOST_REQUIRE_CLOSE(distances(7, 6), (3.00 * 3.00), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 6) == 3);
-    BOOST_REQUIRE_CLOSE(distances(8, 6), (3.25 * 3.25), 1e-5);
-    BOOST_REQUIRE(neighbors(9, 6) == 4);
-    BOOST_REQUIRE_CLOSE(distances(9, 6), (7.05 * 7.05), 1e-5);
-
-    // Neighbors of point 7.
-    BOOST_REQUIRE(neighbors(0, 7) == 6);
-    BOOST_REQUIRE_CLOSE(distances(0, 7), (0.70 * 0.70), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 7) == 5);
-    BOOST_REQUIRE_CLOSE(distances(1, 7), (1.08 * 1.08), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 7) == 0);
-    BOOST_REQUIRE_CLOSE(distances(2, 7), (1.35 * 1.35), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 7) == 2);
-    BOOST_REQUIRE_CLOSE(distances(3, 7), (1.45 * 1.45), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 7) == 1);
-    BOOST_REQUIRE_CLOSE(distances(4, 7), (1.65 * 1.65), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 7) == 8);
-    BOOST_REQUIRE_CLOSE(distances(5, 7), (1.75 * 1.75), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 7) == 9);
-    BOOST_REQUIRE_CLOSE(distances(6, 7), (2.20 * 2.20), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 7) == 10);
-    BOOST_REQUIRE_CLOSE(distances(7, 7), (2.30 * 2.30), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 7) == 3);
-    BOOST_REQUIRE_CLOSE(distances(8, 7), (2.55 * 2.55), 1e-5);
-    BOOST_REQUIRE(neighbors(9, 7) == 4);
-    BOOST_REQUIRE_CLOSE(distances(9, 7), (6.35 * 6.35), 1e-5);
-
-    // Neighbors of point 8.
-    BOOST_REQUIRE(neighbors(0, 8) == 1);
-    BOOST_REQUIRE_CLOSE(distances(0, 8), (0.10 * 0.10), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 8) == 2);
-    BOOST_REQUIRE_CLOSE(distances(1, 8), (0.30 * 0.30), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 8) == 0);
-    BOOST_REQUIRE_CLOSE(distances(2, 8), (0.40 * 0.40), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 8) == 9);
-    BOOST_REQUIRE_CLOSE(distances(3, 8), (0.45 * 0.45), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 8) == 10);
-    BOOST_REQUIRE_CLOSE(distances(4, 8), (0.55 * 0.55), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 8) == 5);
-    BOOST_REQUIRE_CLOSE(distances(5, 8), (0.67 * 0.67), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 8) == 3);
-    BOOST_REQUIRE_CLOSE(distances(6, 8), (0.80 * 0.80), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 8) == 7);
-    BOOST_REQUIRE_CLOSE(distances(7, 8), (1.75 * 1.75), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 8) == 6);
-    BOOST_REQUIRE_CLOSE(distances(8, 8), (2.45 * 2.45), 1e-5);
-    BOOST_REQUIRE(neighbors(9, 8) == 4);
-    BOOST_REQUIRE_CLOSE(distances(9, 8), (4.60 * 4.60), 1e-5);
-
-    // Neighbors of point 9.
-    BOOST_REQUIRE(neighbors(0, 9) == 10);
-    BOOST_REQUIRE_CLOSE(distances(0, 9), (0.10 * 0.10), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 9) == 3);
-    BOOST_REQUIRE_CLOSE(distances(1, 9), (0.35 * 0.35), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 9) == 8);
-    BOOST_REQUIRE_CLOSE(distances(2, 9), (0.45 * 0.45), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 9) == 1);
-    BOOST_REQUIRE_CLOSE(distances(3, 9), (0.55 * 0.55), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 9) == 2);
-    BOOST_REQUIRE_CLOSE(distances(4, 9), (0.75 * 0.75), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 9) == 0);
-    BOOST_REQUIRE_CLOSE(distances(5, 9), (0.85 * 0.85), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 9) == 5);
-    BOOST_REQUIRE_CLOSE(distances(6, 9), (1.12 * 1.12), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 9) == 7);
-    BOOST_REQUIRE_CLOSE(distances(7, 9), (2.20 * 2.20), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 9) == 6);
-    BOOST_REQUIRE_CLOSE(distances(8, 9), (2.90 * 2.90), 1e-5);
-    BOOST_REQUIRE(neighbors(9, 9) == 4);
-    BOOST_REQUIRE_CLOSE(distances(9, 9), (4.15 * 4.15), 1e-5);
-
-    // Neighbors of point 10.
-    BOOST_REQUIRE(neighbors(0, 10) == 9);
-    BOOST_REQUIRE_CLOSE(distances(0, 10), (0.10 * 0.10), 1e-5);
-    BOOST_REQUIRE(neighbors(1, 10) == 3);
-    BOOST_REQUIRE_CLOSE(distances(1, 10), (0.25 * 0.25), 1e-5);
-    BOOST_REQUIRE(neighbors(2, 10) == 8);
-    BOOST_REQUIRE_CLOSE(distances(2, 10), (0.55 * 0.55), 1e-5);
-    BOOST_REQUIRE(neighbors(3, 10) == 1);
-    BOOST_REQUIRE_CLOSE(distances(3, 10), (0.65 * 0.65), 1e-5);
-    BOOST_REQUIRE(neighbors(4, 10) == 2);
-    BOOST_REQUIRE_CLOSE(distances(4, 10), (0.85 * 0.85), 1e-5);
-    BOOST_REQUIRE(neighbors(5, 10) == 0);
-    BOOST_REQUIRE_CLOSE(distances(5, 10), (0.95 * 0.95), 1e-5);
-    BOOST_REQUIRE(neighbors(6, 10) == 5);
-    BOOST_REQUIRE_CLOSE(distances(6, 10), (1.22 * 1.22), 1e-5);
-    BOOST_REQUIRE(neighbors(7, 10) == 7);
-    BOOST_REQUIRE_CLOSE(distances(7, 10), (2.30 * 2.30), 1e-5);
-    BOOST_REQUIRE(neighbors(8, 10) == 6);
-    BOOST_REQUIRE_CLOSE(distances(8, 10), (3.00 * 3.00), 1e-5);
-    BOOST_REQUIRE(neighbors(9, 10) == 4);
-    BOOST_REQUIRE_CLOSE(distances(9, 10), (4.05 * 4.05), 1e-5);
-
-    // Clean the memory.
-    delete allknn;
-  }
-}
-
-/**
- * Test the dual-tree nearest-neighbors method with the naive method.  This
- * uses both a query and reference dataset.
- *
- * Errors are produced if the results are not identical.
- */
-BOOST_AUTO_TEST_CASE(dual_tree_vs_naive_1) {
-  arma::mat data_for_tree_;
-
-  // Hard-coded filename: bad!
-  if (!data::Load("test_data_3_1000.csv", data_for_tree_))
-    BOOST_FAIL("Cannot load test dataset test_data_3_1000.csv!");
-
-  // Set up matrices to work with.
-  arma::mat dual_query(data_for_tree_);
-  arma::mat dual_references(data_for_tree_);
-  arma::mat naive_query(data_for_tree_);
-  arma::mat naive_references(data_for_tree_);
-
-  // Reset parameters from last test.
-  CLI::GetParam<bool>("neighbor_search/naive_mode") = false;
-  CLI::GetParam<bool>("neighbor_search/single_mode") = false;
-
-  AllkNN allknn_(dual_query, dual_references);
-
-  // Set parameters right for naive run.
-  CLI::GetParam<bool>("neighbor_search/naive_mode") = true;
-  AllkNN naive_(naive_query, naive_references);
-
-  arma::Mat<size_t> resulting_neighbors_tree;
-  arma::mat distances_tree;
-  allknn_.ComputeNeighbors(resulting_neighbors_tree, distances_tree);
-
-  arma::Mat<size_t> resulting_neighbors_naive;
-  arma::mat distances_naive;
-  naive_.ComputeNeighbors(resulting_neighbors_naive, distances_naive);
-
-  for (size_t i = 0; i < resulting_neighbors_tree.n_elem; i++) {
-    BOOST_REQUIRE(resulting_neighbors_tree[i] == resulting_neighbors_naive[i]);
-    BOOST_REQUIRE_CLOSE(distances_tree[i], distances_naive[i], 1e-5);
-  }
-}
-
-/**
- * Test the dual-tree nearest-neighbors method with the naive method.  This uses
- * only a reference dataset.
- *
- * Errors are produced if the results are not identical.
- */
-BOOST_AUTO_TEST_CASE(dual_tree_vs_naive_2) {
-  arma::mat data_for_tree_;
-
-  // Hard-coded filename: bad!
-  // Code duplication: also bad!
-  if (!data::Load("test_data_3_1000.csv", data_for_tree_))
-    BOOST_FAIL("Cannot load test dataset test_data_3_1000.csv!");
-
-  // Set up matrices to work with (may not be necessary with no ALIAS_MATRIX?).
-  arma::mat dual_query(data_for_tree_);
-  arma::mat naive_query(data_for_tree_);
-
-  // Reset parameters from last test.
-  CLI::GetParam<bool>("neighbor_search/naive_mode") = false;
-  CLI::GetParam<bool>("neighbor_search/single_mode") = false;
-  AllkNN allknn_(dual_query);
-
-  // Set naive mode.
-  CLI::GetParam<bool>("neighbor_search/naive_mode") = true;
-  AllkNN naive_(naive_query);
-
-  arma::Mat<size_t> resulting_neighbors_tree;
-  arma::mat distances_tree;
-  allknn_.ComputeNeighbors(resulting_neighbors_tree, distances_tree);
-
-  arma::Mat<size_t> resulting_neighbors_naive;
-  arma::mat distances_naive;
-  naive_.ComputeNeighbors(resulting_neighbors_naive, distances_naive);
-
-  for (size_t i = 0; i < resulting_neighbors_tree.n_elem; i++) {
-    BOOST_REQUIRE(resulting_neighbors_tree[i] == resulting_neighbors_naive[i]);
-    BOOST_REQUIRE_CLOSE(distances_tree[i], distances_naive[i], 1e-5);
-  }
-}
-
-/**
- * Test the single-tree nearest-neighbors method with the naive method.  This
- * uses only a reference dataset.
- *
- * Errors are produced if the results are not identical.
- */
-BOOST_AUTO_TEST_CASE(single_tree_vs_naive) {
-  arma::mat data_for_tree_;
-
-  // Hard-coded filename: bad!
-  // Code duplication: also bad!
-  if (!data::Load("test_data_3_1000.csv", data_for_tree_))
-    BOOST_FAIL("Cannot load test dataset test_data_3_1000.csv!");
-
-  // Set up matrices to work with (may not be necessary with no ALIAS_MATRIX?).
-  arma::mat single_query(data_for_tree_);
-  arma::mat naive_query(data_for_tree_);
-
-  // Reset parameters from last test.
-  CLI::GetParam<bool>("neighbor_search/naive_mode") = false;
-  CLI::GetParam<bool>("neighbor_search/single_mode") = true;
-  AllkNN allknn_(single_query);
-
-  // Set up computation for naive mode.
-  CLI::GetParam<bool>("neighbor_search/single_mode") = false;
-  CLI::GetParam<bool>("neighbor_search/naive_mode") = true;
-  AllkNN naive_(naive_query);
-
-  arma::Mat<size_t> resulting_neighbors_tree;
-  arma::mat distances_tree;
-  allknn_.ComputeNeighbors(resulting_neighbors_tree, distances_tree);
-
-  arma::Mat<size_t> resulting_neighbors_naive;
-  arma::mat distances_naive;
-  naive_.ComputeNeighbors(resulting_neighbors_naive, distances_naive);
-
-  for (size_t i = 0; i < resulting_neighbors_tree.n_elem; i++) {
-    BOOST_REQUIRE(resulting_neighbors_tree[i] == resulting_neighbors_naive[i]);
-    BOOST_REQUIRE_CLOSE(distances_tree[i], distances_naive[i], 1e-5);
-  }
-}

Deleted: mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/sort_policy_test.cc
===================================================================
--- mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/sort_policy_test.cc	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/sort_policy_test.cc	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,311 +0,0 @@
-/**
- * @file sort_policy_test.cc
- * @author Ryan Curtin
- *
- * Tests for each of the implementations of the SortPolicy class.
- */
-#include <mlpack/core.h>
-#include <mlpack/core/tree/bounds.hpp>
-#include <mlpack/core/tree/binary_space_tree.hpp>
-
-// Classes to test.
-#include "nearest_neighbor_sort.hpp"
-#include "furthest_neighbor_sort.hpp"
-
-#define BOOST_TEST_MODULE SortPolicy Test
-#include <boost/test/unit_test.hpp>
-
-using namespace mlpack;
-using namespace mlpack::neighbor;
-using namespace mlpack::bound;
-
-// Tests for NearestNeighborSort
-
-/***
- * Ensure the best distance for nearest neighbors is 0.
- */
-BOOST_AUTO_TEST_CASE(nns_best_distance) {
-  BOOST_REQUIRE(NearestNeighborSort::BestDistance() == 0);
-}
-
-/***
- * Ensure the worst distance for nearest neighbors is DBL_MAX.
- */
-BOOST_AUTO_TEST_CASE(nns_worst_distance) {
-  BOOST_REQUIRE(NearestNeighborSort::WorstDistance() == DBL_MAX);
-}
-
-/***
- * Make sure the comparison works for values strictly less than the reference.
- */
-BOOST_AUTO_TEST_CASE(nns_is_better_strict) {
-  BOOST_REQUIRE(NearestNeighborSort::IsBetter(5.0, 6.0) == true);
-}
-
-/***
- * Warn in case the comparison is not strict.
- */
-BOOST_AUTO_TEST_CASE(nns_is_better_not_strict) {
-  BOOST_WARN(NearestNeighborSort::IsBetter(6.0, 6.0) == true);
-}
-
-/***
- * A simple test case of where to insert when all the values in the list are
- * DBL_MAX.
- */
-BOOST_AUTO_TEST_CASE(nns_sort_distance_all_dbl_max) {
-  arma::vec list(5);
-  list.fill(DBL_MAX);
-
-  // Should be inserted at the head of the list.
-  BOOST_REQUIRE(NearestNeighborSort::SortDistance(list, 5.0) == 0);
-}
-
-/***
- * Another test case, where we are just putting the new value in the middle of
- * the list.
- */
-BOOST_AUTO_TEST_CASE(nns_sort_distance_2) {
-  arma::vec list(3);
-  list[0] = 0.66;
-  list[1] = 0.89;
-  list[2] = 1.14;
-
-  // Run a couple possibilities through.
-  BOOST_REQUIRE(NearestNeighborSort::SortDistance(list, 0.61) == 0);
-  BOOST_REQUIRE(NearestNeighborSort::SortDistance(list, 0.76) == 1);
-  BOOST_REQUIRE(NearestNeighborSort::SortDistance(list, 0.99) == 2);
-  BOOST_REQUIRE(NearestNeighborSort::SortDistance(list, 1.22) ==
-      (size_t() - 1));
-}
-
-/***
- * Very simple sanity check to ensure that bounds are working alright.  We will
- * use a one-dimensional bound for simplicity.
- */
-BOOST_AUTO_TEST_CASE(nns_node_to_node_distance) {
-  // Well, there's no easy way to make HRectBounds the way we want, so we have
-  // to make them and then expand the region to include new points.
-  tree::BinarySpaceTree<HRectBound<2>, arma::mat> node_one;
-  arma::vec utility(1);
-  utility[0] = 0;
-
-  node_one.bound() = HRectBound<2>(1);
-  node_one.bound() |= utility;
-  utility[0] = 1;
-  node_one.bound() |= utility;
-
-  tree::BinarySpaceTree<HRectBound<2>, arma::mat> node_two;
-  node_two.bound() = HRectBound<2>(1);
-
-  utility[0] = 5;
-  node_two.bound() |= utility;
-  utility[0] = 6;
-  node_two.bound() |= utility;
-
-  // This should use the L2 squared distance.
-  BOOST_REQUIRE_CLOSE(NearestNeighborSort::BestNodeToNodeDistance(&node_one,
-      &node_two), 16.0, 1e-5);
-
-  // And another just to be sure, from the other side.
-  node_two.bound().Clear();
-  utility[0] = -2;
-  node_two.bound() |= utility;
-  utility[0] = -1;
-  node_two.bound() |= utility;
-
-  // Again, the distance is the L2 squared distance.
-  BOOST_REQUIRE_CLOSE(NearestNeighborSort::BestNodeToNodeDistance(&node_one,
-      &node_two), 1.0, 1e-5);
-
-  // Now, when the bounds overlap.
-  node_two.bound().Clear();
-  utility[0] = -0.5;
-  node_two.bound() |= utility;
-  utility[0] = 0.5;
-  node_two.bound() |= utility;
-
-  BOOST_REQUIRE_CLOSE(NearestNeighborSort::BestNodeToNodeDistance(&node_one,
-      &node_two), 0.0, 1e-5);
-}
-
-/***
- * Another very simple sanity check for the point-to-node case, again in one
- * dimension.
- */
-BOOST_AUTO_TEST_CASE(nns_point_to_node_distance) {
-  // Well, there's no easy way to make HRectBounds the way we want, so we have
-  // to make them and then expand the region to include new points.
-  arma::vec utility(1);
-  utility[0] = 0;
-
-  tree::BinarySpaceTree<HRectBound<2>, arma::mat> node;
-  node.bound() = HRectBound<2>(1);
-  node.bound() |= utility;
-  utility[0] = 1;
-  node.bound() |= utility;
-
-  arma::vec point(1);
-  point[0] = -0.5;
-
-  // The distance is the L2 squared distance.
-  BOOST_REQUIRE_CLOSE(NearestNeighborSort::BestPointToNodeDistance(point,
-      &node), 0.25, 1e-5);
-
-  // Now from the other side of the bound.
-  point[0] = 1.5;
-
-  BOOST_REQUIRE_CLOSE(NearestNeighborSort::BestPointToNodeDistance(point,
-      &node), 0.25, 1e-5);
-
-  // And now when the point is inside the bound.
-  point[0] = 0.5;
-
-  BOOST_REQUIRE_CLOSE(NearestNeighborSort::BestPointToNodeDistance(point,
-      &node), 0.0, 1e-5);
-}
-
-// Tests for FurthestNeighborSort
-
-/***
- * Ensure the best distance for furthest neighbors is DBL_MAX.
- */
-BOOST_AUTO_TEST_CASE(fns_best_distance) {
-  BOOST_REQUIRE(FurthestNeighborSort::BestDistance() == DBL_MAX);
-}
-
-/***
- * Ensure the worst distance for furthest neighbors is 0.
- */
-BOOST_AUTO_TEST_CASE(fns_worst_distance) {
-  BOOST_REQUIRE(FurthestNeighborSort::WorstDistance() == 0);
-}
-
-/***
- * Make sure the comparison works for values strictly less than the reference.
- */
-BOOST_AUTO_TEST_CASE(fns_is_better_strict) {
-  BOOST_REQUIRE(FurthestNeighborSort::IsBetter(5.0, 4.0) == true);
-}
-
-/***
- * Warn in case the comparison is not strict.
- */
-BOOST_AUTO_TEST_CASE(fns_is_better_not_strict) {
-  BOOST_WARN(FurthestNeighborSort::IsBetter(6.0, 6.0) == true);
-}
-
-/***
- * A simple test case of where to insert when all the values in the list are
- * 0.
- */
-BOOST_AUTO_TEST_CASE(fns_sort_distance_all_zero) {
-  arma::vec list(5);
-  list.fill(0);
-
-  // Should be inserted at the head of the list.
-  BOOST_REQUIRE(FurthestNeighborSort::SortDistance(list, 5.0) == 0);
-}
-
-/***
- * Another test case, where we are just putting the new value in the middle of
- * the list.
- */
-BOOST_AUTO_TEST_CASE(fns_sort_distance_2) {
-  arma::vec list(3);
-  list[0] = 1.14;
-  list[1] = 0.89;
-  list[2] = 0.66;
-
-  // Run a couple possibilities through.
-  BOOST_REQUIRE(FurthestNeighborSort::SortDistance(list, 1.22) == 0);
-  BOOST_REQUIRE(FurthestNeighborSort::SortDistance(list, 0.93) == 1);
-  BOOST_REQUIRE(FurthestNeighborSort::SortDistance(list, 0.68) == 2);
-  BOOST_REQUIRE(FurthestNeighborSort::SortDistance(list, 0.62) ==
-      (size_t() - 1));
-}
-
-/***
- * Very simple sanity check to ensure that bounds are working alright.  We will
- * use a one-dimensional bound for simplicity.
- */
-BOOST_AUTO_TEST_CASE(fns_node_to_node_distance) {
-  // Well, there's no easy way to make HRectBounds the way we want, so we have
-  // to make them and then expand the region to include new points.
-  arma::vec utility(1);
-  utility[0] = 0;
-
-  tree::BinarySpaceTree<HRectBound<2>, arma::mat> node_one;
-  node_one.bound() = HRectBound<2>(1);
-  node_one.bound() |= utility;
-  utility[0] = 1;
-  node_one.bound() |= utility;
-
-  tree::BinarySpaceTree<HRectBound<2>, arma::mat> node_two;
-  node_two.bound() = HRectBound<2>(1);
-  utility[0] = 5;
-  node_two.bound() |= utility;
-  utility[0] = 6;
-  node_two.bound() |= utility;
-
-  // This should use the L2 squared distance.
-  BOOST_REQUIRE_CLOSE(FurthestNeighborSort::BestNodeToNodeDistance(&node_one,
-      &node_two), 36.0, 1e-5);
-
-  // And another just to be sure, from the other side.
-  node_two.bound().Clear();
-  utility[0] = -2;
-  node_two.bound() |= utility;
-  utility[0] = -1;
-  node_two.bound() |= utility;
-
-  // Again, the distance is the L2 squared distance.
-  BOOST_REQUIRE_CLOSE(FurthestNeighborSort::BestNodeToNodeDistance(&node_one,
-      &node_two), 9.0, 1e-5);
-
-  // Now, when the bounds overlap.
-  node_two.bound().Clear();
-  utility[0] = -0.5;
-  node_two.bound() |= utility;
-  utility[0] = 0.5;
-  node_two.bound() |= utility;
-
-  BOOST_REQUIRE_CLOSE(FurthestNeighborSort::BestNodeToNodeDistance(&node_one,
-      &node_two), (1.5 * 1.5), 1e-5);
-}
-
-/***
- * Another very simple sanity check for the point-to-node case, again in one
- * dimension.
- */
-BOOST_AUTO_TEST_CASE(fns_point_to_node_distance) {
-  // Well, there's no easy way to make HRectBounds the way we want, so we have
-  // to make them and then expand the region to include new points.
-  arma::vec utility(1);
-  utility[0] = 0;
-
-  tree::BinarySpaceTree<HRectBound<2>, arma::mat> node;
-  node.bound() = HRectBound<2>(1);
-  node.bound() |= utility;
-  utility[0] = 1;
-  node.bound() |= utility;
-
-  arma::vec point(1);
-  point[0] = -0.5;
-
-  // The distance is the L2 squared distance.
-  BOOST_REQUIRE_CLOSE(FurthestNeighborSort::BestPointToNodeDistance(point,
-      &node), (1.5 * 1.5), 1e-5);
-
-  // Now from the other side of the bound.
-  point[0] = 1.5;
-
-  BOOST_REQUIRE_CLOSE(FurthestNeighborSort::BestPointToNodeDistance(point,
-      &node), (1.5 * 1.5), 1e-5);
-
-  // And now when the point is inside the bound.
-  point[0] = 0.5;
-
-  BOOST_REQUIRE_CLOSE(FurthestNeighborSort::BestPointToNodeDistance(point,
-      &node), 0.25, 1e-5);
-}

Deleted: mlpack/trunk/src/mlpack/methods/neighbor_search/test_data_3_1000.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/neighbor_search/test_data_3_1000.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/neighbor_search/test_data_3_1000.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,1000 +0,0 @@
-0.339406815,0.843176636,0.472701471
-0.212587646,0.351174901,0.81056695
-0.605649993,0.45338097,0.623370668
-0.269783539,0.482031883,0.36535861
-0.725254282,0.477113042,0.042100268
-0.529287901,0.776008587,0.303809928
-0.098778217,0.318454787,0.983422857
-0.685345453,0.837942768,0.540406673
-0.503220972,0.268813629,0.41488501
-0.160147626,0.255047893,0.04072469
-0.564535197,0.943435462,0.597070812
-0.663842864,0.276972185,0.02208704
-0.077321401,0.032366881,0.826784604
-0.794220519,0.319582218,0.266025433
-0.466815953,0.864683732,0.684380976
-0.680962499,0.009554527,0.484176898
-0.257862396,0.875068776,0.326253946
-0.695503778,0.695095604,0.955586038
-0.569205007,0.662786497,0.036489177
-0.604542917,0.250714055,0.232826165
-0.928175028,0.871769923,0.327107027
-0.362809806,0.270846833,0.917535106
-0.567471988,0.09223176,0.018232595
-0.30294,0.197331083,0.676067984
-0.136497436,0.991079028,0.640906359
-0.490191642,0.321877535,0.210121475
-0.886240693,0.124811844,0.109638108
-0.487537807,0.474289999,0.34183089
-0.038698268,0.515865087,0.984297254
-0.437309222,0.534489172,0.792665419
-0.898099395,0.461121197,0.785225662
-0.256850927,0.840446806,0.056158684
-0.335408063,0.806637161,0.913551388
-0.11329872,0.670392847,0.333361274
-0.954403847,0.024104509,0.325578493
-0.824152332,0.614355433,0.271931013
-0.729647547,0.666093053,0.579723184
-0.25675029,0.94037263,0.530553224
-0.799877963,0.555666351,0.056606945
-0.213120693,0.763046224,0.341926361
-0.975873714,0.554796483,0.049489218
-0.422782321,0.375502502,0.875514176
-0.732474122,0.920181004,0.273895723
-0.288070185,0.878065303,0.57017629
-0.269706239,0.854626516,0.607709975
-0.615118638,0.006748605,0.00278243
-0.655373608,0.348029869,0.909502319
-0.358287814,0.419322455,0.362741982
-0.152473842,0.659459939,0.497284571
-0.930791658,0.934132013,0.150924236
-0.792977546,0.953203388,0.465884431
-0.971953827,0.268751729,0.220474277
-0.244730747,0.056636753,0.088649766
-0.873554351,0.305649442,0.91790044
-0.26662478,0.221646762,0.310857157
-0.659541537,0.93018384,0.139339275
-0.833616742,0.833734413,0.551027856
-0.43405195,0.874582065,0.996443541
-0.442896336,0.118977275,0.03127628
-0.388886541,0.976070927,0.294801481
-0.14757794,0.195944854,0.129778502
-0.73209291,0.551685931,0.218866346
-0.85393572,0.675733762,0.501776114
-0.804291505,0.746786474,0.94053733
-0.199998362,0.403471102,0.614783956
-0.302029244,0.084831174,0.043490422
-0.458371115,0.076068613,0.940418665
-0.122287089,0.867270578,0.612001352
-0.423331474,0.370629389,0.407480574
-0.400056969,0.919523609,0.940521669
-0.74852813,0.872400563,0.915423635
-0.614934326,0.67621724,0.382278246
-0.0184522,0.545825352,0.74127138
-0.937453855,0.175662201,0.666301896
-0.504358818,0.251308945,0.849159677
-0.397410107,0.973000161,0.648601332
-0.398342217,0.110698975,0.916968596
-0.464980239,0.683124011,0.070633362
-0.787030874,0.393777381,0.731973049
-0.612845512,0.893440416,0.475331995
-0.241219407,0.792282417,0.389574277
-0.465756798,0.552685716,0.092092299
-0.908028882,0.837528446,0.794160948
-0.552741674,0.898614081,0.764312365
-0.607116253,0.958698621,0.334887326
-0.322583246,0.541387861,0.879874555
-0.124522558,0.229074642,0.510214096
-0.049900273,0.471371867,0.367698395
-0.261657863,0.105228571,0.748191349
-0.216818324,0.700885804,0.34479269
-0.896337659,0.634574468,0.203599217
-0.961150989,0.920563011,0.795999477
-0.120635447,0.744570376,0.107177572
-0.696406743,0.788342315,0.173664558
-0.577700329,0.493151732,0.989211395
-0.270346683,0.586765585,0.208832269
-0.171412097,0.116618251,0.53141933
-0.596260532,0.819973735,0.531503373
-0.120665467,0.556332466,0.643268746
-0.546751646,0.563896374,0.079856633
-0.637150933,0.126536213,0.823749724
-0.637940649,0.951567917,0.397777975
-0.344749598,0.517031469,0.48297473
-0.296545224,0.419944602,0.99985146
-0.707956343,0.985929306,0.942420811
-0.24734852,0.001808114,0.489512545
-0.29395388,0.751934338,0.924845167
-0.306350765,0.676837884,0.614397758
-0.387029257,0.668882644,0.316866608
-0.166701475,0.220250465,0.70788096
-0.666366134,0.343214579,0.063804166
-0.970614577,0.514452347,0.643280872
-0.084297811,0.906111319,0.590434434
-0.163302217,0.226212634,0.074753132
-0.20207705,0.197835179,0.217985026
-0.413236066,0.640190511,0.520645448
-0.807941459,0.463910044,0.996796367
-0.208875906,0.182468954,0.876826443
-0.743474185,0.840439019,0.143677671
-0.266758693,0.103719005,0.920995789
-0.030607849,0.973154392,0.814015083
-0.237753714,0.374336732,0.44138091
-0.83212984,0.547216604,0.371699647
-0.302411666,0.58054099,0.303141758
-0.949214871,0.783756542,0.457582838
-0.32776739,0.133095384,0.351183944
-0.673471065,0.432009028,0.761641303
-0.120361022,0.494421101,0.954699616
-0.049975694,0.857405242,0.133753572
-0.314326245,0.599784238,0.698931698
-0.10972582,0.994733888,0.603365409
-0.246939825,0.79385323,0.576049373
-0.420949269,0.55824091,0.684730016
-0.085903635,0.678776288,0.759533545
-0.221902971,0.606683148,0.183625782
-0.934582003,0.263106456,0.195228637
-0.276550653,0.563455012,0.477130256
-0.939865401,0.683543172,0.98694541
-0.090714119,0.155392084,0.183225576
-0.546170002,0.226065658,0.757518873
-0.635725491,0.259656977,0.803254796
-0.768135532,0.329687113,0.784471673
-0.67201594,0.69314804,0.216292884
-0.731388623,0.632648812,0.298465113
-0.030104188,0.531279626,0.68605789
-0.404907965,0.617707054,0.646985633
-0.38264213,0.522044947,0.606066308
-0.850778503,0.771072538,0.780038925
-0.333386945,0.62981651,0.838539888
-0.144526261,0.90723358,0.672092924
-0.803193149,0.545698586,0.740250704
-0.144775421,0.073065649,0.81327723
-0.800150626,0.077947117,0.498989131
-0.805355858,0.282274855,0.111520406
-0.432276345,0.614069782,0.04562788
-0.119740317,0.122788948,0.68461108
-0.188596378,0.666133286,0.753645204
-0.143050522,0.393902986,0.609633117
-0.754401856,0.84172035,0.387786256
-0.97549575,0.97044364,0.621482928
-0.735098473,0.96738673,0.239086021
-0.825090649,0.153687653,0.520111132
-0.720848546,0.211391499,0.513430909
-0.572411742,0.56579983,0.313933048
-0.766584951,0.704264072,0.103088529
-0.933914925,0.70795791,0.378434849
-0.232266382,0.864968616,0.664769493
-0.180748316,0.792633394,0.983236654
-0.320744207,0.073646797,0.915148464
-0.058415284,0.478244018,0.171213592
-0.613274471,0.423949271,0.899198164
-0.83818587,0.622457639,0.496368891
-0.547369341,0.5160996,0.318684775
-0.489079348,0.504840066,0.174865371
-0.133510366,0.873938618,0.95342181
-0.355477984,0.610358907,0.32242224
-0.32167355,0.132961802,0.381440702
-0.660257981,0.59386003,0.570704079
-0.519799486,0.220676336,0.85452965
-0.097125446,0.037837774,0.581579153
-0.801485909,0.741547848,0.06310355
-0.413142247,0.303102946,0.30224609
-0.07746447,0.555846316,0.750106689
-0.593760097,0.256631753,0.179035377
-0.819000445,0.86578977,0.797167379
-0.644052663,0.148335877,0.377067692
-0.02037784,0.835405997,0.192438566
-0.248506314,0.951214215,0.492923258
-0.387445752,0.862693509,0.11983047
-0.411437123,0.512831692,0.516380652
-0.481199694,0.970780992,0.565521666
-0.967908564,0.168755985,0.447517833
-0.280607962,0.670538365,0.548021587
-0.402044213,0.121532495,0.136718448
-0.83696286,0.739549154,0.495218329
-0.652215616,0.664877651,0.838254198
-0.846246408,0.411635906,0.96601722
-0.359827733,0.627436225,0.666295882
-0.522326573,0.496565812,0.404066784
-0.614406114,0.160072022,0.269439305
-0.221722954,0.558736063,0.890699947
-0.561777087,0.782270647,0.792345194
-0.385698506,0.295964873,0.697613223
-0.101162968,0.27600378,0.239798872
-0.075127486,0.14163579,0.728168103
-0.982440842,0.583109151,0.395072917
-0.69628067,0.26642599,0.283866713
-0.073093261,0.914332418,0.925554624
-0.01642578,0.927883834,0.248712685
-0.11636724,0.556067816,0.248282085
-0.487453151,0.058684617,0.294624957
-0.813726551,0.860917181,0.678149491
-0.492581545,0.501803813,0.193032429
-0.642766795,0.422421802,0.950458987
-0.662519175,0.950448071,0.157126432
-0.548815699,0.127905654,0.23337741
-0.159163516,0.345059322,0.586704542
-0.40029112,0.928563882,0.954476476
-0.587201396,0.44357769,0.797926632
-0.026827624,0.206281621,0.680220462
-0.884217164,0.266754666,0.652197582
-0.475019281,0.447732834,0.14299077
-0.193076354,0.317892868,0.976621856
-0.515208981,0.512331237,0.422351595
-0.336671812,0.870606258,0.364554196
-0.438596677,0.333836845,0.801388791
-0.194389409,0.929245672,0.589545825
-0.205377525,0.079938747,0.187363423
-0.426814991,0.823224852,0.707435026
-0.262972959,0.517545732,0.19872636
-0.720354434,0.847649202,0.709246477
-0.355306192,0.303943053,0.835051265
-0.949975427,0.106134411,0.204516092
-0.106374426,0.874129261,0.971439223
-0.14517828,0.371147898,0.695954142
-0.739099753,0.331888701,0.890413781
-0.627551297,0.9001009,0.177324543
-0.047488938,0.224289129,0.220822902
-0.912785118,0.79570392,0.838242455
-0.49717293,0.703176431,0.754883589
-0.090976094,0.502530756,0.657999889
-0.194042479,0.284561692,0.14516165
-0.409960603,0.285564554,0.097001811
-0.310205693,0.003434942,0.173823303
-0.233583043,0.118822434,0.816665508
-0.513843271,0.539640669,0.864405207
-0.40692643,0.436463418,0.369798489
-0.126544008,0.159580886,0.933714485
-0.286441339,0.872974675,0.04454198
-0.964565622,0.910027403,0.897861798
-0.203121728,0.899714292,0.085173744
-0.445639841,0.360999337,0.016645134
-0.307793993,0.117750087,0.562967352
-0.281587526,0.174834541,0.274581395
-0.119660773,0.099740072,0.484016211
-0.511583585,0.54938211,0.339766424
-0.188451695,0.073022292,0.006123739
-0.346586219,0.49567248,0.234826476
-0.225242461,0.587641331,0.725805817
-0.075409614,0.208266437,0.826377328
-0.204076002,0.04779427,0.040457828
-0.050861901,0.763043363,0.256073344
-0.972150662,0.792678045,0.909955027
-0.506115605,0.031837525,0.903340416
-0.804010111,0.955685921,0.175896939
-0.092926989,0.062223289,0.821308211
-0.363715968,0.726101463,0.79168981
-0.787381816,0.338102828,0.005758252
-0.484331698,0.495765424,0.891180155
-0.241982415,0.277129738,0.561477087
-0.484161267,0.286665154,0.03556541
-0.211600046,0.304292614,0.395789513
-0.372524976,0.202611617,0.166595985
-0.265124748,0.017345601,0.037686194
-0.701786714,0.420334817,0.714000487
-0.034048463,0.651290563,0.050634716
-0.802331316,0.558297752,0.291679579
-0.344037056,0.467477672,0.358504649
-0.639463582,0.425507582,0.954817361
-0.602885138,0.374751922,0.374607167
-0.993637385,0.955212301,0.16550343
-0.955669008,0.745723993,0.889786752
-0.365337348,0.19682491,0.506234866
-0.7457291,0.51831627,0.978818087
-0.92625289,0.631584997,0.443128894
-0.786168714,0.264993195,0.263960382
-0.316681591,0.61079768,0.089349247
-0.858371024,0.834969763,0.174819213
-0.525393487,0.243792169,0.955241627
-0.720242053,0.143419208,0.402799979
-0.749292304,0.217311863,0.799688479
-0.246462289,0.958943724,0.142358796
-0.528138907,0.590786754,0.948225902
-0.454799161,0.510565688,0.295103038
-0.953069085,0.021533141,0.116332423
-0.188120341,0.690529852,0.623168048
-0.318359731,0.758493036,0.91843922
-0.726077549,0.902046947,0.327147423
-0.386752461,0.338547997,0.651921958
-0.707225745,0.584329479,0.37703596
-0.060288975,0.494620757,0.075518168
-0.237652566,0.962903992,0.824801251
-0.535945075,0.958493881,0.754701994
-0.064404553,0.235151293,0.39448081
-0.979476468,0.347342952,0.99138709
-0.189166661,0.798328607,0.697048046
-0.180560013,0.342106481,0.174983336
-0.28337819,0.962425666,0.955845318
-0.593924663,0.66654314,0.570147835
-0.114749593,0.903677338,0.957687266
-0.151925114,0.716482401,0.637800283
-0.235669594,0.580788646,0.528893286
-0.778117587,0.250968708,0.684104646
-0.747849981,0.214563448,0.02984775
-0.720813243,0.066656345,0.737883757
-0.626964368,0.953760147,0.459809098
-0.469018562,0.720549931,0.518332767
-0.821461664,0.507041049,0.514946331
-0.384160041,0.953174654,0.443907617
-0.233220889,0.511502601,0.369065624
-0.434955659,0.150497671,0.76574469
-0.8958592,0.481635774,0.942994014
-0.979260732,0.445148596,0.323549157
-0.334878174,0.403760723,0.385124629
-0.460214884,0.33828675,0.592783427
-0.518346254,0.909618383,0.6009723
-0.338370801,0.317375424,0.337490389
-0.636668843,0.96449714,0.481975016
-0.025064304,0.923419227,0.119203699
-0.048318449,0.53489191,0.76133984
-0.491930784,0.016568024,0.112619998
-0.17743988,0.903969674,0.481918653
-0.981634317,0.513179093,0.316557669
-0.02560158,0.930375993,0.563316641
-0.017997936,0.890571459,0.4580491
-0.96277821,0.443025655,0.083145161
-0.419576578,0.112060055,0.531294103
-0.494454706,0.954168063,0.047922651
-0.800000835,0.673332473,0.064026809
-0.870702162,0.510095577,0.863030178
-0.851121904,0.916229763,0.781903614
-0.159726434,0.082081261,0.19548317
-0.362450326,0.788524336,0.826141196
-0.270846003,0.098989879,0.574494436
-0.406889772,0.838173717,0.436699777
-0.035503139,0.853255007,0.642800341
-0.083155666,0.952721164,0.708076056
-0.847697478,0.56519776,0.894660498
-0.037841045,0.984301359,0.365909559
-0.177721428,0.418447797,0.157612683
-0.429370039,0.508723836,0.767724035
-0.071851749,0.216253471,0.819600825
-0.578083664,0.212360494,0.627380646
-0.380746754,0.954034946,0.11483721
-0.211278539,0.560080096,0.685450354
-0.770737322,0.813954563,0.79322567
-0.318759117,0.06983,0.664250133
-0.059856737,0.06677071,0.26622355
-0.968241527,0.953861837,0.311894576
-0.504226431,0.06220937,0.289105117
-0.256406511,0.249902695,0.348997399
-0.674888311,0.860374,0.605942473
-0.246067727,0.048342783,0.343006159
-0.830735494,0.783740344,0.677522751
-0.99887952,0.341758368,0.229922444
-0.731699282,0.940258743,0.10886285
-0.541383735,0.910293019,0.381124662
-0.750868727,0.848911762,0.265718422
-0.425671591,0.626146239,0.622684142
-0.214013066,0.091251581,0.864057899
-0.545601885,0.310480085,0.046543211
-0.517244356,0.115819763,0.248517895
-0.872633121,0.50117097,0.12009094
-0.255496857,0.472006579,0.796438566
-0.468962035,0.26918685,0.131735945
-0.742353904,0.528441793,0.565922864
-0.85366711,0.2676075,0.914062206
-0.447698287,0.149534939,0.670156644
-0.445589481,0.6431063,0.225580433
-0.357872915,0.788565726,0.814611643
-0.580287142,0.506307991,0.527031912
-0.500500265,0.365277722,0.04677688
-0.141881394,0.926001483,0.86894952
-0.221717771,0.366035312,0.125658418
-0.600339909,0.684670388,0.826168927
-0.307898392,0.20966968,0.752966481
-0.959700077,0.899536378,0.491452813
-0.230433688,0.613941888,0.415683508
-0.495527265,0.634504412,0.370199526
-0.506575734,0.986633413,0.84941237
-0.761764339,0.963921599,0.828872018
-0.348601654,0.087553061,0.791174897
-0.104944192,0.102179531,0.905877926
-0.375324247,0.246387607,0.301420991
-0.875454272,0.118686164,0.988824311
-0.17698346,0.393647261,0.159870783
-0.917659703,0.583236755,0.630992101
-0.285048123,0.469986869,0.37272766
-0.011480822,0.597073945,0.904116141
-0.313259229,0.510005423,0.894823085
-0.795838324,0.911141124,0.928152818
-0.164974957,0.359128099,0.60236716
-0.983429159,0.003861397,0.083218217
-0.242529745,0.562773547,0.664077813
-0.765913188,0.194009625,0.286229668
-0.070781352,0.102661854,0.249285398
-0.511452125,0.418997177,0.284014634
-0.439472205,0.891870259,0.82363463
-0.580892549,0.466753672,0.140496383
-0.615517449,0.738921356,0.461546367
-0.824697707,0.698589656,0.941554339
-0.46610398,0.902958283,0.688012984
-0.523365471,0.691567649,0.547171487
-0.545929937,0.714552317,0.041938604
-0.32756288,0.701840615,0.927731162
-0.761874356,0.276228477,0.886668834
-0.979442228,0.298771691,0.591610911
-0.374731022,0.860510449,0.321638525
-0.8074911,0.097011746,0.930723417
-0.453431338,0.206882669,0.431005917
-0.910029309,0.03223923,0.493150704
-0.2897017,0.170401689,0.739971322
-0.024666309,0.777054677,0.769170439
-0.05624039,0.089983601,0.64642539
-0.149696037,0.539762835,0.702098143
-0.676100319,0.000479419,0.639516981
-0.967411256,0.893394783,0.958913773
-0.158669993,0.527294695,0.347808355
-0.181672491,0.532695548,0.988953142
-0.053598946,0.497693858,0.118111495
-0.132496571,0.985450674,0.753931807
-0.87586561,0.732063591,0.884137731
-0.419609591,0.012639269,0.645369169
-0.102047486,0.008854525,0.658344391
-0.123913855,0.210708056,0.499395878
-0.159685659,0.968477268,0.586268979
-0.834269522,0.369645239,0.245380904
-0.637297781,0.768550638,0.48870442
-0.778386961,0.376787501,0.03205647
-0.67713794,0.632054697,0.000672655
-0.860752189,0.140567399,0.326727043
-0.220600271,0.039797462,0.871431738
-0.373493897,0.910009286,0.043303147
-0.269453424,0.571833998,0.346704152
-0.919787568,0.373470212,0.873193468
-0.776952353,0.362003265,0.172733797
-0.575862615,0.900415576,0.599884308
-0.616882997,0.8845633,0.13177173
-0.366855251,0.729104299,0.950578149
-0.668847681,0.753527405,0.660832331
-0.264243456,0.308498641,0.912106098
-0.542527865,0.880831766,0.535728949
-0.460634645,0.013712653,0.152280892
-0.828209711,0.921304334,0.049084108
-0.874065663,0.473229025,0.545232499
-0.731220357,0.126627169,0.996060848
-0.943461868,0.033256065,0.992038738
-0.211193798,0.522810965,0.907780013
-0.767158364,0.967162642,0.888059793
-0.689583275,0.841550923,0.377520241
-0.147705388,0.959063909,0.031580823
-0.654707489,0.752912445,0.305046055
-0.628378168,0.075829853,0.719349441
-0.886468112,0.185491156,0.719710557
-0.749470564,0.448017109,0.897349202
-0.492693185,0.884164268,0.633427171
-0.44686733,0.7934547,0.773846432
-0.630683325,0.776592453,0.708944434
-0.814848973,0.845977344,0.643222219
-0.016975156,0.729138989,0.058020996
-0.511298247,0.07057554,0.733405098
-0.784480806,0.738595698,0.373688534
-0.530814843,0.44312087,0.691107945
-0.944091316,0.957332961,0.639542386
-0.771047017,0.811962024,0.977774991
-0.87020688,0.755962661,0.925248114
-0.458700988,0.334773333,0.095844508
-0.533831151,0.912609619,0.027149015
-0.524625598,0.652693277,0.497418106
-0.805674264,0.723021478,0.80073208
-0.113696528,0.650247192,0.344709776
-0.826900827,0.593783006,0.550936366
-0.940655423,0.740273144,0.630218018
-0.141520315,0.632429144,0.838610834
-0.39673597,0.503240828,0.590691376
-0.037602886,0.040815285,0.620639119
-0.716116291,0.506754028,0.253596249
-0.619782298,7.76626E-05,0.676065593
-0.496033457,0.98742451,0.984019601
-0.649314148,0.147470427,0.489967654
-0.691622038,0.161245902,0.647851723
-0.936526892,0.590442875,0.939555093
-0.604802621,0.838823011,0.251219058
-0.071190531,0.67647138,0.597666328
-0.019410183,0.495778133,0.44031324
-0.726411874,0.262687025,0.086312948
-0.830480537,0.135077568,0.079159787
-0.950841893,0.769723105,0.47873095
-0.611417896,0.84114966,0.395349789
-0.181347141,0.287776713,0.883076078
-0.200712222,0.873964629,0.571505353
-0.65202277,0.084117342,0.250545655
-0.342561024,0.202306216,0.079726003
-0.584301932,0.122693153,0.129858724
-0.591176502,0.051275102,0.876431468
-0.165946295,0.474087103,0.856717365
-0.839385948,0.763414504,0.961778868
-0.528260865,0.865453126,0.680673095
-0.076050301,0.71693581,0.15210816
-0.780443967,0.33197709,0.73242445
-0.363327494,0.164977224,0.185099911
-0.687912867,0.396104619,0.249748592
-0.88391393,0.554502064,0.089705278
-0.33788714,0.686247878,0.252660937
-0.19163616,0.441496434,0.513458703
-0.478908993,0.15156254,0.818829745
-0.918896553,0.899169945,0.780767514
-0.782967436,0.327693122,0.755050753
-0.32558364,0.492239506,0.12339517
-0.047070459,0.693552034,0.508452959
-0.109465204,0.821862145,0.632136838
-0.826253828,0.610682399,0.632137891
-0.162364171,0.5709024,0.027035072
-0.479768494,0.607203769,0.077566143
-0.897031412,0.795684932,0.974415558
-0.801002173,0.551618649,0.876984199
-0.123312093,0.411438516,0.901446561
-0.594677287,0.32833558,0.914104796
-0.741635419,0.14325589,0.115905361
-0.08993896,0.243272135,0.742401503
-0.116491314,0.690400792,0.020805328
-0.180855336,0.599454312,0.340688071
-0.087037755,0.006886539,0.952560809
-0.300603611,0.113658264,0.797478049
-0.832235841,0.05963984,0.771465426
-0.095194013,0.247650851,0.801344581
-0.300632189,0.150924198,0.086360387
-0.874625368,0.700861247,0.713919826
-0.863383564,0.57922769,0.870911826
-0.11913471,0.767551415,0.50918181
-0.556749667,0.691513618,0.782003681
-0.197331319,0.827247513,0.779623914
-0.987023902,0.734883462,0.623629089
-0.420615082,0.614082171,0.741891207
-0.312249031,0.014913149,0.070878868
-0.974642188,0.983123549,0.086275706
-0.783360774,0.814835668,0.67625897
-0.540478752,0.254940938,0.449867885
-0.048763621,0.290768213,0.625363258
-0.697965851,0.033892112,0.612844092
-0.724879255,0.708375839,0.525641059
-0.747562377,0.173208535,0.263779612
-0.867179342,0.213616814,0.754428508
-0.02226162,0.326141353,0.081963664
-0.627227744,0.116451144,0.409565408
-0.543129433,0.092850944,0.54072763
-0.281594806,0.709633472,0.876793176
-0.35647452,0.063874296,0.965050871
-0.045168661,0.497624359,0.186815072
-0.524949861,0.944601324,0.332059785
-0.126474627,0.02739514,0.246752374
-0.208604998,0.568408651,0.772918262
-0.125784169,0.514833609,0.514478954
-0.154512957,0.373291441,0.993402025
-0.233618131,0.572616698,0.016411005
-0.999890963,0.570275565,0.216853317
-0.486828361,0.379924401,0.696213866
-0.075314427,0.667395497,0.863855433
-0.86294927,0.812782874,0.997533964
-0.031445186,0.249022328,0.973324576
-0.326573891,0.118171329,0.965763005
-0.332020059,0.604459411,0.538268842
-0.706622108,0.694323961,0.209014536
-0.932949763,0.08165582,0.356510191
-0.75591714,0.880443277,0.240181713
-0.227219665,0.515538046,0.063202431
-0.069200681,0.150851636,0.361221939
-0.902427408,0.646942656,0.504832272
-0.262382978,0.180972368,0.403132445
-0.032506623,0.656194,0.257345113
-0.959652463,0.776117592,0.653289283
-0.778669537,0.171816058,0.383820737
-0.64856927,0.78342696,0.966231461
-0.638608998,0.323023815,0.667259556
-0.120265759,0.176019011,0.416173717
-0.275065523,0.921190579,0.324061946
-0.490137925,0.337844445,0.135339916
-0.724097632,0.992269402,0.410123181
-0.296958503,0.142356399,0.479483213
-0.092381103,0.57773093,0.290898447
-0.89183933,0.312149005,0.295126666
-0.669251799,0.071453982,0.955861716
-0.938378225,0.324238979,0.455589077
-0.762236627,0.048617283,0.120655973
-0.886194063,0.842136906,0.886167779
-0.420448588,0.826040453,0.209811195
-0.496120113,0.140244984,0.010275807
-0.291770734,0.089337397,0.940136172
-0.823744617,0.442752205,0.79506829
-0.86635257,0.308919721,0.929313191
-0.124187371,0.515507145,0.3952627
-0.515643261,0.514493405,0.592216269
-0.435577703,0.202265522,0.749380396
-0.851215206,0.581140662,0.909262689
-0.97276388,0.305964393,0.119556192
-0.833642983,0.44267292,0.574065373
-0.908658096,0.985442117,0.032891222
-0.120536868,0.898167052,0.754847347
-0.328480689,0.206500348,0.883388839
-0.584233318,0.127164736,0.934356548
-0.520904286,0.085542266,0.469645136
-0.118804512,0.276694477,0.255706174
-0.669152609,0.480169645,0.350044668
-0.784599588,0.030844507,0.672270616
-0.97462202,0.984822685,0.801402402
-0.09061512,0.20599842,0.288943446
-0.500630874,0.668012143,0.326107661
-0.243946646,0.885842685,0.356343047
-0.704519934,0.112411764,0.840776533
-0.064722176,0.148130565,0.724221405
-0.069998846,0.826917642,0.285248236
-0.463142105,0.129132053,0.071693121
-0.065672617,0.491471158,0.143248345
-0.345719852,0.550477283,0.417188691
-0.523811405,0.923188335,0.366706095
-0.57113315,0.798590349,0.465646081
-0.828359309,0.886833757,0.470994632
-0.649200809,0.422037446,0.338970547
-0.991959241,0.065292471,0.545926733
-0.402707667,0.892315167,0.157737898
-0.583371677,0.915247643,0.510882162
-0.286752954,0.119216908,0.422178531
-0.000574842,0.932477989,0.322762631
-0.521100182,0.182516345,0.799539149
-0.217552185,0.32460329,0.001286413
-0.129263953,0.832799191,0.746800354
-0.859133069,0.682500693,0.035727655
-0.081296267,0.499283963,0.851895509
-0.709384988,0.14985208,0.186521894
-0.247922963,0.253358356,0.872326832
-0.203028631,0.068652472,0.553487984
-0.292370767,0.925595124,0.401383438
-0.721522222,0.300176493,0.452098604
-0.622021123,0.308001842,0.51395483
-0.601298816,0.268135963,0.584441602
-0.207949629,0.407128704,0.699430418
-0.152216375,0.92660356,0.07049208
-0.997031345,0.789488864,0.194662825
-0.14170589,0.513011324,0.250918681
-0.979853004,0.246273698,0.732371057
-0.441466086,0.428787477,0.680856737
-0.513859379,0.668402062,0.50429415
-0.32103853,0.59436219,0.481843963
-0.466004374,0.019901121,0.225087815
-0.546731744,0.359957666,0.776590304
-0.088133727,0.021028123,0.579299556
-0.172044151,0.237278834,0.567876411
-0.576325796,0.86256513,0.487980769
-0.459957415,0.004052068,0.41344615
-0.72021758,0.906208873,0.049850195
-0.835505139,0.006504875,0.716129577
-0.974913096,0.06350265,0.945758998
-0.538076764,0.931252476,0.05429443
-0.921879308,0.750002283,0.120075272
-0.825790117,0.095295707,0.471769578
-0.667512779,0.726667248,0.68041055
-0.604774928,0.209313615,0.803678279
-0.058678158,0.457882119,0.491090679
-0.46503574,0.647148555,0.063745514
-0.268569925,0.07151649,0.354414339
-0.309997568,0.048651773,0.652050824
-0.852057231,0.800064591,0.378993288
-0.101844132,0.975250128,0.919521375
-0.879950774,0.012524944,0.243977924
-0.71298613,0.410784591,0.766666426
-0.253953963,0.18863912,0.353408633
-0.859540187,0.786140568,0.50468592
-0.885165537,0.182373738,0.365436093
-0.919226953,0.132590959,0.305319302
-0.794222067,0.325843691,0.81503301
-0.360472386,0.828503699,0.992751302
-0.568328182,0.596642015,0.166689456
-0.495797608,0.390533497,0.466894225
-0.497383703,0.057721092,0.136501948
-0.18770586,0.924785691,0.325442341
-0.693138587,0.351786889,0.499636742
-0.898980429,0.759285754,0.006488642
-0.203362481,0.362873482,0.576750046
-0.178651329,0.720602676,0.881219809
-0.176525065,0.325805008,0.029694687
-0.280908733,0.527522643,0.545345238
-0.370750152,0.138599939,0.044930538
-0.675097184,0.14761356,0.378589866
-0.735023127,0.793326142,0.751658301
-0.589712544,0.569527756,0.006401988
-0.528971516,0.297342992,0.454367414
-0.691477287,0.799565463,0.424110191
-0.261622015,0.848996059,0.848455301
-0.401014342,0.684428894,0.631646442
-0.16646465,0.252704215,0.907185556
-0.100875707,0.566947803,0.906685851
-0.434813596,0.104021401,0.167032575
-0.525475323,0.508926771,0.950312938
-0.159164103,0.298161029,0.813651341
-0.688364345,0.371765734,0.533450516
-0.712069354,0.849924822,0.351626269
-0.322500041,0.141195673,0.954104724
-0.146595062,0.93264431,0.190821916
-0.71991816,0.904994255,0.945180752
-0.025505056,0.369278227,0.225567491
-0.450884297,0.163076541,0.835655337
-0.666130325,0.52707414,0.82767262
-0.747584223,0.050899988,0.253442115
-0.525074918,0.930938393,0.27765909
-0.940041036,0.129750051,0.169526547
-0.976328221,0.406056506,0.156213454
-0.413206486,0.217043404,0.425652131
-0.108491931,0.963192763,0.498477601
-0.958709036,0.585116585,0.507265441
-0.048428848,0.713725414,0.728970388
-0.587791364,0.896305822,0.279922122
-0.086686919,0.740059232,0.914875869
-0.422027713,0.086096483,0.419750985
-0.767716034,0.871663257,0.103971292
-0.549835043,0.371430165,0.801009346
-0.557408598,0.341725364,0.279171927
-0.071240148,0.765613908,0.173767574
-0.713230298,0.779720404,0.253165546
-0.572322236,0.663937254,0.045664107
-0.428432377,0.161070991,0.891029544
-0.818292324,0.971164957,0.271696059
-0.269446053,0.962766931,0.051526478
-0.515277086,0.74833971,0.351491465
-0.796419252,0.556278732,0.361314209
-0.801556269,0.987424165,0.117197305
-0.782772261,0.05866778,0.982749779
-0.21806961,0.609256862,0.798461899
-0.699205142,0.038761394,0.271238908
-0.534754129,0.27476979,0.163606178
-0.003518131,0.437675965,0.388250875
-0.619198012,0.090710318,0.566559914
-0.178576562,0.885793567,0.022734794
-0.578539981,0.281190469,0.008260142
-0.177713211,0.393560621,0.052236228
-0.846158221,0.357695748,0.875170299
-0.127568308,0.638314871,0.946658268
-0.767138325,0.621405933,0.564104167
-0.798451074,0.40443786,0.599831193
-0.616223487,0.665752297,0.971012789
-0.267441096,0.388352985,0.430687937
-0.923867358,0.654582643,0.464037122
-0.492137227,0.706258913,0.378247168
-0.536642887,0.555595419,0.104998227
-0.992969717,0.688862613,0.896407883
-0.454975157,0.851727744,0.144297419
-0.317976254,0.620102227,0.416793119
-0.440632343,0.535615753,0.913356284
-0.791010869,0.962116708,0.627040144
-0.926826073,0.382456611,0.465806072
-0.568904993,0.514101455,0.724489494
-0.895517901,0.391005356,0.347893715
-0.289875186,0.830981849,0.92116788
-0.95185048,0.996829271,0.970163256
-0.079055453,0.999386589,0.528208258
-0.926932102,0.147799896,0.417138668
-0.244651465,0.832349744,0.221104338
-0.179560876,0.149581841,0.97827318
-0.869778794,0.116050413,0.930858226
-0.681347988,0.700100934,0.003010153
-0.688804753,0.087819887,0.217246073
-0.054919581,0.536206628,0.011960678
-0.640496257,0.193125181,0.654595034
-0.879605152,0.152112809,0.50946439
-0.336877078,0.352944356,0.032651908
-0.578287892,0.410740871,0.424981809
-0.655610763,0.370342392,0.021605292
-0.184746216,0.078627828,0.615262076
-0.335250916,0.744164606,0.7834867
-0.086006226,0.796624922,0.100735176
-0.278674471,0.483655368,0.117132599
-0.994681992,0.915583798,0.682419845
-0.077364925,0.488968443,0.762836001
-0.460939585,0.226843633,0.262301782
-0.998409563,0.464398025,0.918229672
-0.221191504,0.605272697,0.236818579
-0.305532514,0.107986913,0.285771959
-0.429457882,0.021852143,0.417044654
-0.4398254,0.904405397,0.587007492
-0.472361927,0.615492219,0.311474339
-0.4847793,0.830454499,0.692963217
-0.525054945,0.760690911,0.176296268
-0.117729529,0.425190139,0.763022992
-0.435815483,0.901034288,0.68353143
-0.310722347,0.711502874,0.050054312
-0.692557474,0.756865138,0.823601442
-0.748561397,0.302607431,0.404056776
-0.370478834,0.749199053,0.220199408
-0.686929375,0.172808164,0.22046762
-0.037511035,0.299597568,0.543432459
-0.513900441,0.892613907,0.740051648
-0.389543522,0.806516669,0.891439062
-0.053758187,0.367104684,0.356060944
-0.450039969,0.18662041,0.022226949
-0.481122219,0.376490604,0.455652341
-0.97009151,0.252002631,0.121449418
-0.322174741,0.359645571,0.785282495
-0.904310053,0.730301338,0.994210513
-0.450101531,0.92830086,0.086584177
-0.456948101,0.90305291,0.216589856
-0.430158828,0.574385535,0.812451667
-0.958800913,0.229029132,0.004822368
-0.641856333,0.757170989,0.097059421
-0.442276634,0.278413528,0.877655305
-0.036927777,0.425286999,0.92305997
-0.996003678,0.902465847,0.265142606
-0.306340939,0.260744837,0.528606261
-0.098272048,0.162476078,0.354882218
-0.658054373,0.890822429,0.9000076
-0.087284546,0.695167739,0.026293663
-0.667310433,0.902843368,0.248946207
-0.451887926,0.995052067,0.181712955
-0.721298527,0.006611482,0.727102995
-0.180137144,0.38951174,0.678305837
-0.420761331,0.419860176,0.010656383
-0.788488075,0.180473318,0.708019695
-0.662265015,0.757397169,0.348937464
-0.22732873,0.663301685,0.39923678
-0.716892599,0.552981067,0.089832495
-0.177215605,0.465175647,0.887666589
-0.4010009,0.597937203,0.09497585
-0.259096154,0.591668012,0.145793124
-0.7855796,0.541345166,0.383678057
-0.201753532,0.613603748,0.879697044
-0.825321851,0.452349759,0.192581377
-0.171266337,0.782789247,0.848185787
-0.989170718,0.575391852,0.643933271
-0.224216552,0.128615538,0.261286445
-0.355440689,0.629457955,0.902600249
-0.72784327,0.282293864,0.605943451
-0.210467186,0.748327916,0.269725684
-0.703080367,0.411052005,0.029450281
-0.611720264,0.653108765,0.115754888
-0.625714261,0.426502244,0.253625516
-0.080879639,0.231561531,0.000776511
-0.580765049,0.214103901,0.655333535
-0.411287343,0.079075761,0.794277642
-0.710073858,0.646863988,0.71074505
-0.335569397,0.900645276,0.683474835
-0.967747154,0.579773932,0.534024604
-0.766717973,0.582199309,0.533102234
-0.383468743,0.426721157,0.027251934
-0.490400205,0.117276739,0.92366954
-0.526437331,0.70107653,0.671085752
-0.889392656,0.764668251,0.594183178
-0.638642815,0.578480214,0.97861599
-0.87668719,0.16462794,0.216101311
-0.42672965,0.578827138,0.263549989
-0.811170473,0.093966938,0.225951223
-0.099089206,0.263591386,0.882393744
-0.38399777,0.327948679,0.494541301
-0.183583616,0.008025085,0.345896483
-0.584960878,0.5469813,0.968535684
-0.361345034,0.854037953,0.527327995
-0.984905322,0.997741532,0.876521812
-0.074758264,0.39928899,0.847634791
-0.78330323,0.392062416,0.024783838
-0.467728166,0.712167022,0.024533141
-0.587280899,0.398576247,0.573112113
-0.964829971,0.025982741,0.969019811
-0.9497508,0.659436309,0.204878206
-0.657359903,0.347373583,0.193308068
-0.186434557,0.521059421,0.070439079
-0.870109867,0.062761012,0.710077454
-0.217962469,0.288311322,0.190708548
-0.955539243,0.022311215,0.71590241
-0.625665814,0.76136552,0.988044588
-0.597252746,0.710748192,0.314068902
-0.516054372,0.327282916,0.54307302
-0.271367679,0.738701611,0.304169987
-0.933804469,0.580994455,0.210076964
-0.127919156,0.599299518,0.585857959
-0.676065679,0.558987708,0.958866142
-0.316141871,0.460898294,0.141769324
-0.471335921,0.089770919,0.358606362
-0.623875078,0.120949677,0.031070096
-0.279561054,0.756633154,0.523821594
-0.367638452,0.041473293,0.205100917
-0.194748444,0.554149226,0.891998106
-0.41189445,0.060780804,0.739908884
-0.463521747,0.175865472,0.535693142
-0.945971006,0.966028962,0.856940254
-0.183047078,0.337562524,0.181769865
-0.594627884,0.198176957,0.150059332
-0.843270928,0.530723522,0.928016742
-0.223830394,0.396224789,0.671524797
-0.660767374,0.651553136,0.816830801
-0.435601302,0.067504838,0.286367496
-0.118647364,0.597413606,0.736034901
-0.130876628,0.718657894,0.132667782
-0.512036173,0.807939768,0.573980493
-0.651567779,0.146952948,0.239972065
-0.288725439,0.224872447,0.043641949
-0.13707238,0.381109232,0.022199238
-0.754226814,0.167426623,0.961971718
-0.951586322,0.053557001,0.223348551
-0.618926676,0.885546611,0.123622882
-0.790423531,0.278666859,0.501354777
-0.038612914,0.868235102,0.288826116
-0.488859959,0.478054033,0.700027159
-0.862804894,0.011591559,0.750381881
-0.994070885,0.954113216,0.968886216
-0.452966461,0.985185262,0.402556559
-0.163204173,0.188199516,0.352205827
-0.15850908,0.505182571,0.583169832
-0.135779826,0.409087768,0.238200196
-0.643385144,0.86154063,0.14538336
-0.50233965,0.544662955,0.992305772
-0.208435385,0.031950832,0.061424365
-0.866478253,0.391456921,0.511463088
-0.4937369,0.216683838,0.68183869
-0.635277683,0.264963125,0.828569956
-0.57036797,0.199089208,0.947261901
-0.622849636,0.554898686,0.300444481
-0.148150252,0.793195105,0.95852649
-0.118643776,0.375521816,0.127817104
-0.758672306,0.928120507,0.147843091
-0.988902496,0.305378105,0.027460368
-0.101391422,0.187140233,0.666743757
-0.742622491,0.913697728,0.538923383
-0.093250323,0.083342814,0.253041857
-0.769590781,0.9991462,0.438612548
-0.729371479,0.304770086,0.732577389
-0.309854988,0.231328158,0.907015378
-0.357043464,0.291981607,0.210471606
-0.310867898,0.310831132,0.021305479
-0.099716251,0.743995352,0.892636908
-0.41508308,0.015438634,0.257251295
-0.53442204,0.552940574,0.911759333
-0.066875817,0.519643391,0.683239895
-0.960228558,0.637860456,0.564663828
-0.166667197,0.282113595,0.909573438
-0.400063729,0.629753113,0.314970443
-0.708945745,0.167807931,0.868195558
-0.371947838,0.749772529,0.913374887
-0.364252703,0.719347038,0.968988396
-0.565947998,0.47317603,0.848594323
-0.963005103,0.86347636,0.213376655
-0.010974265,0.115488107,0.918644935
-0.579274525,0.748172658,0.195517101
-0.054742886,0.089561473,0.35514667
-0.352904397,0.177453817,0.485671073
-0.86540568,0.455589491,0.325840682
-0.826269285,0.742045207,0.836774969
-0.075485913,0.446267336,0.134777488
-0.123130773,0.10695964,0.319080831
-0.353341713,0.250920125,0.94582804
-0.934151416,0.641155987,0.332526901
-0.183094596,0.975798892,0.512697523
-0.931523642,0.525759501,0.067066893
-0.171012136,0.581683693,0.603794825
-0.489763176,0.561915728,0.886623062
-0.427818728,0.227974683,0.462025302
-0.059325421,0.726266371,0.692412984
-0.770271664,0.743519141,0.117959307
-0.107862896,0.552555172,0.592259145
-0.445007388,0.046308389,0.69499137
-0.056486616,0.370154602,0.498507879
-0.347798483,0.541312622,0.44955603
-0.01637411,0.777726654,0.346640124
-0.918778501,0.247274577,0.931656904
-0.468325578,0.552066653,0.233304727
-0.558842714,0.30110019,0.237582706
-0.520406065,0.396600845,0.627623904
-0.42717615,0.55961213,0.312743984
-0.043819454,0.060632818,0.168267929
-0.151405047,0.276450913,0.385322692
-0.864539894,0.203199707,0.865006307
-0.866179018,0.649792248,0.369625823
-0.566181508,0.155001949,0.751738414
-0.022193506,0.262524266,0.378478591
-0.835870282,0.436869514,0.439857307
-0.54507765,0.825712044,0.425012638
-0.180124959,0.284189803,0.059324375
-0.91303517,0.659662103,0.021990781
-0.068890512,0.857174742,0.245915138
-0.146299591,0.2282098,0.992357695
-0.279495766,0.087424865,0.532747766
-0.095737503,0.107245868,0.190786801
-0.276947216,0.537071712,0.654100689
-0.010738646,0.40673838,0.479608479
-0.420307684,0.947352567,0.178277524
-0.108124774,0.127227634,0.278086371
-0.18958629,0.587262704,0.69187928
-0.814773727,0.220263054,0.007250506
-0.948149379,0.572617808,0.939774741
-0.150492895,0.970045889,0.979230909
-0.997567108,0.897085006,0.573132383
-0.039773611,0.517659257,0.317936584
-0.915778891,0.598912752,0.541405962
-0.081857212,0.994515385,0.261260636

Modified: mlpack/trunk/src/mlpack/methods/nnsvm/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/methods/nnsvm/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/nnsvm/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -18,14 +18,6 @@
 # the parent scope).
 set(MLPACK_SRCS ${MLPACK_SRCS} ${DIR_SRCS} PARENT_SCOPE)
 
-add_executable(nnsvm_test
-  nnsvm_test.cpp
-)
-target_link_libraries(nnsvm_test
-  mlpack
-  boost_unit_test_framework
-)
-
 add_executable(nnsvm
   nnsvm_main.cpp
 )

Deleted: mlpack/trunk/src/mlpack/methods/nnsvm/nnsvm_test.cpp
===================================================================
--- mlpack/trunk/src/mlpack/methods/nnsvm/nnsvm_test.cpp	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/nnsvm/nnsvm_test.cpp	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,286 +0,0 @@
-/**
- * @file nnsvm_test.cc
- *
- * Test file for NNSVM class
- */
-#include <iostream>
-#include "nnsvm.hpp"
-#include <mlpack/core/kernels/linear_kernel.hpp>
-
-#define BOOST_TEST_MODULE NNSVM Test
-#include <boost/test/unit_test.hpp>
-
-using namespace mlpack;
-using namespace mlpack::nnsvm;
-
-/***
- * simple nonnegative SVM test with small, synthetic dataset
- */
-BOOST_AUTO_TEST_CASE(linear_kernel_test_1)
-{
-  // initialize the matrix
-  arma::mat data;
-
-  data << -1.0 <<  1.0 << 1.0 << arma::endr
-       << -2.0 <<  2.0 << 1.0 << arma::endr
-       << -3.0 <<  3.0 << 1.0 << arma::endr
-       << -4.0 <<  4.0 << 1.0 << arma::endr
-       <<  1.0 << -1.0 << 0.0 << arma::endr
-       <<  2.0 << -2.0 << 0.0 << arma::endr
-       <<  3.0 << -3.0 << 0.0 << arma::endr
-       <<  4.0 << -4.0 << 0.0 << arma::endr;
-
-  // test the linear kernel
-  NNSVM<kernel::LinearKernel> nnsvm;
-
-  nnsvm.InitTrain(data, 2);
-  double calculatedThreshold = nnsvm.getThreshold();
-  size_t calculatedSupportVectorCount = nnsvm.getSupportVectorCount();
-  const arma::vec calculatedSupportVectorCoefficients =
-                    nnsvm.getSupportVectorCoefficients();
-  const arma::vec calculatedWeightVector = nnsvm.getWeightVector();
-
-  // check for correctness on the linear kernel
-  BOOST_REQUIRE(calculatedSupportVectorCount == 3);
-  BOOST_REQUIRE_CLOSE(calculatedThreshold, -1.0, 1e-5);
-  BOOST_REQUIRE_CLOSE(calculatedSupportVectorCoefficients[0],
-                      3.7499785159728178, 1e-5);
-  BOOST_REQUIRE_CLOSE(calculatedSupportVectorCoefficients[1],
-                      6.2500214840271884, 1e-5);
-  BOOST_REQUIRE_CLOSE(calculatedSupportVectorCoefficients[2], -10.000, 1e-5);
-  BOOST_REQUIRE_CLOSE(calculatedWeightVector[0], 0.00000000, 1e-5);
-  BOOST_REQUIRE_CLOSE(calculatedWeightVector[1], 0.00000000, 1e-5);
-  BOOST_REQUIRE_CLOSE(calculatedWeightVector[2], 0.00000000, 1e-5);
-  BOOST_REQUIRE_CLOSE(calculatedWeightVector[3], 0.00017187221748210524, 1e-5);
-  BOOST_REQUIRE_CLOSE(calculatedWeightVector[4], 0.00000000, 1e-5);
-  BOOST_REQUIRE_CLOSE(calculatedWeightVector[5], 0.00000000, 1e-5);
-  BOOST_REQUIRE_CLOSE(calculatedWeightVector[6], 0.00000000, 1e-5);
-
-}
-//BOOST_AUTO_TEST_CASE(linear_kernel_test_2)
-//{
-//  // initialize the matrix
-//  arma::mat data;
-//
-//  data << 2.8532 << 0.6808 << -18 << 6.5 << -26.23 << -273.67 << 3.1747
-//          << 1.4824 << 2.0161 << -11.142 << -31.166 << 0 << -1.0324
-//          << -8.2685 << 3.48 << 8.545 << 6.575 << -7.89 << 1.9919 << -7
-//          << 1 << arma::endr
-//       << 0.0578 << 1.3971 << -24 << -12.1 << -100.13 << -553.18 << 2.3804
-//          << -0.5607 << 4.5496 << -24.574 << -24.968 << -1 << -13.534 << -31.45
-//          << 1.54 << -13.05 << -11.725 << -2.55 << 1.8087 << 10 << 1
-//          << arma::endr
-//       << 0.1804 << 1.6302 << -26 << -6.4 << -81.28 << -529.73 << 2.0123
-//          << 1.0011 << 2.1322 << -38.049 << -22.548 << -1 << -17.921
-//          << -29.786 << -4.2 << -5.885 << -12.065 << -0.18 << 3.7498
-//          << 8 << 1 << arma::endr
-//       << 2.2685 << 0.77 << -26 << -5 << -63.74 << -619.41 << 3.79 << 1.4824
-//          << 2.6626 << -11.553 << -10.084 << -1 << -23.293 << -24.595 << 5.06
-//          << 1.81 << -6.8 << -2.74 << 1.4367 << 2 << 1 << arma::endr
-//       << 1.1094 << 1.3512 << -27 << -5.9 << -97.98 << -888.82 << 4.7719
-//          << -0.8833 << 7.0048 << -41.996 << -25.473 << 0 << -17.197 << -31.864
-//          << 2.96 << -12.92 << -21.625 << -4.66 << 4.1161 << 14 << 1
-//          << arma::endr
-//       << -0.7448 << 0.639 << -33 << -4.3 << -121.87 << -1240.2 << 2.574
-//          << -11.96 << -1.4605 << -23.163 << -41.738 << 0 << -26.078
-//          << -65.459 << -3.46 << -43.665 << -47.125 << 0.36 << 1.5793
-//          << 11 << 1 << arma::endr
-//       << 2.1242 << 1.0001 << -27 << -1.5 << -85.01 << -753.81 << 5.8026
-//          << 0.4733 << 7.3244 << -28.602 << -22.096 << -1 << -25.72 << -5.058
-//          << 1.96 << -2.715 << -36.435 << 6.23 << 4.0664 << 4 << 1 << arma::endr
-//       << 1.5147 << 1.5999 << -30 << 9.5 << -48.64 << -552.72 << 6.8646
-//          << -2.7514 << 9.765 << -32.567 << -26.009 << -1 << -21.244 << -42.178
-//          << -4.38 << -14.655 << -35.8 << -8.5 << 3.5578 << -3 << 1
-//          << arma::endr
-//       << 0.2762 << 0.4498 << -33 << -14.5 << -108.06 << -1848.7 << 3.3279
-//          << -4.7404 << 8.3787 << -69.738 << -45.989 << -2 << -20.988 << -87.26
-//          << 5.26 << -41.045 << -46.53 << 2.92 << 0.2006 << 17 << 1
-//          << arma::endr
-//       << -0.8361 << 0.5906 << -35 << -9.9 << -123.2 << -1535.6 << 1.7498
-//          << -9.412 << 4.8324 << -61.991 << -45.081 << -1 << -28.325 << -85.874
-//          << -10.38 << -36.53 << -51.315 << -4.12 << 1.5208 << 28 << 1
-//          << arma::endr
-//       << 3.4862 << 0.1746 << -8 << -12.6 << -48.05 << -74.518 << -5.3072 << 0
-//          << -0.6322 << 14.706 << 4.6319 << -1 << -5.1945 << -10.268 << -13.8
-//          << -18.11 << -2.625 << -9.7 << 0.0399 << -11 << 0 << arma::endr
-//       << -1.332 << -0.5399 << 6 << -11.5 << -7.1 << -41.538 << -0.4827
-//          << 0.1494 << 2.6331 << 13.711 << -20.669 << 1 << -2.307 << -16.457
-//          << -5.3 << -21.65 << 3.57 << 6.82 << -1.4101 << -6 << 0
-//          << arma::endr
-//       << 0.6689 << 0.1837 << 2 << -1.9 << 10.22 << 176.41 << -1.2294 << 0
-//          << -1.7885 << -16.553 << -2.9748 << 0 << 9.304 << 10.097 << -4.32
-//          << -7.325 << -6.375 << 13.96 << -0.1116 << 25 << 0 << arma::endr
-//       << -0.9639 << -0.6035 << 15 << 17.7 << 82.64 << 849.54 << 1.7272
-//          << 2.3738 << -2.3887 << -4.4992 << 31.715 << -1 << 18.632 << -4.4991
-//          << 13 << 8.955 << 12.725 << -19.04 << 0.218 << -24 << 0 << arma::endr
-//       << -3.5669 << -0.4114 << 19 << 11.8 << 84.35 << 749.12 << -3.8668
-//          << 1.9631 << 3.2414 << 25.695 << 28.835 << 1 << 30.208 << 34.002
-//          << 14.78 << 46.875 << 24.84 << 8.1 << -1.7294 << -7 << 0 << arma::endr
-//       << 1.5881 << -0.023 << 24 << 6.8 << 108.42 << 1255.7 << 2.0539 << 12.079
-//          << 1.7954 << 21.008 << 33.312 << 0 << 27.819 << 22.083 << 15.94
-//          << 71.565 << 49.805 << 3.94 << 0.3416 << -12 << 0 << arma::endr
-//       << -1.5349 << -0.5047 << 10 << -12.2 << 12.26 << 476.02 << -4.4551 << 0
-//          << -7.213 << 7.56 << 2.4955 << 0 << 18.81 << -13.185 << -11 << 9.86
-//          << -12.555 << -3.63 << -2.4305 << -7 << 0 << arma::endr
-//       << 1.9474 << -1.9588 << 26 << 29.8 << 156.44 << 1885.6 << 1.7485
-//          << 12.592 << -4.1963 << 17.719 << 45.104 << 0 << 29.739 << 82.289
-//          << 17 << 62.15 << 41.805 << -13.57 << 1.4464 << -48 << 0
-//          << arma::endr
-//       << 1.9065 << -0.1575 << 24 << -8.5 << 59.85 << 577 << -6.8442 << -0.4728
-//          << -1.5632 << 19.76 << 13.641 << -2 << 32.432 << 34.894 << -0.9
-//          << 52.775 << 23.125 << -24 << -8.2289 << -18 << 0 << arma::endr
-//       << -0.6037 << -0.4235 << 21 << 18.6 << 137.71 << 1506.4 << -0.9627
-//          << 11.03 << -2.7523 << 47.119 << 58.999 << 1 << 21.233 << 74.764
-//          << 21.96 << 72.49 << 54.675 << -10.04 << 1.916 << -12 << 0
-//          << arma::endr;
-//
-//  // test the linear kernel
-//  NNSVM<SVMLinearKernel>* nnsvm = new NNSVM<SVMLinearKernel>();
-//
-//  nnsvm.InitTrain(data, 2);
-//  double calculatedThreshold = nnsvm.getThreshold();
-//  size_t calculatedSupportVectorCount = nnsvm.getSupportVectorCount();
-//  const arma::vec calculatedSupportVectorCoefficients =
-//                    nnsvm.getSupportVectorCoefficients();
-//  const arma::vec calculatedWeightVector = nnsvm.getWeightVector();
-//
-//  // check for correctness on the linear kernel
-//  BOOST_REQUIRE(calculatedSupportVectorCount == 6);
-//  BOOST_REQUIRE_CLOSE(calculatedThreshold, -39.793784137999701, 1e-5);
-//  BOOST_REQUIRE_CLOSE(calculatedSupportVectorCoefficients[0],
-//                      0.06875628588658407, 1e-5);
-//  BOOST_REQUIRE_CLOSE(calculatedSupportVectorCoefficients[1],
-//                      3.1607079296638054, 1e-5);
-//  BOOST_REQUIRE_CLOSE(calculatedSupportVectorCoefficients[2],
-//                      0.0039166013511236601, 1e-5);
-//  BOOST_REQUIRE_CLOSE(calculatedSupportVectorCoefficients[3],
-//                      3.7130510722124139, 1e-5);
-//  BOOST_REQUIRE_CLOSE(calculatedSupportVectorCoefficients[4],
-//                      0.43343566949350276, 1e-5);
-//  BOOST_REQUIRE_CLOSE(calculatedSupportVectorCoefficients[5],
-//                      -10.000, 1e-5);
-//  BOOST_REQUIRE_CLOSE(calculatedWeightVector[0], 0.00000000, 1e-5);
-//  BOOST_REQUIRE_CLOSE(calculatedWeightVector[1], 0.00000000, 1e-5);
-//  BOOST_REQUIRE_CLOSE(calculatedWeightVector[2], 0.00000000, 1e-5);
-//  BOOST_REQUIRE_CLOSE(calculatedWeightVector[3], 0.00000000, 1e-5);
-//  BOOST_REQUIRE_CLOSE(calculatedWeightVector[4], 0.053222444790909262, 1e-5);
-//  BOOST_REQUIRE_CLOSE(calculatedWeightVector[5], 0.00000000, 1e-5);
-//  BOOST_REQUIRE_CLOSE(calculatedWeightVector[6], 0.00000000, 1e-5);
-//
-//}
-///***
-// * Test the dual-tree nearest-neighbors method with the naive method.  This
-// * uses both a query and reference dataset.
-// *
-// * Errors are produced if the results are not identical.
-// */
-//BOOST_AUTO_TEST_CASE(dual_tree_vs_naive_1)
-//{
-//  arma::mat data_for_tree_;
-//
-//  // Hard-coded filename: bad!
-//  if (data::Load("test_data_3_1000.csv", data_for_tree_) != true)
-//  {
-//    BOOST_FAIL("Cannot load test dataset test_data_3_1000.csv!");
-//  }
-//
-//  // Set up matrices to work with.
-//  arma::mat dual_query(data_for_tree_);
-//  arma::mat dual_references(data_for_tree_);
-//  arma::mat naive_query(data_for_tree_);
-//  arma::mat naive_references(data_for_tree_);
-//
-//  AllkNN allknn_(dual_query, dual_references, 20, 5);
-//  AllkNN naive_(naive_query, naive_references, 1 /* leaf_size ignored */, 5,
-//      AllkNN::NAIVE);
-//
-//  arma::Col<size_t> resulting_neighbors_tree;
-//  arma::vec distances_tree;
-//  allknn_.ComputeNeighbors(resulting_neighbors_tree, distances_tree);
-//
-//  arma::Col<size_t> resulting_neighbors_naive;
-//  arma::vec distances_naive;
-//  naive_.ComputeNeighbors(resulting_neighbors_naive, distances_naive);
-//
-//  for (size_t i = 0; i < resulting_neighbors_tree.n_elem; i++)
-//  {
-//    BOOST_REQUIRE(resulting_neighbors_tree[i] == resulting_neighbors_naive[i]);
-//    BOOST_REQUIRE_CLOSE(distances_tree[i], distances_naive[i], 1e-5);
-//  }
-//}
-//
-///***
-// * Test the dual-tree nearest-neighbors method with the naive method.  This uses
-// * only a reference dataset.
-// *
-// * Errors are produced if the results are not identical.
-// */
-//BOOST_AUTO_TEST_CASE(dual_tree_vs_naive_2)
-//{
-//  arma::mat data_for_tree_;
-//
-//  // Hard-coded filename: bad!
-//  // Code duplication: also bad!
-//  if (data::Load("test_data_3_1000.csv", data_for_tree_) != true)
-//  {
-//    BOOST_FAIL("Cannot load test dataset test_data_3_1000.csv!");
-//  }
-//
-//  // Set up matrices to work with (may not be necessary with no ALIAS_MATRIX?).
-//  arma::mat dual_query(data_for_tree_);
-//  arma::mat naive_query(data_for_tree_);
-//
-//  AllkNN allknn_(dual_query, 20, 1);
-//  AllkNN naive_(naive_query, 1 /* leaf_size ignored with naive */, 1,
-//      AllkNN::NAIVE);
-//
-//  arma::Col<size_t> resulting_neighbors_tree;
-//  arma::vec distances_tree;
-//  allknn_.ComputeNeighbors(resulting_neighbors_tree, distances_tree);
-//
-//  arma::Col<size_t> resulting_neighbors_naive;
-//  arma::vec distances_naive;
-//  naive_.ComputeNeighbors(resulting_neighbors_naive, distances_naive);
-//
-//  for (size_t i = 0; i < resulting_neighbors_tree.n_elem; i++) {
-//    BOOST_REQUIRE(resulting_neighbors_tree[i] == resulting_neighbors_naive[i]);
-//    BOOST_REQUIRE_CLOSE(distances_tree[i], distances_naive[i], 1e-5);
-//  }
-//}
-//
-///***
-// * Test the single-tree nearest-neighbors method with the naive method.  This
-// * uses only a reference dataset.
-// *
-// * Errors are produced if the results are not identical.
-// */
-//BOOST_AUTO_TEST_CASE(single_tree_vs_naive)
-//{
-//  arma::mat data_for_tree_;
-//
-//  // Hard-coded filename: bad!
-//  // Code duplication: also bad!
-//  if (data::Load("test_data_3_1000.csv", data_for_tree_) != true)
-//    BOOST_FAIL("Cannot load test dataset test_data_3_1000.csv!");
-//
-//  // Set up matrices to work with (may not be necessary with no ALIAS_MATRIX?).
-//  arma::mat single_query(data_for_tree_);
-//  arma::mat naive_query(data_for_tree_);
-//
-//  AllkNN allknn_(single_query, 20, 5, AllkNN::MODE_SINGLE);
-//  AllkNN naive_(naive_query, 1 /* leaf_size ignored with naive */, 5,
-//      AllkNN::NAIVE);
-//
-//  arma::Col<size_t> resulting_neighbors_tree;
-//  arma::vec distances_tree;
-//  allknn_.ComputeNeighbors(resulting_neighbors_tree, distances_tree);
-//
-//  arma::Col<size_t> resulting_neighbors_naive;
-//  arma::vec distances_naive;
-//  naive_.ComputeNeighbors(resulting_neighbors_naive, distances_naive);
-//
-//  for (size_t i = 0; i < resulting_neighbors_tree.n_elem; i++) {
-//    BOOST_REQUIRE(resulting_neighbors_tree[i] == resulting_neighbors_naive[i]);
-//    BOOST_REQUIRE_CLOSE(distances_tree[i], distances_naive[i], 1e-5);
-//  }
-//}

Deleted: mlpack/trunk/src/mlpack/methods/nnsvm/toy1.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/nnsvm/toy1.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/nnsvm/toy1.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,8 +0,0 @@
--1,1,1
--2,2,1
--3,3,1
--4,4,1
-1,-1,0
-2,-2,0
-3,-3,0
-4,-4,0

Deleted: mlpack/trunk/src/mlpack/methods/nnsvm/toy4.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/nnsvm/toy4.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/nnsvm/toy4.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,20 +0,0 @@
-2.8532,0.6808,-18,6.5,-26.23,-273.67,3.1747,1.4824,2.0161,-11.142,-31.166,0,-1.0324,-8.2685,3.48,8.545,6.575,-7.89,1.9919,-7,1
-0.0578,1.3971,-24,-12.1,-100.13,-553.18,2.3804,-0.5607,4.5496,-24.574,-24.968,-1,-13.534,-31.45,1.54,-13.05,-11.725,-2.55,1.8087,10,1
-0.1804,1.6302,-26,-6.4,-81.28,-529.73,2.0123,1.0011,2.1322,-38.049,-22.548,-1,-17.921,-29.786,-4.2,-5.885,-12.065,-0.18,3.7498,8,1
-2.2685,0.77,-26,-5,-63.74,-619.41,3.79,1.4824,2.6626,-11.553,-10.084,-1,-23.293,-24.595,5.06,1.81,-6.8,-2.74,1.4367,2,1
-1.1094,1.3512,-27,-5.9,-97.98,-888.82,4.7719,-0.8833,7.0048,-41.996,-25.473,0,-17.197,-31.864,2.96,-12.92,-21.625,-4.66,4.1161,14,1
--0.7448,0.639,-33,-4.3,-121.87,-1240.2,2.574,-11.96,-1.4605,-23.163,-41.738,0,-26.078,-65.459,-3.46,-43.665,-47.125,0.36,1.5793,11,1
-2.1242,1.0001,-27,-1.5,-85.01,-753.81,5.8026,0.4733,7.3244,-28.602,-22.096,-1,-25.72,-5.058,1.96,-2.715,-36.435,6.23,4.0664,4,1
-1.5147,1.5999,-30,9.5,-48.64,-552.72,6.8646,-2.7514,9.765,-32.567,-26.009,-1,-21.244,-42.178,-4.38,-14.655,-35.8,-8.5,3.5578,-3,1
-0.2762,0.4498,-33,-14.5,-108.06,-1848.7,3.3279,-4.7404,8.3787,-69.738,-45.989,-2,-20.988,-87.26,5.26,-41.045,-46.53,2.92,0.2006,17,1
--0.8361,0.5906,-35,-9.9,-123.2,-1535.6,1.7498,-9.412,4.8324,-61.991,-45.081,-1,-28.325,-85.874,-10.38,-36.53,-51.315,-4.12,1.5208,28,1
-3.4862,0.1746,-8,-12.6,-48.05,-74.518,-5.3072,0,-0.6322,14.706,4.6319,-1,-5.1945,-10.268,-13.8,-18.11,-2.625,-9.7,0.0399,-11,0
--1.332,-0.5399,6,-11.5,-7.1,-41.538,-0.4827,0.1494,2.6331,13.711,-20.669,1,-2.307,-16.457,-5.3,-21.65,3.57,6.82,-1.4101,-6,0
-0.6689,0.1837,2,-1.9,10.22,176.41,-1.2294,0,-1.7885,-16.553,-2.9748,0,9.304,10.097,-4.32,-7.325,-6.375,13.96,-0.1116,25,0
--0.9639,-0.6035,15,17.7,82.64,849.54,1.7272,2.3738,-2.3887,-4.4992,31.715,-1,18.632,-4.4991,13,8.955,12.725,-19.04,0.218,-24,0
--3.5669,-0.4114,19,11.8,84.35,749.12,-3.8668,1.9631,3.2414,25.695,28.835,1,30.208,34.002,14.78,46.875,24.84,8.1,-1.7294,-7,0
-1.5881,-0.023,24,6.8,108.42,1255.7,2.0539,12.079,1.7954,21.008,33.312,0,27.819,22.083,15.94,71.565,49.805,3.94,0.3416,-12,0
--1.5349,-0.5047,10,-12.2,12.26,476.02,-4.4551,0,-7.213,7.56,2.4955,0,18.81,-13.185,-11,9.86,-12.555,-3.63,-2.4305,-7,0
-1.9474,-1.9588,26,29.8,156.44,1885.6,1.7485,12.592,-4.1963,17.719,45.104,0,29.739,82.289,17,62.15,41.805,-13.57,1.4464,-48,0
-1.9065,-0.1575,24,-8.5,59.85,577,-6.8442,-0.4728,-1.5632,19.76,13.641,-2,32.432,34.894,-0.9,52.775,23.125,-24,-8.2289,-18,0
--0.6037,-0.4235,21,18.6,137.71,1506.4,-0.9627,11.03,-2.7523,47.119,58.999,1,21.233,74.764,21.96,72.49,54.675,-10.04,1.916,-12,0

Deleted: mlpack/trunk/src/mlpack/methods/nnsvm/toy7.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/nnsvm/toy7.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/nnsvm/toy7.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,200 +0,0 @@
-2.8532,0.6808,-18,6.5,-26.23,-273.67,3.1747,1.4824,2.0161,-11.142,-31.166,0,-1.0324,-8.2685,3.48,8.545,6.575,-7.89,1.9919,-7,1
--1.9184,0.1004,-10,7.8,-0.06,-136.03,3.7993,1.4824,1.3823,-29.897,-14.33,0,-1.6211,-4.5408,16.08,12.505,-5.02,4.11,-0.165,7,1
-0.1164,0.6281,-23,-1.3,-60.88,-346.74,5.2003,1.4824,1.9077,2.1252,-19.249,-1,-11.158,-22.757,4.88,-7.405,-13.715,-3.29,1.3294,-7,1
--0.7718,0.3601,-22,9.2,-21.59,143.49,3.8208,1.4824,-2.136,-8.5956,-30.202,0,-8.6241,-24.052,3.36,12.1,6.655,-0.99,2.2053,0,1
-1.4816,0.2337,-13,8.4,-0.25,-55.503,6.6527,1.4824,-1.854,-14.705,-4.5099,0,-1.424,-1.9385,6.56,21.345,-2.275,7.4,1.9669,16,1
-3.7953,0.69,-14,7.1,-4.12,123.56,2.5956,1.4824,-3.6238,-9.9252,-11.819,0,3.7403,-8.2268,8.2,31.3,7.1,7.96,2.7639,18,1
-3.1939,1.2112,-18,4.6,-25.11,-143.72,6.1855,0.77,2.6974,-27.136,-6.9822,-1,1.6406,-16.501,4.18,2.085,-10.42,0.53,3.4705,12,1
-3.9492,0.5105,-14,5.1,-14.15,-242.03,5.2163,1.0224,0.7216,-7.957,-9.915,0,-8.0924,-8.0587,8.16,12.33,-1.485,11.44,-0.6739,-4,1
-0.3035,0.9629,-19,4.1,-28.05,269.66,2.6846,1.4824,3.0856,-9.1005,-6.3619,-1,-0.2753,-15.197,9.84,46.125,1.19,6.43,0.9601,5,1
-0.6095,0.6779,-14,9.4,-8.18,139.34,3.0115,0.8171,3.0116,12.95,-4.6328,-1,-9.2666,-17.378,11.28,-4.06,-2.32,13.29,0.5298,0,1
-0.0578,1.3971,-24,-12.1,-100.13,-553.18,2.3804,-0.5607,4.5496,-24.574,-24.968,-1,-13.534,-31.45,1.54,-13.05,-11.725,-2.55,1.8087,10,1
--0.6689,0.8734,-26,-6.5,-95.66,-240.78,2.4267,0.4082,4.2012,-22.097,-32.029,-1,-8.3703,-14.775,4.44,-9.595,-3.515,0.42,-0.6312,8,1
-1.4364,1.1872,-25,1.1,-82.04,-656.14,-0.5361,-2.3128,1.1614,-22.232,-32.982,0,-9.8392,-14.18,-1.88,-0.405,-19.145,3,1.496,5,1
-1.5446,0.5668,-9,9.5,-4.77,-66.657,1.3096,1.4824,-0.7958,-8.4602,-7.4497,0,-1.336,-27.886,16.92,24.72,10.05,8.64,3.5514,-3,1
-1.6569,0.4829,-12,3.5,2.1201,97.154,3.966,1.4824,1.7676,-12.865,-16.807,0,-5.3262,-7.5318,11.58,18.385,-10.25,24.43,-0.1974,11,1
-1.1276,0.6559,-27,0.2,-68.29,-303.81,4.0798,1.4824,3.2582,-11.537,-18.762,-1,-12.55,-4.8159,6.24,1.26,-8.015,-4.88,1.1166,0,1
--0.2385,0.8541,-27,-1,-84.24,-124.34,5.9478,1.4824,5.4481,-26.102,-32.728,-1,-8.7935,2.9183,-3.08,0.68,-8.745,-4.54,-0.7483,2,1
-1.674,0.794,-24,-4.4,-104.93,-494.35,2.4775,1.4824,1.7966,-21.683,-30.898,-1,-11.534,-27.373,-1.72,10.935,-11.815,-8.29,-0.5585,10,1
-4.8013,1.7243,-14,5.1,8.42,-121.1,6.7999,0.8452,6.7354,1.383,-12.322,0,-7.1302,-11.964,12.08,8.52,2.49,15.03,2.5201,10,1
-2.8751,1.1144,-17,13.9,22.78,13.989,6.0753,1.4824,3.4086,-8.6642,-14.546,0,-8.7346,-8.2426,11.06,22.385,-11.82,10.87,-0.1287,15,1
-0.1804,1.6302,-26,-6.4,-81.28,-529.73,2.0123,1.0011,2.1322,-38.049,-22.548,-1,-17.921,-29.786,-4.2,-5.885,-12.065,-0.18,3.7498,8,1
-3.5925,0.9503,-30,-1.5,-103.37,-746.75,1.1651,1.4824,3.4984,-17.618,-32.538,0,-10.865,-24.207,-2.2,-24.595,-15.61,-7.22,1.2116,21,1
-0.9243,0.7513,-27,-7.6,-63.64,-485.78,0.6252,1.4824,1.1947,-21.864,-25.204,-1,-14.659,-12.942,-4.62,16.49,-14.545,9.77,1.1461,6,1
-1.7031,0.8509,-18,3.4,-10.8,-432.61,6.5429,1.4824,5.7177,-9.5417,-8.6142,-1,-12.097,-21.097,18.88,7.61,-8.975,13.12,1.56,6,1
-0.9263,1.177,-20,1.9,-19.44,77.299,6.0655,1.4824,6.1427,-11.998,-13.519,-1,3.5971,-19.15,12.2,7.31,10.46,9.14,1.2721,-3,1
-1.6919,1.3158,-28,-2,-108.78,-410.42,2.9464,0.6503,3.6629,-14.577,-31.835,-1,-20.354,-36.936,-4.54,-7.38,-22.955,-7.81,1.4152,7,1
-2.0102,0.9265,-9,11.4,31.41,307.62,4.254,1.4824,3.7006,-12.117,-12.171,0,-2.2917,-1.7822,13.8,41.645,3.93,5.99,-0.103,8,1
-1.767,1.7616,-32,0.2,-109.34,-791.32,4.6278,-0.699,2.0168,-12.48,-35.041,-1,-21.128,-30.952,-0.4,-15.235,-31.52,-8.1,0.5503,13,1
-1.551,1.8294,-29,-5.2,-114.51,-571.99,2.1238,-0.6449,2.829,6.7126,-28.847,4,-25.131,-13.335,-6.6,-10.195,-13.295,8.1,2.4072,17,1
-1.1892,1.4875,-31,-5.1,-124.1,-937.63,2.1206,-4.6233,1.3795,-30.733,-45.977,-1,-20.748,-41.89,-0.98,-34.84,-28.81,-26.13,-0.2798,24,1
-2.2685,0.77,-26,-5,-63.74,-619.41,3.79,1.4824,2.6626,-11.553,-10.084,-1,-23.293,-24.595,5.06,1.81,-6.8,-2.74,1.4367,2,1
-0.2237,0.9869,-29,-10.7,-121.48,-808.64,4.7705,1.111,2.9285,-30.601,-35.912,0,-17.091,-18.228,-2.08,-3.93,-27.4,-0.08,0.8896,14,1
-2.8998,1.5298,-30,-3.3,-85.21,-398.17,4.1632,0.84,4.4599,-11.25,-17.656,0,-23.403,-53.189,1.82,10.355,-19.995,-10.94,6.8789,-8,1
-1.0265,1.0798,-32,-21.3,-119.64,-543.85,3.1997,1.4824,2.3953,-40.998,-32.14,-1,-21.493,-19.26,-1.64,-7.48,-25.05,-10.17,-0.2587,28,1
-2.1613,0.5332,-28,0.5,-88.97,-538.9,4.9259,1.0714,2.6219,-17.895,-19.907,-1,-20.013,-27.818,0.66,-2.765,-23.87,14.55,2.5239,-7,1
-3.0368,0.6298,-26,10.5,-27.38,15.877,8.4802,1.4824,4.1161,-24.344,-4.3,-1,-5.45,16.985,15,15.285,1.015,4.64,2.0855,16,1
-1.4274,1.0721,-33,-8,-119.91,-1302.7,2.5754,-7.556,0.3635,-40.85,-45.492,-1,-25.028,-44.379,-5.12,-37.56,-39.67,-13.05,-0.5152,27,1
-5.8214,1.0648,-21,1.8,-46.68,-10.405,3.7387,1.4824,3.4037,-23.18,-8.5198,-1,-12.282,-9.6866,-3.3,15.855,8.42,3.76,2.6556,0,1
-1.7477,0.9459,-27,-4.8,-85.3,-605.05,2.1171,1.4824,2.4717,-25.049,-26.628,0,-24.2,-24.035,3.32,-8.085,-18.03,5.72,4.0421,6,1
--0.5904,0.7355,-31,-0.1,-107.98,-743.46,4.7721,1.2383,4.4144,-14.743,-16.178,-1,-29.377,-8.7546,-1.76,2.65,-15.89,21.11,2.686,11,1
-1.1094,1.3512,-27,-5.9,-97.98,-888.82,4.7719,-0.8833,7.0048,-41.996,-25.473,0,-17.197,-31.864,2.96,-12.92,-21.625,-4.66,4.1161,14,1
--1.4081,1.8088,-31,-9.3,-136.74,-1328.7,1.1313,0.0424,-4.1399,-32.274,-52.24,-2,-27.806,-12.526,-3.62,-15.85,-45.155,-2.67,-0.0026,30,1
-0.7293,0.5405,-28,-7.6,-81.77,-570.7,5.5366,1.4824,4.0616,-11.9,-20.125,3,-23.156,-21.122,11.36,-17.02,-16.08,-2.51,5.5851,-2,1
--0.7754,0.5601,-34,-9.8,-117.32,-1105,0.4056,-5.0222,0.3895,-28.341,-48.514,-1,-25.125,-62.366,-9.16,-30.78,-47.505,-15.25,2.4776,21,1
--0.2105,1.6703,-33,-7.4,-135.79,-1423.7,0.7714,-9.5638,5.6773,-27.594,-45.88,-1,-31.773,-64.013,-7.58,-44.365,-40.595,-7.96,1.8587,27,1
-2.6412,1.3082,-27,-7.5,-106.32,-1008.6,4.7201,-3.3392,6.7248,-36.656,-28.285,-2,-24.145,-31.428,-1.5,-14.775,-19.605,0.67,4.21,14,1
-4.0957,1.4835,-26,5.8,-56.66,-382.95,8.1737,1.4824,6.6937,-4.2562,-6.2702,-1,-19.871,-16.732,7.82,11.175,-14.75,8.57,5.1382,5,1
-1.1327,0.9298,-29,-11.2,-116.51,-895.19,3.4036,-5.2886,3.2774,-44.043,-39.608,0,-26.967,-98.514,-2.22,-30.535,-26.78,-4.39,2.7196,19,1
--1.8729,1.4669,-32,-9.6,-123.99,-828.43,1.4457,-9.1087,9.1194,-30.097,-53.202,-1,-27.773,-61.225,-5.42,-25.325,-35.38,-10.3,2.226,26,1
-0.4044,1.1556,-30,-13.3,-128.14,-1136.8,3.1815,-7.5685,5.5724,-42.201,-50.893,-3,-24.384,-47.486,-6.3,-30.69,-49.835,2.77,1.1502,24,1
--0.7448,0.639,-33,-4.3,-121.87,-1240.2,2.574,-11.96,-1.4605,-23.163,-41.738,0,-26.078,-65.459,-3.46,-43.665,-47.125,0.36,1.5793,11,1
-0.8023,0.7808,-27,1.3,-58.93,-554.54,6.9034,0.8395,4.1663,-28.704,-10.313,0,-27.7,-9.6657,9.48,-4.52,-23.025,14.76,3.9873,4,1
-1.7673,1.2156,-30,-8,-120.83,-828.32,1.9061,-7.8605,2.0124,-39.116,-38.007,0,-27.648,-50.603,-12.5,-25.8,-38.415,-0.7,3.2387,17,1
-1.8988,0.9923,-24,11.8,-29.83,68.383,9.0191,1.4824,4.0301,3.447,-12.037,1,-18.561,6.9544,8.08,27.805,-11.1,11.61,4.8154,19,1
-2.5278,0.9518,-35,-16.5,-143.58,-1526.7,2.5784,-6.7533,3.0118,-46.435,-42.643,-2,-25.39,-59.556,-10,-33.85,-47.035,-9.88,-0.3707,19,1
--0.1486,1.5804,-31,-24.6,-137.64,-1385.6,1.4369,-13.38,-0.7922,-43.76,-46.007,0,-27.112,-108.33,-3.48,-42.39,-45.9,11.64,-0.6424,25,1
-1.8747,0.7732,-29,-4.7,-111.78,-731.43,0.4383,-4.6686,0.5309,-38.068,-41.171,0,-26.088,-62.651,4.22,-20.92,-37.825,2.34,5.3384,8,1
--0.7288,0.5658,-34,6.1,-50.14,-559.67,7.7317,0.0739,9.185,-23.551,-19.874,-1,-23.339,-23.293,5.48,-2.755,-28.885,7.14,6.5603,1,1
-1.8889,1.7853,-28,-0.6,-92.47,-719.45,6.9754,-3.2211,5.7815,-23.144,-31.56,0,-26.266,-35.783,-4.64,-44.71,-33.765,-2.62,3.5151,-1,1
--0.4634,1.702,-35,-10.4,-134.3,-1425,-0.2107,-10.059,2.4035,-42.458,-43.847,-1,-29.443,-101.57,-15.32,-45.225,-51.025,-15.79,1.6386,34,1
-2.1242,1.0001,-27,-1.5,-85.01,-753.81,5.8026,0.4733,7.3244,-28.602,-22.096,-1,-25.72,-5.058,1.96,-2.715,-36.435,6.23,4.0664,4,1
-1.4795,1.0827,-35,-1.8,-99.92,-933.37,7.8499,-5.3575,11.946,-44.906,-33.511,-1,-19.525,-48.865,6.06,-21.995,-52.43,-12.98,2.7514,0,1
-6.6792,1.5586,-18,24.4,47.45,294.14,12.673,1.4824,11.429,-20.877,9.784,-2,-10.555,-1.3516,16.88,22.02,-1.52,14.92,5.8887,36,1
-0.7271,1.8087,-28,-17.5,-92.5,-1086.1,5.891,-3.8282,7.6656,-26.982,-29.891,-2,-28.352,-36.085,0.58,-25.95,-36.68,17.58,2.7478,11,1
-1.1457,0.8567,-26,-1.5,-57.65,-555.82,10.479,1.1197,8.3506,-45.787,-37.372,0,-28.038,-52.145,13.92,-13.785,-33.635,6.24,6.8386,3,1
-1.4868,0.9839,-33,-1.6,-107.99,-1042.5,2.3237,-5.4779,5.3942,-14.712,-44.346,-2,-30.145,-59.196,-3.46,-17.68,-40.37,1.35,-0.6132,14,1
-0.8029,1.1035,-30,-6.7,-101.64,-918.66,4.027,-1.158,7.6844,-46.593,-45.14,1,-27.638,-12.601,-1.1,-18.535,-30.51,14.92,1.0225,13,1
-2.342,1.0229,-32,-1.6,-109.54,-1264.5,2.6851,-5.5045,-4.5807,5.7372,-46.83,0,-31.301,-84.268,-5.6,-19.8,-37.915,-0.79,5.9669,11,1
-0.557,1.0901,-32,2.9,-65.78,-1081.8,6.9827,-0.4817,5.9995,-22.942,-18.959,-1,-27.982,-32.152,0.86,-18.485,-20.91,9.11,6.358,-5,1
-2.3725,0.6815,-27,1.4,-32.66,-196.56,7.1425,1.4824,8.2841,-29.82,-11.941,0,-16.623,-18.784,-4.02,-0.14,-8.655,15.44,7.1684,12,1
-1.5147,1.5999,-30,9.5,-48.64,-552.72,6.8646,-2.7514,9.765,-32.567,-26.009,-1,-21.244,-42.178,-4.38,-14.655,-35.8,-8.5,3.5578,-3,1
--0.3317,1.3802,-34,-13.7,-127.13,-1367.6,6.5921,-8.1414,5.5851,-39.116,-57.594,-1,-28.082,-71.284,-10,-31.655,-50.68,-5.12,1.2048,39,1
--1.1641,0.8713,-32,-3.2,-63.59,-1134.5,6.1865,-2.5577,5.6085,-15.589,-22.17,-1,-26.895,-26.581,2.8,-10.06,-35.125,10.55,3.3264,-2,1
-0.7435,0.9711,-31,-9.5,-105.94,-1363.1,7.3929,-2.7787,10.949,-17.678,-37.544,-1,-33.17,-40.01,-1.44,-2.715,-35.09,19.15,2.1455,1,1
--0.354,0.8922,-29,-10.1,-112.32,-1702.2,4.7436,-7.0694,3.5218,-37.496,-33.784,-2,-31.103,-59.42,1.56,-26.665,-33.93,11.7,-0.5818,28,1
--0.7507,0.8277,-35,-9.5,-115.37,-2026,3.3396,-10.648,6.6851,-59.804,-65.411,-2,-33.355,-86.011,-14.72,-57.215,-61.76,11.78,0.2116,21,1
-2.0767,2.2372,-25,-16,-93.8,-1335,4.112,-4.4091,10.225,-36.891,-17.321,-1,-23.103,-39.24,-2.02,-30.985,-33.34,-7.69,2.8241,8,1
-0.93,0.8774,-32,-11.5,-95.16,-1282.4,10.835,-2.6252,13.781,-46.452,-26.944,-1,-31.499,-72.292,-1.74,-35.625,-46.92,5.16,2.7656,2,1
-2.3413,1.0068,-29,5.2,-34.87,-756.01,9.8173,0.1274,12.582,-5.7984,-14.04,-1,-28.321,-13.525,-6.98,-11.885,-30.555,14.51,3.1936,1,1
-5.3116,1.3186,-30,-20.5,-137.94,-2255.3,2.3667,-4.8903,5.9422,-41.092,-40.092,-1,-33.87,-28.549,-6.8,-52.645,-43.645,25.56,1.1832,38,1
-0.2762,0.4498,-33,-14.5,-108.06,-1848.7,3.3279,-4.7404,8.3787,-69.738,-45.989,-2,-20.988,-87.26,5.26,-41.045,-46.53,2.92,0.2006,17,1
-2.6989,0.598,-31,4.7,-53.9,-1143.3,6.2035,1.4824,7.8174,-26.478,-22.425,1,-30.92,-32.458,-3.9,2.93,-15.52,15.57,4.1657,-5,1
-0.9696,1.2823,-33,-7.7,-107.83,-1569.3,9.468,-5.1437,11.161,-42.573,-10.107,-1,-35.1,-30.826,-5.34,-31.455,-39.03,20.58,2.4094,-2,1
-0.3947,1.4294,-32,6.7,-43.7,-495.1,8.6997,-1.4369,9.1656,-48.46,-23.065,-1,-22.626,-51.051,2.96,-13.63,-22.115,12.86,4.1136,1,1
-1.4745,0.9255,-28,10.5,-30.65,-628.39,7.4349,0.9744,9.656,-20.707,8.5243,-2,-23.716,-39.216,-1.58,1.905,-34.86,-3.28,8.4669,9,1
-6.5909,1.0706,-15,13.9,38.43,406.26,14.123,1.4824,14.326,-17.738,8.3534,-1,-15.374,14.628,6.96,33.225,1.11,38.47,1.2805,33,1
-3.1645,0.9853,-28,7.7,-44.74,-458.45,8.047,-0.5928,7.6404,-14.249,-8.9547,-1,-25.917,-17.516,9.1,-17.57,-25.01,6.23,5.9053,5,1
-4.1646,1.5478,-28,14.8,-1.52,-191.59,10.129,0.0783,9.7184,-26.732,-11.686,-1,-24.681,11.492,5.12,31.78,-10.33,25.58,3.6181,22,1
--0.7488,0.5892,-35,-12.2,-127.87,-1476.8,1.4949,-11.7,4.3948,-55.538,-51.471,-1,-27.584,-90.863,-8.06,-36.26,-47.28,1.62,1.1274,20,1
-0.8797,0.5325,-27,16.9,3.3499,-211.69,12.484,-1.3141,10.333,-35.416,-21.007,0,-21.699,-49.996,-2.66,2.625,-27.605,17.69,8.3558,25,1
--0.8361,0.5906,-35,-9.9,-123.2,-1535.6,1.7498,-9.412,4.8324,-61.991,-45.081,-1,-28.325,-85.874,-10.38,-36.53,-51.315,-4.12,1.5208,28,1
-2.2084,1.0435,-28,9.6,-31.91,-411.89,8.2212,-2.486,10.06,-12.099,-19.974,-2,-26.485,-65.628,6.5,-4.76,-28.235,15.52,8.6732,8,1
-4.4148,0.9991,-30,3.7,-68.87,-1206.7,3.3586,0.7431,3.2636,-16.368,-31.475,1,-21.433,-48.328,9.7,-7.86,-22.505,9.06,4.0807,0,1
-1.1833,0.401,-25,16.8,24.4,444.6,10.713,1.4824,12.088,-8.3029,5.3729,-1,-4.8259,29.083,1.28,29.155,4.84,20.41,6.6255,28,1
-2.8325,0.6072,-24,17.8,26.19,235.89,12.449,1.4824,14.83,-14.069,10.695,0,-5.7681,-16.605,7.66,50.47,12.925,17.65,5.8149,26,1
-2.1059,0.2309,-30,7.2,-40.71,-417.97,9.3074,-0.3312,10.429,7.6752,1.0851,-3,-27.719,-22.086,2.32,9.235,-31.065,6.76,9.4235,13,1
-1.8566,0.3374,-27,5.4,-16.23,-946.91,9.1611,1.4824,9.56,6.0396,2.6666,-3,-29.97,-26.677,-2.38,22.625,-18.295,10.87,7.0294,23,1
-0.7492,1.4426,-30,-10.9,-97.48,-2006.9,0.7693,-4.5122,-1.5852,-48.659,-45.775,-2,-31.422,-80.639,-4.92,-31.105,-42.985,16.99,2.5741,29,1
-2.5505,1.3358,-27,23.7,36.96,195.31,11.654,1.4824,13.852,0.4488,-1.2445,0,-12.339,-24.181,14.58,30.105,2.41,4.32,9.5225,43,1
-3.4356,0.6422,-28,-2.1,-68.77,-1102.9,6.087,-1.174,9.7045,-35.508,-15.079,-2,-20.445,-53.995,-4.22,-9.68,-29.775,20.45,1.1753,1,1
-3.4862,0.1746,-8,-12.6,-48.05,-74.518,-5.3072,0,-0.6322,14.706,4.6319,-1,-5.1945,-10.268,-13.8,-18.11,-2.625,-9.7,0.0399,-11,0
--0.3676,-0.2173,-10,-6.8,-32.34,-0.9819,0.9052,0,0.0838,-14.582,-12.115,-1,-4.8052,-17.971,-2.6,-8.675,3.08,2.72,0.9096,2,0
--2.9725,-0.1864,-10,3.5,-18.06,-201.27,-0.2041,-0.7718,-6.5644,-3.6292,6.236,0,-0.9567,-19.365,1.22,-21.67,-2.095,-10.77,3.2386,-3,0
--1.0782,-0.9211,-15,9.9,-32.5,66.893,-2.0621,0.4656,-5.0036,4.7368,-12.816,-1,-6.9044,-25.562,-4.96,-4.01,-5.72,3.34,-1.2652,1,0
--1.0909,-0.5715,5,-7.3,8.91,-68.128,-0.165,0,-0.6685,2.8252,0.7556,0,5.4677,-0.7137,-0.36,27.4,6.28,-4.9,-1.731,2,0
--3.4605,0.0551,1,1.6,12.94,24.999,0.3024,-1.5268,0.1074,-6.5458,-2.9034,0,6.3289,-21.293,-3.62,-9.2,-6.58,15.09,-2.2107,0,0
--1.8749,-0.3781,2,5.8,-8.01,160.89,1.9987,0.3556,2.7987,12.732,29.8,0,0.397,14.937,-1.98,12.97,-5.265,-1.96,-0.9508,-10,0
--0.4351,-0.0218,-1,-10.2,-36.79,42.771,-0.9073,-0.7847,2.7743,7.0714,-21.042,1,3.2896,-17.397,4.68,5.12,4.69,23.36,-0.3484,0,0
--4.1842,-0.3557,0,7.1,13.91,0.4993,1.0964,0,-2.3262,16.272,22.181,0,-12.091,20.232,-14.28,-41.79,-11.95,0.99,0.3486,10,0
--0.6262,-0.4288,-12,-1,-61.44,-257.57,-2.1255,-1.3316,-2.6457,-31.412,-46.956,1,17.18,-15.719,-13.9,-11.3,-5.865,-17.93,-1.6324,-6,0
--1.332,-0.5399,6,-11.5,-7.1,-41.538,-0.4827,0.1494,2.6331,13.711,-20.669,1,-2.307,-16.457,-5.3,-21.65,3.57,6.82,-1.4101,-6,0
--1.6958,-0.7626,-2,-1.3,7.44,-55.053,-3.5045,0,-1.0209,15.674,-1.2966,-1,16.86,-31.013,0.6,4.605,5.545,-5.47,0.8982,-5,0
--0.0787,0.2757,13,1,4.27,343.25,-2.0803,0,-2.8537,8.62,3.7163,1,12.388,-14.062,4.04,-13.77,7.14,2.75,-3.134,-8,0
-0.1416,-0.4767,7,1.4,-23.78,-112.34,-3.1565,-0.8596,-1.7805,-3.6153,14.877,0,11.929,14.547,13.26,-14.61,-11.225,-7.78,1.0172,1,0
--0.3773,-0.4136,14,20.9,102.66,743.85,2.0291,1.5559,3.7556,5.213,4.6018,1,19.047,19.608,19.04,20.73,21.65,-1.32,-0.4022,-19,0
-2.0531,0.0385,7,-6.2,63.11,394.38,4.4831,2.885,0.4374,0.2749,15.546,1,9.1675,27.094,1.68,23.215,18.04,10.11,-0.2161,-28,0
--3.8506,-0.7662,-2,3,20.07,-10.245,-2.0804,0,-4.5403,-7.8082,-9.865,0,-8.182,0.9211,-8.46,-20.57,-9.3,-0.17,-0.8073,9,0
-1.4175,-0.4121,13,17.9,117.4,152.96,3.5837,0,-0.4375,16.048,38.233,-1,15.851,11.808,16.46,25.245,8.745,14.04,0.2548,-6,0
-1.6578,-1.0411,11,4.4,81.04,677.12,2.0941,1.2306,-9.0836,5.9275,38.882,0,-1.1144,2.4944,17.62,9.25,16.585,-0.72,1.4226,-30,0
--0.8741,-1.2292,23,6.3,90.55,573.34,3.1514,5.5855,-2.4027,22.941,50.403,0,18.693,29.234,16.22,11.88,29.41,9.64,-1.5077,-22,0
-0.6689,0.1837,2,-1.9,10.22,176.41,-1.2294,0,-1.7885,-16.553,-2.9748,0,9.304,10.097,-4.32,-7.325,-6.375,13.96,-0.1116,25,0
--3.1785,-0.7979,8,5.3,34.19,372.04,-6.0028,-0.8522,-4.572,0.1424,-4.7414,0,7.019,-7.6751,7.66,12.335,-7.525,-6.19,0.6324,8,0
-0.1935,0.0645,17,10.3,108.43,665.73,-0.6215,1.8146,-0.8679,8.6554,15.245,1,10.75,-3.1035,13.3,56.3,15.975,3.48,-1.072,-24,0
-1.1265,-0.2109,6,12.9,53.16,502.59,-0.9788,0.5189,0.7177,-6.4315,-2.581,-1,13.497,-17.557,5.62,23.045,18.215,-0.87,1.6711,-14,0
-2.6202,0.0502,18,11.5,99.65,684.55,5.2292,5.2,-1.2227,19.292,43.064,1,14.376,35.591,1.92,30.75,18.59,12.7,-1.0638,-15,0
--0.3996,0.6652,-3,-10.9,-52.07,-425.16,-5.2395,-1.8316,2.3257,12.341,-6.28,1,-0.8908,-7.2052,-0.14,-16.215,-15.045,3.76,-5.845,-3,0
--1.2146,-0.1562,0,-11.1,-43.07,-42.304,-3.8704,-1.6765,-6.9442,-29.807,-29.944,1,-4.2266,-7.1142,-1.18,-7.375,-25.105,0.21,-4.8401,-22,0
-1.1331,-0.0848,21,13.6,104.98,1006.2,-3.0562,-0.2544,-5.3096,5.8857,21.905,2,18.976,0.067,7.34,5.99,25.795,-5.3,2.0709,-11,0
--1.4189,-0.5594,-5,0.9,-15.16,-276.32,-6.2921,0,-3.7369,0.0174,-2.9684,-2,-0.7182,-18.408,2.1,21.28,-8.01,-9.24,-2.079,-17,0
--2.3505,-0.1837,18,2.7,33.84,212.93,-4.3896,0,-4.6099,-0.7624,6.0078,-1,12.642,0.1907,-0.42,5.38,-8.29,1.59,-2.7518,0,0
--0.9639,-0.6035,15,17.7,82.64,849.54,1.7272,2.3738,-2.3887,-4.4992,31.715,-1,18.632,-4.4991,13,8.955,12.725,-19.04,0.218,-24,0
-0.441,-0.0961,18,18.6,103.93,475.82,0.2604,0,-6.1277,9.1058,30.272,0,14.679,-17.655,3.72,16.415,14.515,-6.13,2.1178,6,0
--5.0243,-0.353,0,6,9.56,100.02,-3.9416,0,-5.7387,4.149,0.2295,1,13.572,-18.385,-2.54,6.235,-5.3,-0.49,3.7035,5,0
-3.1308,-0.3487,17,4.7,71.5,706.17,-0.107,-0.2803,-4.6389,5.9583,13.065,-2,13.779,9.6907,16.16,19.79,43.07,-4.23,1.2416,7,0
--2.4579,-0.9836,0,1.4,-17.5,229.79,-0.7706,0.1014,-5.4713,-10.526,23.418,0,12.811,25.813,1.24,-5.725,11.85,-1.6,-0.957,9,0
-2.4118,0.5057,17,16,98.48,687,-1.6138,-0.7698,-0.3736,15.889,10.088,-1,15.059,-11.309,0.36,41.925,22.985,-9.18,2.6275,-11,0
-1.6267,-0.3284,20,15.3,112.27,671.23,-3.7014,-0.9854,-8.011,-3.2974,24.537,1,7.3287,21.034,-6.48,16.83,7.555,-6.71,0.4539,12,0
--4.585,-1.469,23,13.1,104.92,933.26,0.985,1.0151,5.3524,38.66,28.458,1,23.308,15.093,17.4,-7.325,20.315,-9.32,-3.6509,-37,0
--0.1197,-0.1244,14,13.6,119.75,1149.9,2.1807,0.9193,-1.667,16.484,29.802,0,20.632,21.678,13.44,37.16,35.415,11.93,-0.9334,-37,0
--3.9914,-1.5122,18,1.3,78.49,540.51,-2.9803,0.066,-5.9709,4.8128,4.7893,-1,17.733,13.755,5.42,5.565,30.09,2.83,-4.8082,4,0
--3.5669,-0.4114,19,11.8,84.35,749.12,-3.8668,1.9631,3.2414,25.695,28.835,1,30.208,34.002,14.78,46.875,24.84,8.1,-1.7294,-7,0
--2.3439,-0.9648,19,12.4,59.55,1088.7,-5.7986,0,-3.3901,52.88,10.315,-1,20.895,27.058,2.26,43.29,48.155,8.86,-4.0497,-9,0
-1.1589,-1.3414,21,19.9,129.64,1246.6,-0.9746,0.4391,-6.0951,38.96,34.552,-1,29.481,18.786,-2.78,41.475,35.315,12.25,-1.6143,-31,0
-0.6615,-0.2649,11,16.8,78.6,1318.9,2.8807,10.923,-4.9734,24.287,22.977,1,27.548,50.433,0.14,21.125,38.81,23.82,0.8646,-30,0
--0.4895,-0.3337,15,13.2,86.32,1233.5,0.2764,7.9095,-1.3062,9.9493,32.64,1,19.327,46.547,10,27.785,36.2,-0.77,-1.3813,-31,0
-0.2292,-0.4542,25,15.4,150.8,1247.2,-3.0521,7.7377,-2.0409,9.487,37.543,1,26.782,50.208,8.24,54.72,36.6,-5.19,-0.4068,-29,0
-1.6379,-0.7966,17,14.6,109.99,944.97,-0.7561,8.8347,1.1206,35.933,32.824,0,15.993,58.046,24,61.11,51.965,5.07,0.2381,-14,0
-0.1187,-0.2747,18,18,127.81,893.11,-1.4677,9.0536,1.0921,16.433,39.669,0,20.152,44.673,9.6,72.29,49.515,1.61,-0.1294,-19,0
-1.1466,-0.4458,22,16.4,127.64,1072.2,0.2468,5.9371,1.4096,36.486,41.731,1,24.252,43.45,8.74,47.65,38.035,9.34,-2.4901,-16,0
-1.3439,0.4077,14,17.9,83.27,1017.5,1.4441,12.092,-7.8175,22.07,31.595,1,21.261,68.242,7.96,37.33,30.725,15.28,-3.2322,-18,0
-1.5881,-0.023,24,6.8,108.42,1255.7,2.0539,12.079,1.7954,21.008,33.312,0,27.819,22.083,15.94,71.565,49.805,3.94,0.3416,-12,0
--0.5451,-0.3838,11,10.4,27.09,1251.5,-3.356,6.011,-3.6451,18.315,19.351,1,18.741,13.196,1.74,32.595,35.57,-8.4,-2.9955,-8,0
-0.7695,0.4782,22,23.2,106.64,1257.2,2.379,12.152,-0.8769,26.707,44.425,1,26.464,89.575,14.62,76.495,57.43,3.89,3.2465,-31,0
-1.0457,-0.4217,26,24.4,140.88,1360.9,5.0728,15.989,0.0271,46.87,46.006,1,28.068,87.243,15.68,63.535,45.275,2.22,-0.0469,-18,0
-0.5935,-0.2154,19,10.6,128.94,1332.4,-2.3216,7.7275,-6.553,43.764,44.597,0,23.781,43.157,14.16,30.875,45.57,19.62,0.2342,-13,0
-1.0089,0.4372,8,-10,8.35,166.81,-1.2155,-0.6074,-3.9747,13.424,19.893,0,17.165,-3.5457,12.52,8.295,15.755,-13.94,-0.9451,7,0
--0.6728,0.6185,4,7.1,23.56,854.2,-6.5024,2.3275,-3.9966,-4.5043,14.072,0,14.162,6.7413,6.16,-10.275,18.51,-20.3,2.2555,-4,0
-0.2932,0.3091,17,0.3,57.77,924.84,-2.0703,8.3973,-4.4687,21.281,31.406,1,25.211,83.786,15.2,42.195,48.845,6.23,-2.2675,-5,0
--2.2496,-0.5768,14,2.9,81.61,970.59,2.2783,5.8876,-7.6745,36.94,42.605,1,22.909,47.017,17.1,28.875,39.285,19.45,-5.004,-13,0
--0.6846,0.0665,14,3.2,43.32,143.79,-5.6265,-0.228,-10.363,15.25,12.362,-1,14.783,-13.515,-4.88,4.66,1.97,0.6,-3.4167,-4,0
--1.5349,-0.5047,10,-12.2,12.26,476.02,-4.4551,0,-7.213,7.56,2.4955,0,18.81,-13.185,-11,9.86,-12.555,-3.63,-2.4305,-7,0
-1.6135,-0.0363,11,20.4,79.59,1122.2,-5.1959,4.126,-8.1385,17.359,38.256,1,27.597,30.994,7.4,45.4,21.015,0.19,-1.5594,-6,0
--1.4288,-0.0842,15,-12.6,-14.53,-404.6,-8.0478,0,-6.0095,1.0983,-9.0385,0,8.9141,-3.2513,-11.96,-18.935,-5.625,-21,-6.9622,-35,0
--2.4997,0.4783,11,-13.1,-20.86,14.97,-4.3023,-0.3492,-11.173,12.465,-35.27,-2,21.641,-19.664,9.12,2.92,9.735,-15.84,-2.6563,-15,0
-0.9485,-0.8661,16,-1.8,62.95,797.89,-8.865,3.363,-9.7992,6.3969,16.957,1,23.67,41.688,7.18,12.84,42.375,-1.96,-3.8611,-24,0
-5.2846,0.3268,23,9.3,118.83,1108.2,-3.979,11.373,-9.081,32.458,20.719,1,26.32,57.565,25.28,52.915,51.795,-5.34,-1.479,-28,0
-2.4184,-0.5566,14,20.7,95.2,915.5,-4.5961,5.3418,-7.4953,46.78,24.394,1,25.956,56.735,7.72,45.92,42.87,-19.03,1.3906,-12,0
-0.3014,-0.9905,16,-0.6,58.36,1144,-0.7597,1.3387,-3.9724,26.433,36.047,0,19.916,51.378,2.9,12.405,26.275,-10.19,-1.3893,-2,0
-1.1567,-0.2346,17,30.7,90.33,1419.6,-1.315,9.7852,-7.1095,34.57,38.616,1,25.886,57.513,24.38,17.12,65.8,2.25,0.7244,-27,0
-1.9164,-0.4689,19,18.7,143.69,1638.6,-0.3506,9.8065,-1.902,19.994,28.147,1,26.699,12.644,3.68,32.7,32.96,-3.73,2.7922,-36,0
-1.9474,-1.9588,26,29.8,156.44,1885.6,1.7485,12.592,-4.1963,17.719,45.104,0,29.739,82.289,17,62.15,41.805,-13.57,1.4464,-48,0
--2.3955,-0.6484,18,-9.9,31.43,80.382,-8.5668,0,-6.492,16.744,18.516,1,28.644,6.1975,4.02,14.075,17.985,1.74,-4.801,-4,0
-0.617,-0.4319,18,25.8,114.88,1610.3,-1.2265,4.186,-2.0426,-12.175,20.392,2,29.504,27.52,1.3,25.9,34.79,4.45,0.7052,0,0
--1.2444,-0.847,16,0,59.22,683.42,-6.6487,5.7093,-8.4103,21.056,-8.8204,1,27.943,32.765,6.46,44.705,19.08,-16.57,-6.5569,9,0
--0.9783,-0.3879,9,15.2,47.21,616.85,-1.0177,8.2767,-0.936,12.868,21.533,1,19.428,71.4,0.18,21.525,20.015,-7.5,-5.1621,-10,0
-1.5212,-0.2883,11,7,64.6,1084.1,-7.6676,6.8626,-0.3869,21.919,13.739,0,22.583,20.488,-0.52,56.77,31.025,-10.31,0.279,-27,0
-3.3057,-0.142,18,12.1,106.08,1116.2,-4.1273,5.8044,-2.713,5.7544,9.0847,0,29.761,48.967,2.74,29.22,43.22,-0.46,-0.225,-13,0
-1.7009,-0.0784,8,12.8,55.05,1090.6,-2.6234,7.3893,-7.4988,43.095,37.268,0,23.837,63.418,17.18,57.995,47.045,7.12,-1.8289,-22,0
--0.2017,-0.6586,10,10.5,58.85,922.75,-3.8479,5.3548,-8.7132,15.048,23.586,-1,19.891,7.071,-4.9,18.82,36.335,-7.33,1.1111,7,0
--0.8401,-0.899,24,26.2,157.98,1698.3,1.0627,7.9418,-3.3913,3.8029,47.355,0,25.902,16.341,7.82,67.535,43.08,-22.66,2.5823,-48,0
-1.9065,-0.1575,24,-8.5,59.85,577,-6.8442,-0.4728,-1.5632,19.76,13.641,-2,32.432,34.894,-0.9,52.775,23.125,-24,-8.2289,-18,0
-4.0436,-0.1779,16,6.3,53.02,2063.1,0.4277,12.58,-4.546,47.126,40.201,1,31.759,61.439,9.7,47.555,52.51,-4.87,0.0659,-23,0
-0.1026,-0.0945,6,14.9,18.66,1382.4,-5.3173,6.7262,-7.1129,21.258,6.9558,1,28.86,18.518,10.52,29.58,27.365,-28.09,0.0057,0,0
--3.8549,0.0657,16,-2,-2.88,310.4,-6.6109,0,-13.361,45.486,-3.7291,0,14.135,-7.2295,-3.6,-7.63,12.495,-7.89,-3.1142,-11,0
-1.6878,0.3138,26,16.3,104,1848.4,-0.5485,9.1603,-3.3124,54.779,64.369,-1,29.399,92.02,25.16,58.875,53.995,-15.16,-0.5755,-7,0
--2.5046,-0.2948,12,4,4.6001,944.78,-3.4152,2.0648,-4.3948,-13.142,32.818,-1,31.621,2.925,18.18,5.52,22.705,-1.53,-1.7848,-2,0
-1.3379,-1.4972,31,-5.4,105.86,506.81,3.5891,13.123,-3.4572,26.884,50.669,3,22.967,56.845,16.74,54.435,45.72,2.93,-0.8295,-16,0
-2.9458,-0.4059,27,19.2,132.94,1466.8,-2.0312,11.315,-7.1218,63.938,47.036,1,30.939,47.839,12.48,68.61,46.135,2.62,-1.0866,-12,0
-0.7181,-0.6681,17,18.6,107.84,1505.5,3.0394,11.278,-1.5126,35.886,45.799,1,19.217,82.535,20.48,52.45,46.795,0.45,0.2042,-23,0
--0.0977,0.6092,10,-32,-55.34,-594.72,-7.2615,-0.4144,-12.755,-9.818,6.1117,0,6.7085,8.9224,1.1,-12.275,-0.585,-22.24,0.7999,-15,0
--0.6037,-0.4235,21,18.6,137.71,1506.4,-0.9627,11.03,-2.7523,47.119,58.999,1,21.233,74.764,21.96,72.49,54.675,-10.04,1.916,-12,0
--2.9211,0.0144,5,-26.6,-89.38,-68.479,-10.38,0,-11.584,6.1355,-13.547,-1,25.748,-27.403,2.12,-4.875,16.35,-19.04,-4.6781,-45,0
-0.8085,-0.1135,1,-7.8,-17.53,132.51,-8.9752,0,-8.362,5.3134,-27.054,1,24.445,1.3176,9.24,16.62,15.005,-14.95,-2.9307,-30,0
--1.5869,-0.7415,21,-5.9,18.99,761.61,-5.0233,0.6843,-12.187,19.223,1.8359,2,19.574,37.13,2.76,19.01,6.165,-2.66,-6.453,-5,0
--4.7617,-0.0465,7,7.2,-22.3,315.14,-13.297,-0.4815,-15.752,26.744,2.8514,2,6.5229,-49.112,-1.04,6.775,6.93,-37.69,-0.8049,-6,0
-0.8557,-0.6778,13,-15.2,-11.77,62.264,-8.8268,0.4082,-9.0521,10.889,8.6088,2,23.601,6.6705,13.12,-8.24,20.15,-22.61,-5.4804,-17,0
-0.2314,-0.8974,11,-14.5,-54.4,560.32,-9.4867,-1.0779,-10.009,-33.122,-21.062,1,18.475,17.681,-10.64,-12.39,47.12,-16.84,-4.5213,-42,0
--0.2776,-0.1825,25,-18.2,40.34,300.78,-8.1996,0.2114,-15.479,37.373,-3.5849,0,13.603,30.217,7.94,0.755,11.825,-7.79,-5.7419,2,0
--1.0254,-0.607,6,10.4,-21.57,845.36,-1.7928,4.488,-4.6268,37.708,29.412,1,21.242,61.839,8.22,5.245,33.545,-24.46,-4.4331,6,0
-1.4261,-1.0991,13,18.9,85.22,1821,5.3641,11.771,-1.4539,33.562,61.001,2,25.352,83.064,16.7,18.385,38.585,-0.7,-2.1668,-47,0

Modified: mlpack/trunk/src/mlpack/methods/regression/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/methods/regression/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/regression/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -17,14 +17,6 @@
 # the parent scope).
 set(MLPACK_SRCS ${MLPACK_SRCS} ${DIR_SRCS} PARENT_SCOPE)
 
-add_executable(ridge_regression_test
-  ridge_regression_test.cc
-)
-target_link_libraries(ridge_regression_test
-  mlpack
-  boost_unit_test_framework
-)
-
 add_executable(ridge_regression
   ridge_main.cc
 )

Deleted: mlpack/trunk/src/mlpack/methods/regression/ridge_regression_test.cc
===================================================================
--- mlpack/trunk/src/mlpack/methods/regression/ridge_regression_test.cc	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/regression/ridge_regression_test.cc	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,89 +0,0 @@
-/*
- * =====================================================================================
- *
- *       Filename:  ridge_regression_test.cc
- *
- *    Description:
- *
- *        Version:  1.0
- *        Created:  02/15/2009 01:34:25 PM EST
- *       Revision:  none
- *       Compiler:  gcc
- *
- *         Author:  Nikolaos Vasiloglou (NV), nvasil at ieee.org
- *        Company:  Georgia Tech Fastlab-ESP Lab
- *
- * =====================================================================================
- */
-#include <mlpack/core.h>
-#include "ridge_regression.h"
-#include "ridge_regression_util.h"
-
-#include <iostream>
-
-#define BOOST_TEST_MODULE RidgeRegressionTest
-#include <boost/test/unit_test.hpp>
-
-using namespace mlpack;
-using namespace regression;
-
-/*
-BOOST_AUTO_TEST_CASE(TestSVDNormalEquationRegressVersusSVDRegress) {
-
-  arma::mat predictors_ = "1.2 4.2 2.1 0.3 4.2;"
-                          "3.1 1.1 4.7 1.8 0.4;"
-                          "2.5 3.3 9.1 7.4 0.1";
-  arma::mat predictions_ = "0.4 0.33 0.8 1.4 3.3";
-  arma::mat true_factors_ = "0; 0; 0";
-
-  RidgeRegression engine_(predictors_, predictions_, true);
-  engine_.SVDRegress(0);
-  RidgeRegression svd_engine(predictors_, predictions_, false);
-  svd_engine.SVDRegress(0);
-  arma::mat factors, svd_factors;
-
-  engine_.factors(&factors);
-  svd_engine.factors(&svd_factors);
-
-  for(size_t i=0; i<factors.n_rows; i++) {
-    BOOST_REQUIRE_CLOSE(factors(i, 0), svd_factors(i, 0), 1e-5);
-  }
-}
-*/
-
-BOOST_AUTO_TEST_CASE(TestVIFBasedFeatureSelection) {
-  // Craft a synthetic dataset in which the third dimension is
-  // completely dependent on the first and the second.
-  arma::mat synthetic_data;
-  arma::mat synthetic_data_target_training_values;
-  synthetic_data.zeros(4, 5);
-  synthetic_data_target_training_values.zeros(1, 5);
-  for(size_t i = 0; i < 5; i++) {
-    synthetic_data(0, i) = i;
-    synthetic_data(1, i) = 3 * i + 1;
-    synthetic_data(2, i) = 4;
-    synthetic_data(3, i) = 5;
-    synthetic_data_target_training_values(0, i) = i;
-  }
-  arma::Col<size_t> predictor_indices;
-  arma::Col<size_t> prune_predictor_indices;
-  arma::Col<size_t> output_predictor_indices;
-  predictor_indices.zeros(4);
-  predictor_indices[0] = 0;
-  predictor_indices[1] = 1;
-  predictor_indices[2] = 2;
-  predictor_indices[3] = 3;
-  prune_predictor_indices = predictor_indices;
-  RidgeRegression engine_(synthetic_data, predictor_indices,
-                          synthetic_data_target_training_values);
-  engine_.FeatureSelectedRegression(predictor_indices,
-                                    prune_predictor_indices,
-                                    synthetic_data_target_training_values,
-                                    &output_predictor_indices);
-  std::cout << "Output indices: ";
-  for(size_t i = 0; i < output_predictor_indices.n_elem; i++) {
-    std::cout << output_predictor_indices[i] << ' ';
-  }
-  std::cout << std::endl;
-}
-

Modified: mlpack/trunk/src/mlpack/methods/svm/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/methods/svm/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/svm/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -24,11 +24,3 @@
 target_link_libraries(svm
   mlpack
 )
-
-add_executable(svm_test
-  svm_test.cc
-)
-target_link_libraries(svm_test
-  mlpack
-  boost_unit_test_framework
-)

Deleted: mlpack/trunk/src/mlpack/methods/svm/c_testdata2.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/svm/c_testdata2.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/svm/c_testdata2.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,20 +0,0 @@
-7.19906628001437787e-01,	1.83250823399634477e+00,	0
-1.37899419263889733e+01,	1.78198235122579263e+00,	1
-6.68859485848275703e-01,	2.14083320956715983e+00,	0
-1.84729928795588165e+01,	2.25024702760868101e+00,	1
-9.22802773268335819e-01,	1.61469358350834513e+00,	0
-2.06209849662245204e-01,	6.34699695340683490e-01,	1
-4.01062068250524817e-01,	1.65802752932441777e+00,	0
-5.02985607135568635e+00,	1.39976642741810831e+00,	1
-3.66471199955079319e-01,	1.62780588172739638e+00,	0
-1.56912570240400999e+01,	2.16941541650770953e+00,	1
-9.98909584711729304e-01,	2.00337906391517206e+00,	0
-1.31430438780891912e+01,	1.34410346059319719e+00,	1
-3.41572957272442523e-01,	1.16758463655951639e+00,	0
-9.53941410851637528e-01,	6.30271704462483373e-01,	1
-7.07135529120981432e-01,	2.17763537339756041e+00,	0
-9.68899714280338742e+00,	1.26922579378319256e+00,	1
-9.82393905512240706e-01,	2.36790583090293483e+00,	0
-1.31583349281727973e+01,	1.45115094722767868e+00,	1
-3.80991188521027202e-01,	9.05379134419085019e-01,	0
-1.86057436180327755e+01,	2.26941891469499968e+00,	1

Deleted: mlpack/trunk/src/mlpack/methods/svm/c_testdata3.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/svm/c_testdata3.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/svm/c_testdata3.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,30 +0,0 @@
-7.19906628001437787e-01,	1.83250823399634477e+00,	0
-7.50178118120030568e+00,	1.40286083282104723e+00,	1
-1.37899419263889733e+01,	1.78198235122579263e+00,	2
-6.68859485848275703e-01,	2.14083320956715983e+00,	0
-5.38965188683460106e+00,	1.76065058040462930e+00,	1
-1.84729928795588165e+01,	2.25024702760868101e+00,	2
-9.22802773268335819e-01,	1.61469358350834513e+00,	0
-1.50869173533687917e+00,	1.16481918686293984e+00,	1
-2.06209849662245204e-01,	6.34699695340683490e-01,	2
-4.01062068250524817e-01,	1.65802752932441777e+00,	0
-7.50323660089785172e+00,	2.02272848157339169e+00,	1
-5.02985607135568635e+00,	1.39976642741810831e+00,	2
-3.66471199955079319e-01,	1.62780588172739638e+00,	0
-6.49408345878780047e+00,	2.05530758041669959e+00,	1
-1.56912570240400999e+01,	2.16941541650770953e+00,	2
-9.98909584711729304e-01,	2.00337906391517206e+00,	0
-4.97454170834950204e+00,	1.74654187366671021e+00,	1
-1.31430438780891912e+01,	1.34410346059319719e+00,	2
-3.41572957272442523e-01,	1.16758463655951639e+00,	0
-1.58924989941960670e+00,	1.53946313589786321e+00,	1
-9.53941410851637528e-01,	6.30271704462483373e-01,	2
-7.07135529120981432e-01,	2.17763537339756041e+00,	0
-2.74465444159910765e+00,	1.63247014681458014e+00,	1
-9.68899714280338742e+00,	1.26922579378319256e+00,	2
-9.82393905512240706e-01,	2.36790583090293483e+00,	0
-4.17413972512545972e-01,	1.27445896238761902e+00,	1
-1.31583349281727973e+01,	1.45115094722767868e+00,	2
-3.80991188521027202e-01,	9.05379134419085019e-01,	0
-5.45688821256947176e-01,	5.84968416525502022e-01,	1
-1.86057436180327755e+01,	2.26941891469499968e+00,	2

Deleted: mlpack/trunk/src/mlpack/methods/svm/c_traindata2.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/svm/c_traindata2.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/svm/c_traindata2.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,20 +0,0 @@
-7.19906628001437787e-01,	1.83250823399634477e+00,	0
-1.37899419263889733e+01,	1.78198235122579263e+00,	1
-6.68859485848275703e-01,	2.14083320956715983e+00,	0
-1.84729928795588165e+01,	2.25024702760868101e+00,	1
-9.22802773268335819e-01,	1.61469358350834513e+00,	0
-2.06209849662245204e-01,	6.34699695340683490e-01,	1
-4.01062068250524817e-01,	1.65802752932441777e+00,	0
-5.02985607135568635e+00,	1.39976642741810831e+00,	1
-3.66471199955079319e-01,	1.62780588172739638e+00,	0
-1.56912570240400999e+01,	2.16941541650770953e+00,	1
-9.98909584711729304e-01,	2.00337906391517206e+00,	0
-1.31430438780891912e+01,	1.34410346059319719e+00,	1
-3.41572957272442523e-01,	1.16758463655951639e+00,	0
-9.53941410851637528e-01,	6.30271704462483373e-01,	1
-7.07135529120981432e-01,	2.17763537339756041e+00,	0
-9.68899714280338742e+00,	1.26922579378319256e+00,	1
-9.82393905512240706e-01,	2.36790583090293483e+00,	0
-1.31583349281727973e+01,	1.45115094722767868e+00,	1
-3.80991188521027202e-01,	9.05379134419085019e-01,	0
-1.86057436180327755e+01,	2.26941891469499968e+00,	1

Deleted: mlpack/trunk/src/mlpack/methods/svm/c_traindata3.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/svm/c_traindata3.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/svm/c_traindata3.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,30 +0,0 @@
-7.19906628001437787e-01,	1.83250823399634477e+00,	0
-7.50178118120030568e+00,	1.40286083282104723e+00,	1
-1.37899419263889733e+01,	1.78198235122579263e+00,	2
-6.68859485848275703e-01,	2.14083320956715983e+00,	0
-5.38965188683460106e+00,	1.76065058040462930e+00,	1
-1.84729928795588165e+01,	2.25024702760868101e+00,	2
-9.22802773268335819e-01,	1.61469358350834513e+00,	0
-1.50869173533687917e+00,	1.16481918686293984e+00,	1
-2.06209849662245204e-01,	6.34699695340683490e-01,	2
-4.01062068250524817e-01,	1.65802752932441777e+00,	0
-7.50323660089785172e+00,	2.02272848157339169e+00,	1
-5.02985607135568635e+00,	1.39976642741810831e+00,	2
-3.66471199955079319e-01,	1.62780588172739638e+00,	0
-6.49408345878780047e+00,	2.05530758041669959e+00,	1
-1.56912570240400999e+01,	2.16941541650770953e+00,	2
-9.98909584711729304e-01,	2.00337906391517206e+00,	0
-4.97454170834950204e+00,	1.74654187366671021e+00,	1
-1.31430438780891912e+01,	1.34410346059319719e+00,	2
-3.41572957272442523e-01,	1.16758463655951639e+00,	0
-1.58924989941960670e+00,	1.53946313589786321e+00,	1
-9.53941410851637528e-01,	6.30271704462483373e-01,	2
-7.07135529120981432e-01,	2.17763537339756041e+00,	0
-2.74465444159910765e+00,	1.63247014681458014e+00,	1
-9.68899714280338742e+00,	1.26922579378319256e+00,	2
-9.82393905512240706e-01,	2.36790583090293483e+00,	0
-4.17413972512545972e-01,	1.27445896238761902e+00,	1
-1.31583349281727973e+01,	1.45115094722767868e+00,	2
-3.80991188521027202e-01,	9.05379134419085019e-01,	0
-5.45688821256947176e-01,	5.84968416525502022e-01,	1
-1.86057436180327755e+01,	2.26941891469499968e+00,	2

Deleted: mlpack/trunk/src/mlpack/methods/svm/r_testdata.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/svm/r_testdata.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/svm/r_testdata.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,100 +0,0 @@
-  -10.0000   -0.0544
-   -9.7980   -0.0372
-   -9.5960   -0.0178
-   -9.3939    0.0033
-   -9.1919    0.0251
-   -8.9899    0.0469
-   -8.7879    0.0677
-   -8.5859    0.0866
-   -8.3838    0.1029
-   -8.1818    0.1157
-   -7.9798    0.1243
-   -7.7778    0.1282
-   -7.5758    0.1269
-   -7.3737    0.1203
-   -7.1717    0.1082
-   -6.9697    0.0909
-   -6.7677    0.0688
-   -6.5657    0.0425
-   -6.3636    0.0126
-   -6.1616   -0.0197
-   -5.9596   -0.0534
-   -5.7576   -0.0871
-   -5.5556   -0.1197
-   -5.3535   -0.1497
-   -5.1515   -0.1757
-   -4.9495   -0.1964
-   -4.7475   -0.2105
-   -4.5455   -0.2169
-   -4.3434   -0.2147
-   -4.1414   -0.2032
-   -3.9394   -0.1817
-   -3.7374   -0.1501
-   -3.5354   -0.1085
-   -3.3333   -0.0572
-   -3.1313    0.0033
-   -2.9293    0.0719
-   -2.7273    0.1476
-   -2.5253    0.2289
-   -2.3232    0.3142
-   -2.1212    0.4018
-   -1.9192    0.4897
-   -1.7172    0.5761
-   -1.5152    0.6590
-   -1.3131    0.7364
-   -1.1111    0.8066
-   -0.9091    0.8678
-   -0.7071    0.9187
-   -0.5051    0.9580
-   -0.3030    0.9848
-   -0.1010    0.9983
-    0.1010    0.9983
-    0.3030    0.9848
-    0.5051    0.9580
-    0.7071    0.9187
-    0.9091    0.8678
-    1.1111    0.8066
-    1.3131    0.7364
-    1.5152    0.6590
-    1.7172    0.5761
-    1.9192    0.4897
-    2.1212    0.4018
-    2.3232    0.3142
-    2.5253    0.2289
-    2.7273    0.1476
-    2.9293    0.0719
-    3.1313    0.0033
-    3.3333   -0.0572
-    3.5354   -0.1085
-    3.7374   -0.1501
-    3.9394   -0.1817
-    4.1414   -0.2032
-    4.3434   -0.2147
-    4.5455   -0.2169
-    4.7475   -0.2105
-    4.9495   -0.1964
-    5.1515   -0.1757
-    5.3535   -0.1497
-    5.5556   -0.1197
-    5.7576   -0.0871
-    5.9596   -0.0534
-    6.1616   -0.0197
-    6.3636    0.0126
-    6.5657    0.0425
-    6.7677    0.0688
-    6.9697    0.0909
-    7.1717    0.1082
-    7.3737    0.1203
-    7.5758    0.1269
-    7.7778    0.1282
-    7.9798    0.1243
-    8.1818    0.1157
-    8.3838    0.1029
-    8.5859    0.0866
-    8.7879    0.0677
-    8.9899    0.0469
-    9.1919    0.0251
-    9.3939    0.0033
-    9.5960   -0.0178
-    9.7980   -0.0372
-   10.0000   -0.0544
\ No newline at end of file

Deleted: mlpack/trunk/src/mlpack/methods/svm/r_traindata.csv
===================================================================
--- mlpack/trunk/src/mlpack/methods/svm/r_traindata.csv	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/svm/r_traindata.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,100 +0,0 @@
-  -10.0000,    0.0320
-   -9.7980,   -0.0278
-   -9.5960,   -0.1029
-   -9.3939,    0.0906
-   -9.1919,   -0.0187
-   -8.9899,    0.0039
-   -8.7879,   -0.0426
-   -8.5859,    0.1263
-   -8.3838,    0.0064
-   -8.1818,    0.1326
-   -7.9798,   -0.0722
-   -7.7778,    0.0538
-   -7.5758,    0.0717
-   -7.3737,    0.0383
-   -7.1717,    0.2191
-   -6.9697,    0.0294
-   -6.7677,    0.0434
-   -6.5657,    0.0155
-   -6.3636,   -0.1546
-   -6.1616,   -0.2073
-   -5.9596,    0.0041
-   -5.7576,   -0.1738
-   -5.5556,   -0.3314
-   -5.3535,   -0.2461
-   -5.1515,   -0.1544
-   -4.9495,   -0.1486
-   -4.7475,   -0.2004
-   -4.5455,   -0.1872
-   -4.3434,   -0.1577
-   -4.1414,   -0.3656
-   -3.9394,   -0.1174
-   -3.7374,   -0.0820
-   -3.5354,   -0.1071
-   -3.3333,   -0.1873
-   -3.1313,   -0.1252
-   -2.9293,    0.1532
-   -2.7273,    0.2315
-   -2.5253,    0.3709
-   -2.3232,    0.2153
-   -2.1212,    0.2835
-   -1.9192,    0.4431
-   -1.7172,    0.5395
-   -1.5152,    0.7708
-   -1.3131,    0.6898
-   -1.1111,    0.6505
-   -0.9091,    0.8395
-   -0.7071,    0.7864
-   -0.5051,    0.9384
-   -0.3030,    1.0267
-   -0.1010,    1.0725
-    0.1010,    0.9840
-    0.3030,    0.7686
-    0.5051,    0.8936
-    0.7071,    1.0627
-    0.9091,    0.7831
-    1.1111,    0.8123
-    1.3131,    0.8007
-    1.5152,    0.5919
-    1.7172,    0.5758
-    1.9192,    0.5250
-    2.1212,    0.5198
-    2.3232,    0.2456
-    2.5253,    0.3966
-    2.7273,    0.1221
-    2.9293,    0.0072
-    3.1313,   -0.0149
-    3.3333,    0.0280
-    3.5354,   -0.1392
-    3.7374,   -0.1942
-    3.9394,   -0.2429
-    4.1414,   -0.2517
-    4.3434,   -0.0950
-    4.5455,   -0.0775
-    4.7475,   -0.1940
-    4.9495,   -0.2474
-    5.1515,   -0.0379
-    5.3535,   -0.0198
-    5.5556,   -0.1327
-    5.7576,   -0.0131
-    5.9596,    0.0798
-    6.1616,   -0.0475
-    6.3636,   -0.0202
-    6.5657,    0.0412
-    6.7677,    0.1591
-    6.9697,   -0.0203
-    7.1717,    0.0243
-    7.3737,    0.1238
-    7.5758,    0.0023
-    7.7778,    0.2166
-    7.9798,    0.3782
-    8.1818,    0.2474
-    8.3838,    0.2471
-    8.5859,    0.2333
-    8.7879,   -0.0430
-    8.9899,    0.0008
-    9.1919,    0.0231
-    9.3939,   -0.0013
-    9.5960,   -0.0722
-    9.7980,    0.0545
-   10.0000,   -0.0563
\ No newline at end of file

Deleted: mlpack/trunk/src/mlpack/methods/svm/svm_test.cc
===================================================================
--- mlpack/trunk/src/mlpack/methods/svm/svm_test.cc	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/methods/svm/svm_test.cc	2011-11-08 23:57:26 UTC (rev 10195)
@@ -1,145 +0,0 @@
-#include <mlpack/core.h>
-
-#include "svm.h"
-
-#define BOOST_TEST_MODULE SVM test
-#include <boost/test/unit_test.hpp>
-
-using std::string;
-using namespace mlpack;
-using namespace mlpack::svm;
-
-// Create test data
-arma::mat matrix(20,3);
-bool first = true;
-
-/***
- *
- */
-/*
-BOOST_AUTO_TEST_CASE(test_test) {
-  double x = 1.0, y = 1.0, z = 2.0;
-
-  // We need to make sure someValue is 1.
-  BOOST_REQUIRE_CLOSE(x, y, 1e-5);
-  BOOST_REQUIRE_CLOSE(z, y, 1e-5);
-}
-*/
-
-  //CLI::GetParam<>() = ;
-
-/**
- *  Creates the data to train and test with and prints it to stdout.
- *  Should only have any effect once.
- */
-void setup() {
-  if(!first)
-    return;
-  first = false;
-
-  CLI::GetParam<bool>("svm/shrink") = true;
-  CLI::GetParam<double>("svm/epsilon") = .1;
-  CLI::GetParam<double>("svm/sigma") = 1;
-  // Protect the test from taking forever
-  CLI::GetParam<size_t>("svm/n_iter") = 10000;
-
-  matrix <<
-    7.19906628001437787e-01 << 1.83250823399634477e+00 << 0 << arma::endr <<
-    1.37899419263889733e+01 << 1.78198235122579263e+00 << 1 << arma::endr <<
-    6.68859485848275703e-01 << 2.14083320956715983e+00 << 0 << arma::endr <<
-    1.84729928795588165e+01 << 2.25024702760868101e+00 << 1 << arma::endr <<
-    9.22802773268335819e-01 << 1.61469358350834513e+00 << 0 << arma::endr <<
-    2.06209849662245204e-01 << 6.34699695340683490e-01 << 1 << arma::endr <<
-    4.01062068250524817e-01 << 1.65802752932441777e+00 << 0 << arma::endr <<
-    5.02985607135568635e+00 << 1.39976642741810831e+00 << 1 << arma::endr <<
-    3.66471199955079319e-01 << 1.62780588172739638e+00 << 0 << arma::endr <<
-    1.56912570240400999e+01 << 2.16941541650770953e+00 << 1 << arma::endr <<
-    9.98909584711729304e-01 << 2.00337906391517206e+00 << 0 << arma::endr <<
-    1.31430438780891912e+01 << 1.34410346059319719e+00 << 1 << arma::endr <<
-    3.41572957272442523e-01 << 1.16758463655951639e+00 << 0 << arma::endr <<
-    9.53941410851637528e-01 << 6.30271704462483373e-01 << 1 << arma::endr <<
-    7.07135529120981432e-01 << 2.17763537339756041e+00 << 0 << arma::endr <<
-    9.68899714280338742e+00 << 1.26922579378319256e+00 << 1 << arma::endr <<
-    9.82393905512240706e-01 << 2.36790583090293483e+00 << 0 << arma::endr <<
-    1.31583349281727973e+01 << 1.45115094722767868e+00 << 1 << arma::endr <<
-    3.80991188521027202e-01 << 9.05379134419085019e-01 << 0 << arma::endr <<
-    1.86057436180327755e+01 << 2.26941891469499968e+00 << 1 << arma::endr;
-  matrix = trans(matrix);
-
-  std::cout << matrix << std::endl;
-}
-
-/**
- *  Compares predicted values with known values to see if the prediction/training works.
- *
- *  @param: learner_typeid Magic number for selecting between classification and
- *     regression.
- *  @param: data The dataset with the data to predict with.
- *  @param: svm The SVM class instance that has been trained for this data, et al.
- */
-template<typename T>
-void verify(size_t learner_typeid, arma::mat& data, SVM<T>& svm) {
-  for(size_t i = 0; i < data.n_cols; i++) {
-    arma::vec testvec = data.col(i);
-
-    double predictedvalue = svm.Predict(learner_typeid, testvec);
-    BOOST_REQUIRE_CLOSE(predictedvalue,
-	data(data.n_rows-1,i),1e-6);
-  }
-}
-
-/**
- *  Trains a classifier with a linear kernel and checks predictions against
- *  classes.
- */
-//BOOST_AUTO_TEST_CASE(svm_classification_linear_kernel_test) {
-//  setup();
-//
-//  arma::mat trainingdata;
-//  trainingdata = matrix;
-//  SVM<SVMLinearKernel> svm;
-//  svm.InitTrain(0,trainingdata); // 0 for classification
-//  verify(0,trainingdata,svm);
-//}
-//
-/**
- *  Trains a classifier with a gaussian kernel and checks predictions against
- *  classes.
- */
-BOOST_AUTO_TEST_CASE(svm_classification_gaussian_kernel_test) {
-  setup();
-
-  arma::mat trainingdata;
-  trainingdata = matrix;
-  SVM<SVMRBFKernel> svm;
-  svm.InitTrain(0,trainingdata); // 0 for classification
-  verify(0,trainingdata,svm);
-}
-
-/**
- *  Trains a classifier with a linear kernel and checks predictions against
- *  classes, using regression. TODO: BROKEN
- */
-//BOOST_AUTO_TEST_CASE(svm_regression_linear_kernel_test) {
-//  setup();
-//
-//  arma::mat trainingdata;
-//  trainingdata = matrix;
-//  SVM<SVMLinearKernel> svm;
-//  svm.InitTrain(1,trainingdata); // 0 for classification
-//  //verify(1,trainingdata,svm);
-//}
-
-/**
- *  Trains a classifier with a gaussian kernel and checks predictions against
- *  classes, using regression. TODO: BROKEN
- */
-//BOOST_AUTO_TEST_CASE(svm_regression_gaussian_kernel_test) {
-//  setup();
-//
-//  arma::mat trainingdata;
-//  trainingdata = matrix;
-//  SVM<SVMRBFKernel> svm;
-//  svm.InitTrain(1,trainingdata); // 0 for classification
-//  //verify(1,trainingdata,svm);
-//}

Modified: mlpack/trunk/src/mlpack/tests/CMakeLists.txt
===================================================================
--- mlpack/trunk/src/mlpack/tests/CMakeLists.txt	2011-11-08 23:38:45 UTC (rev 10194)
+++ mlpack/trunk/src/mlpack/tests/CMakeLists.txt	2011-11-08 23:57:26 UTC (rev 10195)
@@ -27,6 +27,7 @@
   nnsvm_test.cpp
   ridge_regression_test.cc
   save_restore_utility_test.cpp
+  sort_policy_test.cc
   svm_test.cc
   tree_test.cpp
   union_find_test.cpp

Added: mlpack/trunk/src/mlpack/tests/data/trainRes.csv
===================================================================
--- mlpack/trunk/src/mlpack/tests/data/trainRes.csv	                        (rev 0)
+++ mlpack/trunk/src/mlpack/tests/data/trainRes.csv	2011-11-08 23:57:26 UTC (rev 10195)
@@ -0,0 +1,2 @@
+2.75, 4.0000, 3.6875, 2.3750, 0.3333, 0.8000, 0.6292, 0.3833, 0.5161
+8.3333, 4.6667, 3.6667, 2.4, 0.8095, 3.3810, 0.6667, 0.4000, 0.4839

Added: mlpack/trunk/src/mlpack/tests/sort_policy_test.cc
===================================================================
--- mlpack/trunk/src/mlpack/tests/sort_policy_test.cc	                        (rev 0)
+++ mlpack/trunk/src/mlpack/tests/sort_policy_test.cc	2011-11-08 23:57:26 UTC (rev 10195)
@@ -0,0 +1,310 @@
+/**
+ * @file sort_policy_test.cc
+ * @author Ryan Curtin
+ *
+ * Tests for each of the implementations of the SortPolicy class.
+ */
+#include <mlpack/core.h>
+#include <mlpack/core/tree/bounds.hpp>
+#include <mlpack/core/tree/binary_space_tree.hpp>
+
+// Classes to test.
+#include <mlpack/methods/neighbor_search/sort_policies/nearest_neighbor_sort.hpp>
+#include <mlpack/methods/neighbor_search/sort_policies/furthest_neighbor_sort.hpp>
+
+#include <boost/test/unit_test.hpp>
+
+using namespace mlpack;
+using namespace mlpack::neighbor;
+using namespace mlpack::bound;
+
+// Tests for NearestNeighborSort
+
+/***
+ * Ensure the best distance for nearest neighbors is 0.
+ */
+BOOST_AUTO_TEST_CASE(nns_best_distance) {
+  BOOST_REQUIRE(NearestNeighborSort::BestDistance() == 0);
+}
+
+/***
+ * Ensure the worst distance for nearest neighbors is DBL_MAX.
+ */
+BOOST_AUTO_TEST_CASE(nns_worst_distance) {
+  BOOST_REQUIRE(NearestNeighborSort::WorstDistance() == DBL_MAX);
+}
+
+/***
+ * Make sure the comparison works for values strictly less than the reference.
+ */
+BOOST_AUTO_TEST_CASE(nns_is_better_strict) {
+  BOOST_REQUIRE(NearestNeighborSort::IsBetter(5.0, 6.0) == true);
+}
+
+/***
+ * Warn in case the comparison is not strict.
+ */
+BOOST_AUTO_TEST_CASE(nns_is_better_not_strict) {
+  BOOST_WARN(NearestNeighborSort::IsBetter(6.0, 6.0) == true);
+}
+
+/***
+ * A simple test case of where to insert when all the values in the list are
+ * DBL_MAX.
+ */
+BOOST_AUTO_TEST_CASE(nns_sort_distance_all_dbl_max) {
+  arma::vec list(5);
+  list.fill(DBL_MAX);
+
+  // Should be inserted at the head of the list.
+  BOOST_REQUIRE(NearestNeighborSort::SortDistance(list, 5.0) == 0);
+}
+
+/***
+ * Another test case, where we are just putting the new value in the middle of
+ * the list.
+ */
+BOOST_AUTO_TEST_CASE(nns_sort_distance_2) {
+  arma::vec list(3);
+  list[0] = 0.66;
+  list[1] = 0.89;
+  list[2] = 1.14;
+
+  // Run a couple possibilities through.
+  BOOST_REQUIRE(NearestNeighborSort::SortDistance(list, 0.61) == 0);
+  BOOST_REQUIRE(NearestNeighborSort::SortDistance(list, 0.76) == 1);
+  BOOST_REQUIRE(NearestNeighborSort::SortDistance(list, 0.99) == 2);
+  BOOST_REQUIRE(NearestNeighborSort::SortDistance(list, 1.22) ==
+      (size_t() - 1));
+}
+
+/***
+ * Very simple sanity check to ensure that bounds are working alright.  We will
+ * use a one-dimensional bound for simplicity.
+ */
+BOOST_AUTO_TEST_CASE(nns_node_to_node_distance) {
+  // Well, there's no easy way to make HRectBounds the way we want, so we have
+  // to make them and then expand the region to include new points.
+  tree::BinarySpaceTree<HRectBound<2>, arma::mat> node_one;
+  arma::vec utility(1);
+  utility[0] = 0;
+
+  node_one.bound() = HRectBound<2>(1);
+  node_one.bound() |= utility;
+  utility[0] = 1;
+  node_one.bound() |= utility;
+
+  tree::BinarySpaceTree<HRectBound<2>, arma::mat> node_two;
+  node_two.bound() = HRectBound<2>(1);
+
+  utility[0] = 5;
+  node_two.bound() |= utility;
+  utility[0] = 6;
+  node_two.bound() |= utility;
+
+  // This should use the L2 squared distance.
+  BOOST_REQUIRE_CLOSE(NearestNeighborSort::BestNodeToNodeDistance(&node_one,
+      &node_two), 16.0, 1e-5);
+
+  // And another just to be sure, from the other side.
+  node_two.bound().Clear();
+  utility[0] = -2;
+  node_two.bound() |= utility;
+  utility[0] = -1;
+  node_two.bound() |= utility;
+
+  // Again, the distance is the L2 squared distance.
+  BOOST_REQUIRE_CLOSE(NearestNeighborSort::BestNodeToNodeDistance(&node_one,
+      &node_two), 1.0, 1e-5);
+
+  // Now, when the bounds overlap.
+  node_two.bound().Clear();
+  utility[0] = -0.5;
+  node_two.bound() |= utility;
+  utility[0] = 0.5;
+  node_two.bound() |= utility;
+
+  BOOST_REQUIRE_CLOSE(NearestNeighborSort::BestNodeToNodeDistance(&node_one,
+      &node_two), 0.0, 1e-5);
+}
+
+/***
+ * Another very simple sanity check for the point-to-node case, again in one
+ * dimension.
+ */
+BOOST_AUTO_TEST_CASE(nns_point_to_node_distance) {
+  // Well, there's no easy way to make HRectBounds the way we want, so we have
+  // to make them and then expand the region to include new points.
+  arma::vec utility(1);
+  utility[0] = 0;
+
+  tree::BinarySpaceTree<HRectBound<2>, arma::mat> node;
+  node.bound() = HRectBound<2>(1);
+  node.bound() |= utility;
+  utility[0] = 1;
+  node.bound() |= utility;
+
+  arma::vec point(1);
+  point[0] = -0.5;
+
+  // The distance is the L2 squared distance.
+  BOOST_REQUIRE_CLOSE(NearestNeighborSort::BestPointToNodeDistance(point,
+      &node), 0.25, 1e-5);
+
+  // Now from the other side of the bound.
+  point[0] = 1.5;
+
+  BOOST_REQUIRE_CLOSE(NearestNeighborSort::BestPointToNodeDistance(point,
+      &node), 0.25, 1e-5);
+
+  // And now when the point is inside the bound.
+  point[0] = 0.5;
+
+  BOOST_REQUIRE_CLOSE(NearestNeighborSort::BestPointToNodeDistance(point,
+      &node), 0.0, 1e-5);
+}
+
+// Tests for FurthestNeighborSort
+
+/***
+ * Ensure the best distance for furthest neighbors is DBL_MAX.
+ */
+BOOST_AUTO_TEST_CASE(fns_best_distance) {
+  BOOST_REQUIRE(FurthestNeighborSort::BestDistance() == DBL_MAX);
+}
+
+/***
+ * Ensure the worst distance for furthest neighbors is 0.
+ */
+BOOST_AUTO_TEST_CASE(fns_worst_distance) {
+  BOOST_REQUIRE(FurthestNeighborSort::WorstDistance() == 0);
+}
+
+/***
+ * Make sure the comparison works for values strictly less than the reference.
+ */
+BOOST_AUTO_TEST_CASE(fns_is_better_strict) {
+  BOOST_REQUIRE(FurthestNeighborSort::IsBetter(5.0, 4.0) == true);
+}
+
+/***
+ * Warn in case the comparison is not strict.
+ */
+BOOST_AUTO_TEST_CASE(fns_is_better_not_strict) {
+  BOOST_WARN(FurthestNeighborSort::IsBetter(6.0, 6.0) == true);
+}
+
+/***
+ * A simple test case of where to insert when all the values in the list are
+ * 0.
+ */
+BOOST_AUTO_TEST_CASE(fns_sort_distance_all_zero) {
+  arma::vec list(5);
+  list.fill(0);
+
+  // Should be inserted at the head of the list.
+  BOOST_REQUIRE(FurthestNeighborSort::SortDistance(list, 5.0) == 0);
+}
+
+/***
+ * Another test case, where we are just putting the new value in the middle of
+ * the list.
+ */
+BOOST_AUTO_TEST_CASE(fns_sort_distance_2) {
+  arma::vec list(3);
+  list[0] = 1.14;
+  list[1] = 0.89;
+  list[2] = 0.66;
+
+  // Run a couple possibilities through.
+  BOOST_REQUIRE(FurthestNeighborSort::SortDistance(list, 1.22) == 0);
+  BOOST_REQUIRE(FurthestNeighborSort::SortDistance(list, 0.93) == 1);
+  BOOST_REQUIRE(FurthestNeighborSort::SortDistance(list, 0.68) == 2);
+  BOOST_REQUIRE(FurthestNeighborSort::SortDistance(list, 0.62) ==
+      (size_t() - 1));
+}
+
+/***
+ * Very simple sanity check to ensure that bounds are working alright.  We will
+ * use a one-dimensional bound for simplicity.
+ */
+BOOST_AUTO_TEST_CASE(fns_node_to_node_distance) {
+  // Well, there's no easy way to make HRectBounds the way we want, so we have
+  // to make them and then expand the region to include new points.
+  arma::vec utility(1);
+  utility[0] = 0;
+
+  tree::BinarySpaceTree<HRectBound<2>, arma::mat> node_one;
+  node_one.bound() = HRectBound<2>(1);
+  node_one.bound() |= utility;
+  utility[0] = 1;
+  node_one.bound() |= utility;
+
+  tree::BinarySpaceTree<HRectBound<2>, arma::mat> node_two;
+  node_two.bound() = HRectBound<2>(1);
+  utility[0] = 5;
+  node_two.bound() |= utility;
+  utility[0] = 6;
+  node_two.bound() |= utility;
+
+  // This should use the L2 squared distance.
+  BOOST_REQUIRE_CLOSE(FurthestNeighborSort::BestNodeToNodeDistance(&node_one,
+      &node_two), 36.0, 1e-5);
+
+  // And another just to be sure, from the other side.
+  node_two.bound().Clear();
+  utility[0] = -2;
+  node_two.bound() |= utility;
+  utility[0] = -1;
+  node_two.bound() |= utility;
+
+  // Again, the distance is the L2 squared distance.
+  BOOST_REQUIRE_CLOSE(FurthestNeighborSort::BestNodeToNodeDistance(&node_one,
+      &node_two), 9.0, 1e-5);
+
+  // Now, when the bounds overlap.
+  node_two.bound().Clear();
+  utility[0] = -0.5;
+  node_two.bound() |= utility;
+  utility[0] = 0.5;
+  node_two.bound() |= utility;
+
+  BOOST_REQUIRE_CLOSE(FurthestNeighborSort::BestNodeToNodeDistance(&node_one,
+      &node_two), (1.5 * 1.5), 1e-5);
+}
+
+/***
+ * Another very simple sanity check for the point-to-node case, again in one
+ * dimension.
+ */
+BOOST_AUTO_TEST_CASE(fns_point_to_node_distance) {
+  // Well, there's no easy way to make HRectBounds the way we want, so we have
+  // to make them and then expand the region to include new points.
+  arma::vec utility(1);
+  utility[0] = 0;
+
+  tree::BinarySpaceTree<HRectBound<2>, arma::mat> node;
+  node.bound() = HRectBound<2>(1);
+  node.bound() |= utility;
+  utility[0] = 1;
+  node.bound() |= utility;
+
+  arma::vec point(1);
+  point[0] = -0.5;
+
+  // The distance is the L2 squared distance.
+  BOOST_REQUIRE_CLOSE(FurthestNeighborSort::BestPointToNodeDistance(point,
+      &node), (1.5 * 1.5), 1e-5);
+
+  // Now from the other side of the bound.
+  point[0] = 1.5;
+
+  BOOST_REQUIRE_CLOSE(FurthestNeighborSort::BestPointToNodeDistance(point,
+      &node), (1.5 * 1.5), 1e-5);
+
+  // And now when the point is inside the bound.
+  point[0] = 0.5;
+
+  BOOST_REQUIRE_CLOSE(FurthestNeighborSort::BestPointToNodeDistance(point,
+      &node), 0.25, 1e-5);
+}




More information about the mlpack-svn mailing list