COPASI API
4.16.103
|
#include <CNormalSum.h>
Public Member Functions | |
bool | add (const CNormalProduct &product) |
bool | add (const CNormalFraction &fraction) |
bool | add (const CNormalSum &sum) |
C_FLOAT64 | checkFactor (const CNormalItemPower &itemPower) const |
bool | checkIsOne () const |
bool | checkIsZero () const |
CNormalSum () | |
CNormalSum (const CNormalSum &src) | |
virtual CNormalBase * | copy () const |
bool | divide (const CNormalItemPower &itemPower) |
const std::set < CNormalFraction * > & | getFractions () const |
const std::set< CNormalProduct *, compareProducts > & | getProducts () const |
int | getSize () const |
bool | multiply (const C_FLOAT64 &number) |
bool | multiply (const CNormalItemPower &itemPower) |
bool | multiply (const CNormalSum &sum) |
bool | multiply (const CNormalLcm &lcm) |
bool | operator< (const CNormalSum &rhs) const |
CNormalSum & | operator= (const CNormalSum &src) |
bool | operator== (const CNormalSum &rhs) const |
void | setFractions (const std::set< CNormalFraction * > &set) |
void | setProducts (const std::set< CNormalProduct *, compareProducts > &set) |
virtual bool | simplify () |
virtual std::string | toString () const |
virtual | ~CNormalSum () |
![]() | |
virtual bool | areEqual (const CNormalBase &rhs) const |
virtual | ~CNormalBase () |
Static Public Member Functions | |
static CNormalSum * | createUnitSum () |
static void | printProducts (const CNormalSum *pSum) |
Private Attributes | |
std::set< CNormalFraction * > | mFractions |
std::set< CNormalProduct *, compareProducts > | mProducts |
Friends | |
std::ostream & | operator<< (std::ostream &os, const CNormalSum &d) |
The class for sums used in CNormal
Definition at line 46 of file CNormalSum.h.
CNormalSum::CNormalSum | ( | ) |
Default constructor
Definition at line 75 of file CNormalSum.cpp.
Referenced by copy(), createUnitSum(), and simplify().
CNormalSum::CNormalSum | ( | const CNormalSum & | src | ) |
Copy Constructor
Definition at line 81 of file CNormalSum.cpp.
References mFractions, and mProducts.
|
virtual |
Destructor
Definition at line 128 of file CNormalSum.cpp.
References mFractions, and mProducts.
bool CNormalSum::add | ( | const CNormalProduct & | product | ) |
Add product to this sum.
Definition at line 156 of file CNormalSum.cpp.
References CNormalProduct::getFactor(), and mProducts.
Referenced by add(), createFraction(), createSum(), createUnitSum(), CNormalProduct::getDenominator(), multiply(), CNormalProduct::multiply(), CNormalFraction::setDenominatorOne(), CNormalProduct::setDenominatorsOne(), simplify(), and test_simplify::test_simplify_1().
bool CNormalSum::add | ( | const CNormalFraction & | fraction | ) |
Add fraction to this sum.
Definition at line 196 of file CNormalSum.cpp.
References CNormalFraction::getNumerator(), getSize(), and mFractions.
bool CNormalSum::add | ( | const CNormalSum & | sum | ) |
Add a sum to this sum.
Definition at line 222 of file CNormalSum.cpp.
References add(), getFractions(), and mProducts.
C_FLOAT64 CNormalSum::checkFactor | ( | const CNormalItemPower & | itemPower | ) | const |
Check if an itempower is a factor of this sum.
Definition at line 382 of file CNormalSum.cpp.
References C_FLOAT64.
Referenced by CNormalFraction::cancel(), and CNormalFraction::multiply().
bool CNormalSum::checkIsOne | ( | ) | const |
Definition at line 850 of file CNormalSum.cpp.
References CNormalGeneralPower::checkIsOne(), mFractions, and mProducts.
Referenced by CNormalFraction::checkDenominatorOne(), CNormalFraction::checkNumeratorOne(), CNormalGeneralPower::multiply(), and CNormalGeneralPower::toString().
bool CNormalSum::checkIsZero | ( | ) | const |
Definition at line 874 of file CNormalSum.cpp.
References mFractions, and mProducts.
Referenced by CNormalFraction::checkIsZero().
|
virtual |
|
static |
Returns a sum that is 1. In this case it only creates a new sum sum and adds a unit product to the sum.
Definition at line 889 of file CNormalSum.cpp.
References add(), CNormalSum(), and CNormalProduct::createUnitProduct().
Referenced by CNormalFraction::createUnitFraction().
bool CNormalSum::divide | ( | const CNormalItemPower & | itemPower | ) |
Divide this sum by an itempower, provided it is a factor of it -This sum does not contain fractions!
Definition at line 371 of file CNormalSum.cpp.
References mProducts.
Referenced by CNormalFraction::cancel(), and CNormalFraction::multiply().
const std::set< CNormalFraction * > & CNormalSum::getFractions | ( | ) | const |
Retrieve the set of fractions of this sum.
Definition at line 425 of file CNormalSum.cpp.
References mFractions.
Referenced by add(), CNormalFraction::cancel(), CNormalFraction::checkForFractions(), convertToCEvaluationNode(), CNormalFraction::findLcm(), is_mass_action(), CNormalFraction::multiply(), normalize_variable_names(), CNormalFraction::simplify(), test_biomodels217_expression::test_term_den1(), test_biomodels217_expression::test_term_den12(), test_biomodels217_expression::test_term_den123(), test_biomodels217_expression::test_term_den1234(), test_biomodels217_expression::test_term_den12345(), test_biomodels217_expression::test_term_den123456(), test_biomodels217_expression::test_term_den1234567(), test_biomodels217_expression::test_term_den2(), test_biomodels217_expression::test_term_den3(), test_biomodels217_expression::test_term_den3456(), test_biomodels217_expression::test_term_den346(), test_biomodels217_expression::test_term_den356(), test_biomodels217_expression::test_term_den36(), test_biomodels217_expression::test_term_den4(), test_biomodels217_expression::test_term_den456(), test_biomodels217_expression::test_term_den5(), test_biomodels217_expression::test_term_den56(), test_biomodels217_expression::test_term_den6(), test_biomodels217_expression::test_term_den67(), test_biomodels217_expression::test_term_den7(), test_biomodels217_expression::test_term_num1(), test_biomodels217_expression::test_term_num2(), test_biomodels217_expression::test_term_num3(), test_biomodels217_expression::test_term_num4(), test_biomodels217_expression::test_term_num5(), test_biomodels217_expression::test_term_num6(), and test_biomodels217_expression::test_term_num7().
const std::set< CNormalProduct *, compareProducts > & CNormalSum::getProducts | ( | ) | const |
Retrieve the set of products of this sum.
Definition at line 416 of file CNormalSum.cpp.
References mProducts.
Referenced by CNormalLcm::add(), CNormalFraction::cancel(), convertToCEvaluationNode(), is_mass_action(), CNormalGeneralPower::multiply(), CNormalProduct::multiply(), normalize_variable_names(), CNormalLcm::remove(), test_biomodels217_expression::test_term_den1(), test_biomodels217_expression::test_term_den2(), test_biomodels217_expression::test_term_den3(), test_biomodels217_expression::test_term_den4(), test_biomodels217_expression::test_term_den5(), test_biomodels217_expression::test_term_den6(), test_biomodels217_expression::test_term_den7(), test_biomodels217_expression::test_term_num1(), test_biomodels217_expression::test_term_num2(), test_biomodels217_expression::test_term_num3(), test_biomodels217_expression::test_term_num4(), test_biomodels217_expression::test_term_num5(), test_biomodels217_expression::test_term_num6(), and test_biomodels217_expression::test_term_num7().
int CNormalSum::getSize | ( | ) | const |
Retrieve the number of summands of this sum.
Definition at line 147 of file CNormalSum.cpp.
References mFractions, and mProducts.
Referenced by add(), CNormalFraction::expand(), CNormalFraction::multiply(), CNormalFraction::setDenominator(), and toString().
bool CNormalSum::multiply | ( | const C_FLOAT64 & | number | ) |
Multiply this sum with a number.
Definition at line 249 of file CNormalSum.cpp.
References mFractions, and mProducts.
Referenced by CNormalFraction::cancel(), CNormalFraction::expand(), multiply(), CNormalFraction::multiply(), and simplify().
bool CNormalSum::multiply | ( | const CNormalItemPower & | itemPower | ) |
Multiply this sum with an itempower.
Definition at line 287 of file CNormalSum.cpp.
References mFractions, and mProducts.
bool CNormalSum::multiply | ( | const CNormalSum & | sum | ) |
Multiply this sum with another sum, both do not contain fractions!!
Definition at line 308 of file CNormalSum.cpp.
References add(), mProducts, and multiply().
bool CNormalSum::multiply | ( | const CNormalLcm & | lcm | ) |
Multiply this sum by a lcm Numerator and denominator of mFractions do not contain further fractions!
Definition at line 333 of file CNormalSum.cpp.
References add(), mFractions, mProducts, and multiply().
bool CNormalSum::operator< | ( | const CNormalSum & | rhs | ) | const |
Smaller operator
Definition at line 515 of file CNormalSum.cpp.
References mFractions, and mProducts.
CNormalSum & CNormalSum::operator= | ( | const CNormalSum & | src | ) |
Assignment operator
Definition at line 108 of file CNormalSum.cpp.
References mFractions, and mProducts.
bool CNormalSum::operator== | ( | const CNormalSum & | rhs | ) | const |
Examine equality of two sums.
Definition at line 434 of file CNormalSum.cpp.
References mFractions, and mProducts.
|
static |
Definition at line 898 of file CNormalSum.cpp.
References mProducts.
void CNormalSum::setFractions | ( | const std::set< CNormalFraction * > & | set | ) |
Sets the fractions of this product.
Definition at line 603 of file CNormalSum.cpp.
References mFractions.
Referenced by normalize_variable_names().
void CNormalSum::setProducts | ( | const std::set< CNormalProduct *, compareProducts > & | set | ) |
Sets the products of this product.
Definition at line 583 of file CNormalSum.cpp.
References mProducts.
Referenced by normalize_variable_names().
|
virtual |
Implements CNormalBase.
Definition at line 623 of file CNormalSum.cpp.
References add(), CNormalGeneralPower::checkIsOne(), CNormalFraction::checkIsOne(), CNormalSum(), CNormalBase::copy(), CNormalFraction::createUnitFraction(), CNormalProduct::createUnitProduct(), fatalError, CNormalFraction::getDenominator(), CNormalProduct::getDenominator(), CNormalProduct::getFactor(), CNormalProduct::getItemPowers(), CNormalGeneralPower::getLeft(), CNormalGeneralPower::getRight(), mFractions, mProducts, CNormalProduct::multiply(), multiply(), CNormalItemPower::POWER, CNormalFraction::setDenominator(), CNormalProduct::setDenominatorsOne(), CNormalItemPower::setExp(), CNormalItemPower::setItem(), CNormalGeneralPower::setLeft(), CNormalFraction::setNumerator(), CNormalFraction::simplify(), and CNormalProduct::simplify().
Referenced by CNormalFraction::simplify().
|
virtual |
Implements CNormalBase.
Definition at line 473 of file CNormalSum.cpp.
References getSize(), mFractions, and mProducts.
Referenced by operator<<().
|
friend |
Definition at line 467 of file CNormalSum.cpp.
|
private |
Definition at line 53 of file CNormalSum.h.
Referenced by add(), checkIsOne(), checkIsZero(), CNormalSum(), getFractions(), getSize(), multiply(), operator<(), operator=(), operator==(), setFractions(), simplify(), toString(), and ~CNormalSum().
|
private |
Enumeration of members
Definition at line 52 of file CNormalSum.h.
Referenced by add(), checkIsOne(), checkIsZero(), CNormalSum(), divide(), getProducts(), getSize(), multiply(), operator<(), operator=(), operator==(), printProducts(), setProducts(), simplify(), toString(), and ~CNormalSum().