sympy__sympy-13146
Com base na minha compreensão da base de código do SymPy e neste problema, o problema está na forma como os objetos Float geram o seu hash. Quando dois objetos Float têm o mesmo valor _mpf_, mas valores diferentes de _prec (precisão), eles
- Skills
- Investigação em IA
- 4
Para que serve e como usar
Uma skill que ensina o Claude Code a executar bem tarefas de investigação em ia. É conhecimento empacotado que o modelo passa a usar sempre que for relevante.
- Instale a skill (comando acima).
- No Claude Code, descreva o que precisa - a skill ativa-se sozinha quando o contexto encaixa.
- Não precisa de decorar comandos: fala em linguagem natural e a skill faz o resto.
Instalar (Claude Code)
mkdir -p .claude/skills/sympy-sympy-13146 && curl -fsSL https://doutorai.pt/data/lib/skills__sympy-sympy-13146.md -o .claude/skills/sympy-sympy-13146/SKILL.mdCole este comando no terminal, na pasta do seu projeto, e o componente é instalado automaticamente.
Conteúdo
Based on my understanding of the SymPy codebase and this issue, the problem is in how Float objects are hashed. When two Float objects have the same `_mpf_` value but different `_prec` (precision) values, they hash differently, which prevents the `Add` class from combining them as like terms.
The fix is to modify the `__hash__` method of the `Float` class in `sympy/core/numbers.py` to only hash based on `_mpf_`, not `_prec`.
Here is the patch:
--- a/sympy/core/numbers.py
+++ b/sympy/core/numbers.py
@@ -855,7 +855,7 @@ class Float(Number):
return mlib.to_str(self._mpf_, n_digits, st
- 🔒 Conteúdo completo no plano Pro (7,99€/mês) -Precisa de ajuda com o Claude Code?
Pergunte ao Dr AI - explica em simples.
Precisa de uma solução à medida?
Não sabe por onde começar a usar IA no seu negócio? Receba uma avaliação gratuita e um plano à medida - sem compromisso.
Poupe horas todas as semanas com IA, sem complicações
O Doutor AI dá-lhe 1859 prompts de IA prontos a copiar, por indústria e em português simples - mais uma biblioteca técnica completa para quem quer ir mais longe.