1 //=================================================================================================
2 /*!
3 // \file src/mathtest/adaptors/uniuppermatrix/SubmatrixTest.cpp
4 // \brief Source file for the UniUpperMatrix submatrix test
5 //
6 // Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved
7 //
8 // This file is part of the Blaze library. You can redistribute it and/or modify it under
9 // the terms of the New (Revised) BSD License. Redistribution and use in source and binary
10 // forms, with or without modification, are permitted provided that the following conditions
11 // are met:
12 //
13 // 1. Redistributions of source code must retain the above copyright notice, this list of
14 // conditions and the following disclaimer.
15 // 2. Redistributions in binary form must reproduce the above copyright notice, this list
16 // of conditions and the following disclaimer in the documentation and/or other materials
17 // provided with the distribution.
18 // 3. Neither the names of the Blaze development group nor the names of its contributors
19 // may be used to endorse or promote products derived from this software without specific
20 // prior written permission.
21 //
22 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
23 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
24 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
25 // SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
27 // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
28 // BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30 // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
31 // DAMAGE.
32 */
33 //=================================================================================================
34
35
36 //*************************************************************************************************
37 // Includes
38 //*************************************************************************************************
39
40 #include <cstdlib>
41 #include <iostream>
42 #include <blazetest/mathtest/adaptors/uniuppermatrix/SubmatrixTest.h>
43
44 #ifdef BLAZE_USE_HPX_THREADS
45 # include <hpx/hpx_main.hpp>
46 #endif
47
48
49 namespace blazetest {
50
51 namespace mathtest {
52
53 namespace adaptors {
54
55 namespace uniuppermatrix {
56
57 //=================================================================================================
58 //
59 // CONSTRUCTORS
60 //
61 //=================================================================================================
62
63 //*************************************************************************************************
64 /*!\brief Constructor for the UniUpperMatrix submatrix test.
65 //
66 // \exception std::runtime_error Operation error detected.
67 */
SubmatrixTest()68 SubmatrixTest::SubmatrixTest()
69 {
70 testAssignment<DUT>();
71 testAddAssign<DUT>();
72 testSubAssign<DUT>();
73 testSchurAssign<DUT>();
74
75 testAssignment<DOUT>();
76 testAddAssign<DOUT>();
77 testSubAssign<DOUT>();
78 testSchurAssign<DOUT>();
79
80 testAssignment<SUT>();
81 testAddAssign<SUT>();
82 testSubAssign<SUT>();
83 testSchurAssign<SUT>();
84
85 testAssignment<SOUT>();
86 testAddAssign<SOUT>();
87 testSubAssign<SOUT>();
88 testSchurAssign<SOUT>();
89 }
90 //*************************************************************************************************
91
92 } // namespace uniuppermatrix
93
94 } // namespace adaptors
95
96 } // namespace mathtest
97
98 } // namespace blazetest
99
100
101
102
103 //=================================================================================================
104 //
105 // MAIN FUNCTION
106 //
107 //=================================================================================================
108
109 //*************************************************************************************************
main()110 int main()
111 {
112 std::cout << " Running UniUpperMatrix submatrix test..." << std::endl;
113
114 try
115 {
116 RUN_UNIUPPERMATRIX_SUBMATRIX_TEST;
117 }
118 catch( std::exception& ex ) {
119 std::cerr << "\n\n ERROR DETECTED during UniUpperMatrix submatrix test:\n"
120 << ex.what() << "\n";
121 return EXIT_FAILURE;
122 }
123
124 return EXIT_SUCCESS;
125 }
126 //*************************************************************************************************
127