Mark evalValues as const
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -1,71 +1,71 @@
|
||||
|
||||
#include "NumericEvalValue.hpp"
|
||||
|
||||
NumericEvalValue *NumericEvalValue::operator+(NumericEvalValue *b) {
|
||||
const shared_ptr<NumericEvalValue> NumericEvalValue::operator+(const shared_ptr<NumericEvalValue>& b) const {
|
||||
if (this->IsFloat()){
|
||||
if (b->IsFloat()){
|
||||
return new FloatEvalValue(this->GetFloatValue() + b->GetFloatValue());
|
||||
return make_shared<FloatEvalValue>(this->GetFloatValue() + b->GetFloatValue());
|
||||
} else{
|
||||
return new FloatEvalValue(this->GetFloatValue() + b->GetIntegerValue());
|
||||
return make_shared<FloatEvalValue>(this->GetFloatValue() + b->GetIntegerValue());
|
||||
}
|
||||
} else {
|
||||
if (b->IsFloat()){
|
||||
return new FloatEvalValue(this->GetIntegerValue() + b->GetFloatValue());
|
||||
return make_shared<FloatEvalValue>(this->GetIntegerValue() + b->GetFloatValue());
|
||||
} else{
|
||||
return new IntegerEvalValue(this->GetIntegerValue() + b->GetIntegerValue());
|
||||
return make_shared<IntegerEvalValue>(this->GetIntegerValue() + b->GetIntegerValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NumericEvalValue *NumericEvalValue::operator-(NumericEvalValue *b) {
|
||||
const shared_ptr<NumericEvalValue> NumericEvalValue::operator-(const shared_ptr<NumericEvalValue>& b) const {
|
||||
if (this->IsFloat()){
|
||||
if (b->IsFloat()){
|
||||
return new FloatEvalValue(this->GetFloatValue() - b->GetFloatValue());
|
||||
return make_shared<FloatEvalValue>(this->GetFloatValue() - b->GetFloatValue());
|
||||
} else{
|
||||
return new FloatEvalValue(this->GetFloatValue() - b->GetIntegerValue());
|
||||
return make_shared<FloatEvalValue>(this->GetFloatValue() - b->GetIntegerValue());
|
||||
}
|
||||
} else {
|
||||
if (b->IsFloat()){
|
||||
return new FloatEvalValue(this->GetIntegerValue() - b->GetFloatValue());
|
||||
return make_shared<FloatEvalValue>(this->GetIntegerValue() - b->GetFloatValue());
|
||||
} else{
|
||||
return new IntegerEvalValue(this->GetIntegerValue() - b->GetIntegerValue());
|
||||
return make_shared<IntegerEvalValue>(this->GetIntegerValue() - b->GetIntegerValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NumericEvalValue *NumericEvalValue::operator*(NumericEvalValue *b) {
|
||||
const shared_ptr<NumericEvalValue> NumericEvalValue::operator*(const shared_ptr<NumericEvalValue>& b) const {
|
||||
if (this->IsFloat()){
|
||||
if (b->IsFloat()){
|
||||
return new FloatEvalValue(this->GetFloatValue() * b->GetFloatValue());
|
||||
return make_shared<FloatEvalValue>(this->GetFloatValue() * b->GetFloatValue());
|
||||
} else{
|
||||
return new FloatEvalValue(this->GetFloatValue() * b->GetIntegerValue());
|
||||
return make_shared<FloatEvalValue>(this->GetFloatValue() * b->GetIntegerValue());
|
||||
}
|
||||
} else {
|
||||
if (b->IsFloat()){
|
||||
return new FloatEvalValue(this->GetIntegerValue() * b->GetFloatValue());
|
||||
return make_shared<FloatEvalValue>(this->GetIntegerValue() * b->GetFloatValue());
|
||||
} else{
|
||||
return new IntegerEvalValue(this->GetIntegerValue() * b->GetIntegerValue());
|
||||
return make_shared<IntegerEvalValue>(this->GetIntegerValue() * b->GetIntegerValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NumericEvalValue *NumericEvalValue::operator/(NumericEvalValue *b) {
|
||||
const shared_ptr<NumericEvalValue> NumericEvalValue::operator/(const shared_ptr<NumericEvalValue>& b) const {
|
||||
if (this->IsFloat()){
|
||||
if (b->IsFloat()){
|
||||
return new FloatEvalValue(this->GetFloatValue() / b->GetFloatValue());
|
||||
return make_shared<FloatEvalValue>(this->GetFloatValue() / b->GetFloatValue());
|
||||
} else{
|
||||
return new FloatEvalValue(this->GetFloatValue() / b->GetIntegerValue());
|
||||
return make_shared<FloatEvalValue>(this->GetFloatValue() / b->GetIntegerValue());
|
||||
}
|
||||
} else {
|
||||
if (b->IsFloat()){
|
||||
return new FloatEvalValue(this->GetIntegerValue() / b->GetFloatValue());
|
||||
return make_shared<FloatEvalValue>(this->GetIntegerValue() / b->GetFloatValue());
|
||||
} else{
|
||||
return new IntegerEvalValue(this->GetIntegerValue() / b->GetIntegerValue());
|
||||
return make_shared<IntegerEvalValue>(this->GetIntegerValue() / b->GetIntegerValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool NumericEvalValue::operator==(EvalValue *b) {
|
||||
const bool NumericEvalValue::operator==(EvalValue *b) const {
|
||||
if (b->GetTypeClass() != TypeClass::Number)
|
||||
return false;
|
||||
auto numVal = (NumericEvalValue*)b;
|
||||
@@ -79,66 +79,66 @@ bool NumericEvalValue::operator==(EvalValue *b) {
|
||||
}
|
||||
}
|
||||
|
||||
BooleanEvalValue *NumericEvalValue::operator<(NumericEvalValue *b) {
|
||||
const shared_ptr<BooleanEvalValue> NumericEvalValue::operator<(const shared_ptr<NumericEvalValue>& b) const {
|
||||
if (this->IsFloat()){
|
||||
if (b->IsFloat()){
|
||||
return new BooleanEvalValue(this->GetFloatValue() < b->GetFloatValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetFloatValue() < b->GetFloatValue());
|
||||
} else{
|
||||
return new BooleanEvalValue(this->GetFloatValue() < b->GetIntegerValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetFloatValue() < b->GetIntegerValue());
|
||||
}
|
||||
} else {
|
||||
if (b->IsFloat()){
|
||||
return new BooleanEvalValue(this->GetIntegerValue() < b->GetFloatValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetIntegerValue() < b->GetFloatValue());
|
||||
} else{
|
||||
return new BooleanEvalValue(this->GetIntegerValue() < b->GetIntegerValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetIntegerValue() < b->GetIntegerValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BooleanEvalValue *NumericEvalValue::operator<=(NumericEvalValue *b) {
|
||||
const shared_ptr<BooleanEvalValue> NumericEvalValue::operator<=(const shared_ptr<NumericEvalValue>& b) const {
|
||||
if (this->IsFloat()){
|
||||
if (b->IsFloat()){
|
||||
return new BooleanEvalValue(this->GetFloatValue() <= b->GetFloatValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetFloatValue() <= b->GetFloatValue());
|
||||
} else{
|
||||
return new BooleanEvalValue(this->GetFloatValue() <= b->GetIntegerValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetFloatValue() <= b->GetIntegerValue());
|
||||
}
|
||||
} else {
|
||||
if (b->IsFloat()){
|
||||
return new BooleanEvalValue(this->GetIntegerValue() <= b->GetFloatValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetIntegerValue() <= b->GetFloatValue());
|
||||
} else{
|
||||
return new BooleanEvalValue(this->GetIntegerValue() <= b->GetIntegerValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetIntegerValue() <= b->GetIntegerValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BooleanEvalValue *NumericEvalValue::operator>(NumericEvalValue *b) {
|
||||
const shared_ptr<BooleanEvalValue> NumericEvalValue::operator>(const shared_ptr<NumericEvalValue>& b) const {
|
||||
if (this->IsFloat()){
|
||||
if (b->IsFloat()){
|
||||
return new BooleanEvalValue(this->GetFloatValue() > b->GetFloatValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetFloatValue() > b->GetFloatValue());
|
||||
} else{
|
||||
return new BooleanEvalValue(this->GetFloatValue() > b->GetIntegerValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetFloatValue() > b->GetIntegerValue());
|
||||
}
|
||||
} else {
|
||||
if (b->IsFloat()){
|
||||
return new BooleanEvalValue(this->GetIntegerValue() > b->GetFloatValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetIntegerValue() > b->GetFloatValue());
|
||||
} else{
|
||||
return new BooleanEvalValue(this->GetIntegerValue() > b->GetIntegerValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetIntegerValue() > b->GetIntegerValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BooleanEvalValue *NumericEvalValue::operator>=(NumericEvalValue *b) {
|
||||
const shared_ptr<BooleanEvalValue> NumericEvalValue::operator>=(const shared_ptr<NumericEvalValue>& b) const {
|
||||
if (this->IsFloat()){
|
||||
if (b->IsFloat()){
|
||||
return new BooleanEvalValue(this->GetFloatValue() >= b->GetFloatValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetFloatValue() >= b->GetFloatValue());
|
||||
} else{
|
||||
return new BooleanEvalValue(this->GetFloatValue() >= b->GetIntegerValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetFloatValue() >= b->GetIntegerValue());
|
||||
}
|
||||
} else {
|
||||
if (b->IsFloat()){
|
||||
return new BooleanEvalValue(this->GetIntegerValue() >= b->GetFloatValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetIntegerValue() >= b->GetFloatValue());
|
||||
} else{
|
||||
return new BooleanEvalValue(this->GetIntegerValue() >= b->GetIntegerValue());
|
||||
return make_shared<BooleanEvalValue>(this->GetIntegerValue() >= b->GetIntegerValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user