mirror of
https://github.com/sam-astro/Z-Sharp.git
synced 2025-12-13 09:02:10 +00:00
Revert "Changed to switch case for Equ and BooleanLogic and added warnings"
This reverts commit d761591b14ee3cee5a24199765325d72002fd57e.
This commit is contained in:
parent
741e05b500
commit
b1a1133d85
@ -309,25 +309,19 @@ bool BooleanLogic(const string& valA, const string& determinant, const string& v
|
|||||||
any valARealValue = EvalExpression(valA, variableVals);
|
any valARealValue = EvalExpression(valA, variableVals);
|
||||||
any valBRealValue = EvalExpression(valB, variableVals);
|
any valBRealValue = EvalExpression(valB, variableVals);
|
||||||
|
|
||||||
switch(determinant)
|
if (determinant == "==")
|
||||||
{
|
return AnyAsString(valARealValue) == AnyAsString(valBRealValue);
|
||||||
case "==":
|
if (determinant == "!=")
|
||||||
return AnyAsString(valARealValue) == AnyAsString(valBRealValue);
|
return AnyAsString(valARealValue) != AnyAsString(valBRealValue);
|
||||||
case "!=":
|
if (determinant == ">=")
|
||||||
return AnyAsString(valARealValue) != AnyAsString(valBRealValue);
|
return AnyAsFloat(valARealValue) >= AnyAsFloat(valBRealValue);
|
||||||
case ">=":
|
if (determinant == "<=")
|
||||||
return AnyAsFloat(valARealValue) >= AnyAsFloat(valBRealValue);
|
return AnyAsFloat(valARealValue) <= AnyAsFloat(valBRealValue);
|
||||||
case "<=":
|
if (determinant == ">")
|
||||||
return AnyAsFloat(valARealValue) <= AnyAsFloat(valBRealValue);
|
return AnyAsFloat(valARealValue) > AnyAsFloat(valBRealValue);
|
||||||
case ">":
|
if (determinant == "<")
|
||||||
return AnyAsFloat(valARealValue) > AnyAsFloat(valBRealValue);
|
return AnyAsFloat(valARealValue) < AnyAsFloat(valBRealValue);
|
||||||
case "<":
|
|
||||||
return AnyAsFloat(valARealValue) < AnyAsFloat(valBRealValue);
|
|
||||||
default:
|
|
||||||
LogWarning("invalid determinant \'" + determinant + "\'");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -335,43 +329,34 @@ int varOperation(const vector<string>& str, unordered_map<string, any>& variable
|
|||||||
{
|
{
|
||||||
if (IsVar(str[0], variableValues))
|
if (IsVar(str[0], variableValues))
|
||||||
{
|
{
|
||||||
switch(str[1])
|
if (str[1] == "=")
|
||||||
{
|
variableValues[str[0]] = EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues);
|
||||||
case "=":
|
else if (str[1] == "+=")
|
||||||
variableValues[str[0]] = EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues);
|
variableValues[str[0]] = EvalExpression(str[0] + "+(" + unWrapVec(vector<string>(str.begin() + 2, str.end())) + ")", variableValues);
|
||||||
case "+=":
|
else if (str[1] == "-=")
|
||||||
variableValues[str[0]] = EvalExpression(str[0] + "+(" + unWrapVec(vector<string>(str.begin() + 2, str.end())) + ")", variableValues);
|
variableValues[str[0]] = AnyAsFloat(variableValues[str[0]]) - AnyAsFloat(EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues));
|
||||||
case "-=":
|
else if (str[1] == "*=")
|
||||||
variableValues[str[0]] = AnyAsFloat(variableValues[str[0]]) - AnyAsFloat(EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues));
|
variableValues[str[0]] = AnyAsFloat(variableValues[str[0]]) * AnyAsFloat(EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues));
|
||||||
case "*=":
|
else if (str[1] == "/=")
|
||||||
variableValues[str[0]] = AnyAsFloat(variableValues[str[0]]) * AnyAsFloat(EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues));
|
variableValues[str[0]] = AnyAsFloat(variableValues[str[0]]) / AnyAsFloat(EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues));
|
||||||
case "/=":
|
|
||||||
variableValues[str[0]] = AnyAsFloat(variableValues[str[0]]) / AnyAsFloat(EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues));
|
|
||||||
default:
|
|
||||||
LogWarning("invalid operator \'" + str[1] + "\'");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
//cout << variables[v] << " is " << variableValues[v] << endl;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else if (IsVar(str[0], globalVariableValues))
|
else if (IsVar(str[0], globalVariableValues))
|
||||||
{
|
{
|
||||||
switch(str[1])
|
if (str[1] == "=")
|
||||||
{
|
globalVariableValues[str[0]] = EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues);
|
||||||
case "=":
|
else if (str[1] == "+=")
|
||||||
globalVariableValues[str[0]] = EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues);
|
globalVariableValues[str[0]] = EvalExpression(str[0] + "+(" + unWrapVec(vector<string>(str.begin() + 2, str.end())) + ")", variableValues);
|
||||||
case "+=":
|
else if (str[1] == "-=")
|
||||||
globalVariableValues[str[0]] = EvalExpression(str[0] + "+(" + unWrapVec(vector<string>(str.begin() + 2, str.end())) + ")", variableValues);
|
globalVariableValues[str[0]] = AnyAsFloat(variableValues[str[0]]) - AnyAsFloat(EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues));
|
||||||
case "-=":
|
else if (str[1] == "*=")
|
||||||
globalVariableValues[str[0]] = AnyAsFloat(variableValues[str[0]]) - AnyAsFloat(EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues));
|
globalVariableValues[str[0]] = AnyAsFloat(variableValues[str[0]]) * AnyAsFloat(EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues));
|
||||||
case "*=":
|
else if (str[1] == "/=")
|
||||||
globalVariableValues[str[0]] = AnyAsFloat(variableValues[str[0]]) * AnyAsFloat(EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues));
|
globalVariableValues[str[0]] = AnyAsFloat(variableValues[str[0]]) / AnyAsFloat(EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues));
|
||||||
case "/=":
|
|
||||||
globalVariableValues[str[0]] = AnyAsFloat(variableValues[str[0]]) / AnyAsFloat(EvalExpression(unWrapVec(vector<string>(str.begin() + 2, str.end())), variableValues));
|
//cout << variables[v] << " is " << variableValues[v] << endl;
|
||||||
default:
|
|
||||||
LogWarning("invalid operator \'" + str[1] + "\'");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
LogWarning("uninitialized variable or typo in \'" << str[0] << "\'");
|
LogWarning("uninitialized variable or typo in \'" << str[0] << "\'");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user