FEI Package Browser (Single Doxygen Collection)
Version of the Day
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
test_utils
CoefAccess.hpp
Go to the documentation of this file.
1
#ifndef _CoefAccess_h_
2
#define _CoefAccess_h_
3
4
/*--------------------------------------------------------------------*/
5
/* Copyright 2005 Sandia Corporation. */
6
/* Under the terms of Contract DE-AC04-94AL85000, there is a */
7
/* non-exclusive license for use of this work by or on behalf */
8
/* of the U.S. Government. Export of this program may require */
9
/* a license from the United States Government. */
10
/*--------------------------------------------------------------------*/
11
12
#include <cstdlib>
13
14
class
CoefAccess
{
15
public
:
16
CoefAccess
() :
patternID_
(-1),
numRowIDs_
(0),
rowIDs_
(NULL),
17
numColIDsPerRow_
(0),
colIDs_
(NULL),
numRowCoefs_
(0),
numColCoefs_
(0),
18
coefs_
(NULL) {}
19
20
CoefAccess
(
const
CoefAccess
& src)
21
{
22
*
this
= src;
23
}
24
25
CoefAccess
&
operator=
(
const
CoefAccess
& src)
26
{
27
patternID_
= src.
patternID_
;
28
29
numRowIDs_
= src.
numRowIDs_
;
30
numColIDsPerRow_
= src.
numColIDsPerRow_
;
31
numRowCoefs_
= src.
numRowCoefs_
;
32
numColCoefs_
= src.
numColCoefs_
;
33
34
if
(
numRowIDs_
> 0) {
35
rowIDs_
=
new
GlobalID
[
numRowIDs_
];
36
for
(
int
i=0; i<
numRowIDs_
; i++)
rowIDs_
[i] = src.
rowIDs_
[i];
37
}
38
39
if
(
numColIDsPerRow_
> 0 &&
numRowIDs_
> 0) {
40
int
len =
numRowIDs_
*
numColIDsPerRow_
;
41
colIDs_
=
new
GlobalID
[len];
42
for
(
int
i=0; i<len; i++)
colIDs_
[i] = src.
colIDs_
[i];
43
}
44
45
if
(
numRowCoefs_
> 0 &&
numColCoefs_
> 0) {
46
int
len =
numRowCoefs_
*
numColCoefs_
;
47
coefs_
=
new
double
[len];
48
for
(
int
i=0; i<len; i++)
coefs_
[i] = src.
coefs_
[i];
49
}
50
51
return
(*
this
);
52
}
53
54
~CoefAccess
()
55
{
56
delete
[]
rowIDs_
;
delete
[]
colIDs_
;
delete
[]
coefs_
;
57
numRowIDs_
= 0;
numColIDsPerRow_
= 0;
numRowCoefs_
= 0;
numColCoefs_
= 0;
58
}
59
60
int
patternID_
;
61
62
int
numRowIDs_
;
63
GlobalID
*
rowIDs_
;
64
65
int
numColIDsPerRow_
;
66
GlobalID
*
colIDs_
;
67
68
int
numRowCoefs_
;
69
int
numColCoefs_
;
70
71
double
*
coefs_
;
72
};
73
74
#endif // _CoefAccess_h_
CoefAccess::operator=
CoefAccess & operator=(const CoefAccess &src)
Definition:
CoefAccess.hpp:25
GlobalID
int GlobalID
Definition:
fei_defs.h:60
CoefAccess::numRowIDs_
int numRowIDs_
Definition:
CoefAccess.hpp:62
CoefAccess::numColCoefs_
int numColCoefs_
Definition:
CoefAccess.hpp:69
CoefAccess
Definition:
CoefAccess.hpp:14
CoefAccess::patternID_
int patternID_
Definition:
CoefAccess.hpp:60
CoefAccess::numRowCoefs_
int numRowCoefs_
Definition:
CoefAccess.hpp:68
CoefAccess::~CoefAccess
~CoefAccess()
Definition:
CoefAccess.hpp:54
CoefAccess::coefs_
double * coefs_
Definition:
CoefAccess.hpp:71
CoefAccess::CoefAccess
CoefAccess()
Definition:
CoefAccess.hpp:16
CoefAccess::colIDs_
GlobalID * colIDs_
Definition:
CoefAccess.hpp:66
CoefAccess::numColIDsPerRow_
int numColIDsPerRow_
Definition:
CoefAccess.hpp:65
CoefAccess::CoefAccess
CoefAccess(const CoefAccess &src)
Definition:
CoefAccess.hpp:20
CoefAccess::rowIDs_
GlobalID * rowIDs_
Definition:
CoefAccess.hpp:63
Generated on Fri Sep 1 2023 07:58:30 for FEI Package Browser (Single Doxygen Collection) by
1.8.5