1#ifndef __JMATH__JMODEL__
2#define __JMATH__JMODEL__
20namespace JPP {
using namespace JMATH; }
45 for (
size_t i = 0; i != this->size(); ++i) {
61 if (index >= this->size()) {
62 this->resize(index + 1, 0.0);
77 const double eps = std::numeric_limits<double>::min())
const
79 for (
size_t i = 0; i != this->size(); ++i) {
80 if (fabs((*
this)[i] - model[i]) >= eps) {
96 for (
size_t i = 0; i != this->size(); ++i) {
97 (*this)[i] = -(*this)[i];
112 for (
size_t i = 0; i != model.size(); ++i) {
113 (*this)[i] += model[i];
128 for (
size_t i = 0; i != model.size(); ++i) {
129 (*this)[i] -= model[i];
144 for (
size_t i = 0; i != this->size(); ++i) {
145 (*this)[i] *= factor;
160 for (
size_t i = 0; i != this->size(); ++i) {
161 (*this)[i] /= factor;
179 for (
double value; in >> value; ) {
180 model.push_back(value);
198 for (JModel_t::const_iterator i = model.begin(); i != model.end(); ++i) {
199 out <<
FIXED(7,3) << *i <<
' ';
Base class for data structures with artithmetic capabilities.
Definition of zero value for any class.
Auxiliary classes and methods for mathematical operations.
static const JZero zero
Function object to assign zero value.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for floating point format specification.
Template definition of auxiliary base class for comparison of data structures.
Auxiliary base class for aritmetic operations of derived class types.
JModel_t & add(const JModel_t &model)
Add model.
JModel_t & mul(const double factor)
Scale model.
JModel_t & div(const double factor)
Scale model.
JModel_t & sub(const JModel_t &model)
Subtract model.
double & operator[](const size_t index)
Get value at given index.
bool equals(const JModel_t &model, const double eps=std::numeric_limits< double >::min()) const
Equality.
friend std::ostream & operator<<(std::ostream &out, const JModel_t &model)
Write model to output stream.
JModel_t & negate()
Negate model.
JModel_t & operator=(const JMATH::JZero &zero)
Reset.
friend std::istream & operator>>(std::istream &in, JModel_t &model)
Write model to input stream.
Auxiliary class to assign zero value.