root/library/tests/mat_checks.cpp @ 1468

Revision 1064, 1.8 kB (checked in by mido, 14 years ago)

astyle applied all over the library

  • Property svn:eol-style set to native
Line 
1#include "mat_checks.h"
2#include <sstream>
3
4namespace UnitTest {
5
6bool AreClose ( const itpp::vec &expected, const itpp::vec &actual,
7                double tolerance ) {
8    if ( expected.length() != actual.length() ) {
9        return false;
10    }
11
12    for ( int i = 0; i < expected.length(); ++i ) {
13        if ( !AreClose ( expected ( i ), actual ( i ), tolerance ) ) {
14            return false;
15        }
16    }
17
18    return true;
19}
20
21bool AreClose ( const itpp::vec &expected, const itpp::vec &actual,
22                const itpp::vec &tolerance ) {
23    if ( ( expected.length() != actual.length() ) ||
24            ( actual.length() != tolerance.length() ) ) {
25        return false;
26    }
27
28    for ( int i = 0; i < expected.length(); ++i ) {
29        if ( !AreClose ( expected ( i ), actual ( i ), tolerance ( i ) ) ) {
30            return false;
31        }
32    }
33
34    return true;
35}
36
37bool AreClose ( const itpp::mat &expected, const itpp::mat &actual, double tolerance ) {
38    if ( ( expected.rows() != actual.rows() ) ||
39            ( expected.cols() != actual.cols() ) ) {
40        return false;
41    }
42
43    for ( int i = 0; i < expected.rows(); ++i ) {
44        for ( int j = 0; j < expected.cols(); ++j ) {
45            if ( !AreClose ( expected ( i, j ), actual ( i, j ), tolerance ) ) {
46                return false;
47            }
48        }
49    }
50
51    return true;
52}
53
54}
55
56const char *CurrentContext::config_name = "???";
57
58int CurrentContext::index = -1;
59
60CurrentContext::CurrentContext ( const char *name, int idx ) {
61    config_name = name;
62    index = idx;
63}
64
65CurrentContext::~CurrentContext() {
66    config_name = "???";
67    index = -1;
68}
69
70std::string CurrentContext::format_context ( int ln ) {
71    std::stringstream ss;
72    ss << "error at " << config_name << '[' << index << ']';
73
74    if ( ln >= 0 ) {
75        ss << ", harness line " << ln;
76    }
77
78    ss << ": ";
79    return ss.str();
80}
Note: See TracBrowser for help on using the browser.