DenseLinAlgPack: Concreate C++ Classes for Dense Blas-Compatible Linear Algebra
Version of the Day
Main Page
Related Pages
Classes
Files
File List
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
src
DenseLinAlgPack
src
DenseLinAlgPack_Options.hpp
1
// @HEADER
2
// ***********************************************************************
3
//
4
// Moocho: Multi-functional Object-Oriented arCHitecture for Optimization
5
// Copyright (2003) Sandia Corporation
6
//
7
// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
8
// license for use of this work by or on behalf of the U.S. Government.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are
12
// met:
13
//
14
// 1. Redistributions of source code must retain the above copyright
15
// notice, this list of conditions and the following disclaimer.
16
//
17
// 2. Redistributions in binary form must reproduce the above copyright
18
// notice, this list of conditions and the following disclaimer in the
19
// documentation and/or other materials provided with the distribution.
20
//
21
// 3. Neither the name of the Corporation nor the names of the
22
// contributors may be used to endorse or promote products derived from
23
// this software without specific prior written permission.
24
//
25
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
//
37
// Questions? Contact Roscoe A. Bartlett (rabartl@sandia.gov)
38
//
39
// ***********************************************************************
40
// @HEADER
41
//
42
// Options for DenseLinAlgPack compilation
43
//
44
45
#ifndef LINALGPACK_OPTIONS_H
46
#define LINALGPACK_OPTIONS_H
47
48
#include "DenseLinAlgPack_extended_value_type.hpp"
49
#include "
Teuchos_ConfigDefs.hpp
"
50
#include "
Teuchos_F77_wrappers.h
"
51
52
#if !defined(LINALGPACK_NO_CHECKS)
53
54
/* * @name {\bf DenseLinAlgPack Options}.
55
*
56
* The header file DenseLinAlgPack_Options.hpp contains the defines for several macros that
57
* determine how the library is built. The user should comment out any
58
* macros that her or she does not want to be defined. The definition of
59
* these macros cause the library code to assert the preconditions documented
60
* for each of the member and non-member functions and throw the listed exceptions
61
* if they are not satisfied. Precondtions are supposed to be the
62
* responcibility of the client code so the user may only want to define
63
* these macros during debugging for better program verification.
64
* If the user checks all of the preconditions listed in this documentation for the calls
65
* to all functions then the checks performed by the library are redundant.
66
*/
67
// @{
68
70
/* * If defined the library code checks to see if subscripts are in bounds for element access
71
* an subregion indexing. If the preconditions for the subscripting operations are
72
* not satisfied then the listed exceptions will be thrown.
73
*/
74
#ifndef LINALGPACK_CHECK_RANGE
75
#define LINALGPACK_CHECK_RANGE 1
76
#endif
77
79
/* * If defined the library code checks to see if the sizes of rhs arguments in expressions are compatible.
80
* The exception std::length_error will be thrown if rhs sizes are not compatible.
81
*/
82
#ifndef LINALGPACK_CHECK_RHS_SIZES
83
#define LINALGPACK_CHECK_RHS_SIZES 1
84
#endif
85
87
/* * If defined the library code checks to see if DVectorSlice and DMatrixSlice objects have valid constructions.
88
* If they do not have valid constructions then an exception will be thrown. The operation of these
89
* checks may depend on the definition of the macro \Ref{LINALGPACK_CHECK_RANGE}.
90
*/
91
#ifndef LINALGPACK_CHECK_SLICE_SETUP
92
#define LINALGPACK_CHECK_SLICE_SETUP 1
93
#endif
94
95
#endif
96
97
namespace
DenseLinAlgPack{
98
100
typedef
FortranTypes::f_dbl_prec value_type;
102
typedef
Teuchos::Ordinal index_type;
104
typedef
Teuchos::Ordinal
size_type
;
105
106
}
107
108
// @}
109
110
#endif // LINALGPACK_OPTIONS_H
Teuchos_ConfigDefs.hpp
size_type
size_t size_type
Teuchos_F77_wrappers.h
Generated on Wed Dec 2 2015 08:49:44 for DenseLinAlgPack: Concreate C++ Classes for Dense Blas-Compatible Linear Algebra by
1.8.6