OPAL (Object Oriented Parallel Accelerator Library) 2024.2
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
31
32
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
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
78 TpsData *data = TpsData::getTpsData(getOrder(), array.size());
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}
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
int getIndex() const
Convert.
TpsMonomial(int nVar)
Constructor.
int getVariables() const
Get variables.
int getOrder() const
Get order.
int & operator[](int index)
Get exponent.
const TpsMonomial & operator=(const TpsMonomial &)
TpsMonomial operator*(const TpsMonomial &rhs) const
Product.
Array1D< int > array
Definition TpsMonomial.h:78