1 |
|
2 |
/***************************************************************************** |
3 |
* |
4 |
* Copyright (c) 2014-2018 by The University of Queensland |
5 |
* http://www.uq.edu.au |
6 |
* |
7 |
* Primary Business: Queensland, Australia |
8 |
* Licensed under the Apache License, version 2.0 |
9 |
* http://www.apache.org/licenses/LICENSE-2.0 |
10 |
* |
11 |
* Development until 2012 by Earth Systems Science Computational Center (ESSCC) |
12 |
* Development 2012-2013 by School of Earth Sciences |
13 |
* Development from 2014-2017 by Centre for Geoscience Computing (GeoComp) |
14 |
* Development from 2019 by School of Earth and Environmental Sciences |
15 |
** |
16 |
*****************************************************************************/ |
17 |
|
18 |
|
19 |
#ifndef _RIPLEY_SYSTEMMATRIXTESTCASE_H_ |
20 |
#define _RIPLEY_SYSTEMMATRIXTESTCASE_H_ |
21 |
|
22 |
#include <escript/AbstractDomain.h> |
23 |
#include <escript/AbstractSystemMatrix.h> |
24 |
|
25 |
#include <cppunit/TestFixture.h> |
26 |
#include <cppunit/TestSuite.h> |
27 |
|
28 |
class SystemMatrixTestCase : public CppUnit::TestFixture |
29 |
{ |
30 |
public: |
31 |
virtual void setUp(); |
32 |
|
33 |
void testSpMV_CPU_blocksize1_nonsymmetric(); |
34 |
void testSpMV_CPU_blocksize2_nonsymmetric(); |
35 |
void testSpMV_CPU_blocksize3_nonsymmetric(); |
36 |
void testSpMV_CPU_blocksize4_nonsymmetric(); |
37 |
void testSpMV_CPU_blocksize1_symmetric(); |
38 |
void testSpMV_CPU_blocksize2_symmetric(); |
39 |
void testSpMV_CPU_blocksize3_symmetric(); |
40 |
void testSpMV_CPU_blocksize4_symmetric(); |
41 |
|
42 |
static CppUnit::TestSuite* suite(); |
43 |
|
44 |
private: |
45 |
escript::ASM_ptr createMatrix(int blocksize, bool symmetric); |
46 |
escript::Data createInputVector(int blocksize); |
47 |
|
48 |
escript::JMPI mpiInfo; |
49 |
escript::Domain_ptr domain; |
50 |
}; |
51 |
|
52 |
#endif // _RIPLEY_SYSTEMMATRIXTESTCASE_H_ |
53 |
|