summaryrefslogtreecommitdiffstats
path: root/src/libcola/tests/sparse_matrix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcola/tests/sparse_matrix.cpp')
-rw-r--r--src/libcola/tests/sparse_matrix.cpp88
1 files changed, 0 insertions, 88 deletions
diff --git a/src/libcola/tests/sparse_matrix.cpp b/src/libcola/tests/sparse_matrix.cpp
deleted file mode 100644
index 099fcf376..000000000
--- a/src/libcola/tests/sparse_matrix.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * vim: ts=4 sw=4 et tw=0 wm=0
- *
- * libcola - A library providing force-directed network layout using the
- * stress-majorization method subject to separation constraints.
- *
- * Copyright (C) 2006-2008 Monash University
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library in the file LICENSE; if not,
- * write to the Free Software Foundation, Inc., 59 Temple Place,
- * Suite 330, Boston, MA 02111-1307 USA
- *
-*/
-
-#include <map>
-#include <valarray>
-#include <libcola/sparse_matrix.h>
-#include <boost/numeric/ublas/matrix_sparse.hpp>
-#include <boost/numeric/ublas/vector.hpp>
-#include <boost/numeric/ublas/io.hpp>
-#include <time.h>
-#include <cmath>
-
-using namespace boost::numeric::ublas;
-int sparse_test(const unsigned n, cola::SparseMatrix::SparseMap& cm, mapped_matrix<double>& bm) {
- printf("Sparse test...");
- srand(time(0));
- for (unsigned i = 0; i < n; ++ i) {
- for (unsigned j = 0; j < n; ++ j) {
- double r=(double)rand()/(double)RAND_MAX;
- double s=(double)rand()/(double)RAND_MAX;
- if(r < 0.2) {
- cm[std::make_pair(i,j)] = s;
- bm (i, j) = s;
- }
- }
- }
-}
-int dense_test(const unsigned n, cola::SparseMatrix::SparseMap& cm, mapped_matrix<double>& bm) {
- printf("Dense test...");
- for (unsigned i = 0; i < n; ++ i) {
- for (unsigned j = 0; j < n; ++ j) {
- bm (i, j) = n * i + j;
- cm[std::make_pair(i,j)]=bm(i,j);
- }
- }
-}
-
-void test(int (*generate)(const unsigned, cola::SparseMatrix::SparseMap&, mapped_matrix<double>&)) {
- using std::valarray;
- const unsigned n = 20;
- mapped_matrix<double> bm (n, n, n * n);
- cola::SparseMatrix::SparseMap cm;
- generate(n,cm,bm);
- vector<double> bv (n);
- valarray<double> cv(n);
- for (unsigned i = 0; i < n; ++ i) {
- bv(i) = i;
- cv[i] = i;
- }
- vector<double> br(n);
- valarray<double> cr(n);
- cola::SparseMatrix a(cm,n);
- br=prod(bm,bv);
- a.rightMultiply(cv,cr);
- for (unsigned i = 0; i < n; ++ i) {
- assert(fabs(cr[i]-br(i))<0.000001);
- }
- printf(" passed!\n");
-}
-int main() {
- test(&dense_test);
- test(&sparse_test);
- return 0;
-}
-
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4 :