1 //=================================================================================================
2 /*!
3 //  \file src/mathtest/adaptors/strictlylowermatrix/RowTest.cpp
4 //  \brief Source file for the StrictlyLowerMatrix row 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/strictlylowermatrix/RowTest.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 strictlylowermatrix {
56 
57 //=================================================================================================
58 //
59 //  CONSTRUCTORS
60 //
61 //=================================================================================================
62 
63 //*************************************************************************************************
64 /*!\brief Constructor for the StrictlyLowerMatrix row test.
65 //
66 // \exception std::runtime_error Operation error detected.
67 */
RowTest()68 RowTest::RowTest()
69 {
70    testAssignment<DLT>();
71    testAddAssign<DLT>();
72    testSubAssign<DLT>();
73    testMultAssign<DLT>();
74 
75    testAssignment<DOLT>();
76    testAddAssign<DOLT>();
77    testSubAssign<DOLT>();
78    testMultAssign<DOLT>();
79 
80    testAssignment<SLT>();
81    testAddAssign<SLT>();
82    testSubAssign<SLT>();
83    testMultAssign<SLT>();
84 
85    testAssignment<SOLT>();
86    testAddAssign<SOLT>();
87    testSubAssign<SOLT>();
88    testMultAssign<SOLT>();
89 }
90 //*************************************************************************************************
91 
92 } // namespace strictlylowermatrix
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 StrictlyLowerMatrix row test..." << std::endl;
113 
114    try
115    {
116       RUN_STRICTLYLOWERMATRIX_ROW_TEST;
117    }
118    catch( std::exception& ex ) {
119       std::cerr << "\n\n ERROR DETECTED during StrictlyLowerMatrix row test:\n"
120                 << ex.what() << "\n";
121       return EXIT_FAILURE;
122    }
123 
124    return EXIT_SUCCESS;
125 }
126 //*************************************************************************************************
127