OOPS
LocalIncrement.cc
Go to the documentation of this file.
1
/*
2
* (C) Copyright 2019-2020 UCAR.
3
*
4
* This software is licensed under the terms of the Apache Licence Version 2.0
5
* which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6
*/
7
8
#include "
oops/base/LocalIncrement.h
"
9
10
#include "eckit/exception/Exceptions.h"
11
12
namespace
oops
{
13
14
LocalIncrement
&
LocalIncrement::operator +=
(
const
LocalIncrement
& rhs) {
15
ASSERT(
vars_
== rhs.
vars_
&&
varlens_
== rhs.
varlens_
);
16
ASSERT(
vals_
.size() == rhs.
vals_
.size());
17
for
(
unsigned
i=0; i <
vals_
.size(); ++i) {
18
vals_
[i] += rhs.
vals_
[i];
19
}
20
return
*
this
;
21
}
22
23
LocalIncrement
&
LocalIncrement::operator *=
(
const
double
& zz) {
24
for
(
unsigned
i=0; i <
vals_
.size(); ++i) {
25
vals_
[i] *= zz;
26
}
27
return
*
this
;
28
}
29
30
LocalIncrement
&
LocalIncrement::operator *=
(
const
std::vector<double> & rhs) {
31
ASSERT(
vals_
.size() == rhs.size());
32
for
(
unsigned
i=0; i <
vals_
.size(); ++i) {
33
vals_
[i] *= rhs[i];
34
}
35
return
*
this
;
36
}
37
38
void
LocalIncrement::setVals
(std::vector<double> & valsIn) {
39
ASSERT(
vals_
.size() == valsIn.size());
40
vals_
= valsIn;
41
}
42
43
}
// namespace oops
oops
The namespace for the main oops code.
Definition:
ErrorCovarianceL95.cc:22
oops::LocalIncrement::setVals
void setVals(std::vector< double > &)
Definition:
LocalIncrement.cc:38
LocalIncrement.h
oops::LocalIncrement::operator+=
LocalIncrement & operator+=(const LocalIncrement &)
Linear algebra operators.
Definition:
LocalIncrement.cc:14
oops::LocalIncrement::vars_
const oops::Variables vars_
Definition:
LocalIncrement.h:40
oops::LocalIncrement
Definition:
LocalIncrement.h:19
oops::LocalIncrement::vals_
std::vector< double > vals_
Definition:
LocalIncrement.h:41
oops::LocalIncrement::operator*=
LocalIncrement & operator*=(const double &)
Definition:
LocalIncrement.cc:23
oops::LocalIncrement::varlens_
const std::vector< int > varlens_
Definition:
LocalIncrement.h:42
fv3-bundle
oops
src
oops
base
LocalIncrement.cc
Generated on Sun Oct 25 2020 12:42:57 for OOPS by
1.8.18