OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
TpsMonomial.cpp
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2// $RCSfile: TpsMonomial.cpp,v $
3// ------------------------------------------------------------------------
4// $Revision: 1.1.1.1 $
5// ------------------------------------------------------------------------
6// Copyright: see Copyright.readme
7// ------------------------------------------------------------------------
8//
9// Class: TpsMonomial
10// Index set for a Tps monomial.
11//
12// ------------------------------------------------------------------------
13// Class category: Algebra
14// ------------------------------------------------------------------------
15//
16// $Date: 2000/03/27 09:32:32 $
17// $Author: fci $
18//
19// ------------------------------------------------------------------------
20
21#include "Algebra/TpsMonomial.h"
22#include "Algebra/TpsData.h"
23
24
25// Class TpsMonomial
26// ------------------------------------------------------------------------
27
29 array()
30{}
31
32
34 array(rhs.array)
35{}
36
37
39 array(nVar, int(0))
40{}
41
42
43TpsMonomial::TpsMonomial(int nVar, int var):
44 array(nVar, int(0)) {
45 array[var] = 1;
46}
47
48
50{}
51
52
54 array = rhs.array;
55 return *this;
56}
57
58
59int &TpsMonomial::operator[](int index) {
60 return array[index];
61}
62
63
64int TpsMonomial::operator[](int index) const {
65 return array[index];
66}
67
68
70 int n = rhs.getVariables();
71 TpsMonomial z(*this);
72 for(int i = 0; i < n; i++) z.array[i] += rhs.array[i];
73 return z;
74}
75
76
79 return data->indexMonomial(*this);
80}
81
82
84 int order = 0;
85
86 for(int i = 0; i < array.size(); i++) {
87 order += array[i];
88 }
89
90 return order;
91}
92
93
95 return array.size();
96}
int size() const
Get array size.
Definition: Array1D.h:228
Bookkeeping class for Tps<T>.
Definition: TpsData.h:35
static TpsData * getTpsData(int nOrd, int nVar)
Definition: TpsData.cpp:43
int indexMonomial(const TpsMonomial &) const
Definition: TpsData.cpp:53
Exponent array for Tps<T>.
Definition: TpsMonomial.h:31
int getIndex() const
Convert.
Definition: TpsMonomial.cpp:77
int getVariables() const
Get variables.
Definition: TpsMonomial.cpp:94
int getOrder() const
Get order.
Definition: TpsMonomial.cpp:83
int & operator[](int index)
Get exponent.
Definition: TpsMonomial.cpp:59
const TpsMonomial & operator=(const TpsMonomial &)
Definition: TpsMonomial.cpp:53
TpsMonomial operator*(const TpsMonomial &rhs) const
Product.
Definition: TpsMonomial.cpp:69
Array1D< int > array
Definition: TpsMonomial.h:78