Merge pull request #254 from RedGl0w/additional_result_trigo

Changes to the trigonometry additional result
This commit is contained in:
Yaya-Cout
2025-11-05 17:17:44 +00:00
committed by GitHub
10 changed files with 70 additions and 22 deletions

View File

@@ -183,7 +183,7 @@ public:
bool isRationalOne() const;
bool isRandom() const { return node()->isRandom(); }
bool isParameteredExpression() const { return node()->isParameteredExpression(); }
bool isDefinedCosineOrSine(Context * context, Preferences::ComplexFormat complexFormat, Preferences::AngleUnit angleUnit) const;
bool isDefinedCosineOrSineOrTangent(Context * context, Preferences::ComplexFormat complexFormat, Preferences::AngleUnit angleUnit) const;
bool isBasedIntegerCappedBy(const char * integerString) const;
bool isDivisionOfIntegers() const;
bool hasDefinedComplexApproximation(Context * context, Preferences::ComplexFormat complexFormat, Preferences::AngleUnit angleUnit) const;

View File

@@ -292,9 +292,9 @@ bool Expression::getLinearCoefficients(char * variables, int maxVariableSize, Ex
return !isMultivariablePolynomial;
}
bool Expression::isDefinedCosineOrSine(Context * context, Preferences::ComplexFormat complexFormat, Preferences::AngleUnit angleUnit) const {
bool Expression::isDefinedCosineOrSineOrTangent(Context * context, Preferences::ComplexFormat complexFormat, Preferences::AngleUnit angleUnit) const {
ExpressionNode::Type t = type();
if (t == ExpressionNode::Type::Cosine || t == ExpressionNode::Type::Sine) {
if (t == ExpressionNode::Type::Cosine || t == ExpressionNode::Type::Sine || t == ExpressionNode::Type::Tangent) {
float r = childAtIndex(0).approximateToScalar<float>(context, complexFormat, angleUnit);
if (!std::isnan(r)) {
return true;