Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

A trigonometric over a symbolic quadratic with a double root is NaN everywhere

Fermée
#1,879 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
csharp
Domaine
backend

Piste de recherche

The bug is in SolveATrigonometricOfALinearOverAPowerOfALinear, which splits the quadratic over its two roots without checking whether the discriminant is zero. Start there, then reproduce the two inputs from the table with ToEntity().Integrate("x"). Done means the double-root case returns a finite antiderivative that passes the exact check at x = -3/10 and 4/5 with a = 3/2.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

A sine or cosine over a quadratic with symbolic coefficients and a double root is answered with an expression whose value is NaN everywhere.

Input 2.5.0 master 7df66948
"sin(x)/(a*x^2 + 2*a*x + a)".ToEntity().Integrate("x") integral(...) 644 characters, NaN at every point
"sin(a + b*x)/((c + d)*x^2 + 2*(c + d)*x + (c + d))".ToEntity().Integrate("x") integral(...) 1,128 characters, NaN at every point

SolveATrigonometricOfALinearOverAPowerOfALinear splits the quadratic over its two roots, (-m ± sqrt(m^2 - 4 l n))/(2 l), without noticing that the discriminant is identically zero. The partial fractions then divide by the difference of two equal roots. The exact check gives NaN at x = −3/10 and 4/5 with a = 3/2. The fix reads a double root as the linear x + m/(2 l) twice.

Part of #718

Langage dominant
C#
Étoiles
831
Forks
79
Merge moyen
1 h 17 min
PR mergées (30 j)
543

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ASC-Community/AngouriMath

Toutes les issues de ASC-Community/AngouriMath

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.