State-machine query operators in ModelingToolkitTearing throw UndefVarError for wrap
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 35/100
Línea de trabajo
The failing query operators are generated by the loop at lib/ModelingToolkitTearing/src/clock_inference/state_machines.jl:71-83; start by reading those methods and the reported wrap error. Check the corresponding tests, since the issue says this file appears uncovered. Done means the four query operators work without UndefVarError; linked pull request #171 is already open.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Goal
I am adding Modelica-style state machines to SynchToolkit (JuliaComputing/SynchToolkit.jl#252). The state machines are declared with the operators in lib/ModelingToolkitTearing/src/clock_inference/state_machines.jl. Transition conditions and equations refer to the state of a machine through the query operators activeState, ticksInState, timeInState and entry.
What fails
Every method of these four operators throws on ModelingToolkitTearing 1.20.7, and the code on main is the same:
using ModelingToolkit
using ModelingToolkit: t_nounits as t
import ModelingToolkit.MTKTearing as MTKT
@named s1 = System(Equation[], t, [], [])
MTKT.activeState(s1)
ERROR: UndefVarError: `wrap` not defined in `ModelingToolkitTearing`
Suggestion: check for spelling errors or missing imports.
Hint: a global variable of this name also exists in Symbolics.
Stacktrace:
[1] activeState(x::System)
@ ModelingToolkitTearing ~/.julia/packages/ModelingToolkitTearing/gRDNi/src/clock_inference/state_machines.jl:77
The zero-argument methods (ticksInState(), timeInState(), entry()) fail in the same way. transition and initial_state work.
The methods are generated by the loop at state_machines.jl:71-83 and call wrap(term($s, x)). wrap is not exported by Symbolics 7. The file does not appear to be covered by tests.
Workaround
SynchToolkit defines its own activeState, ticksInState, timeInState and entry, which construct the terms with Symbolics.wrap(SymbolicUtils.term(f, s; type, shape)).
Host: demeter2 · Session: https://claude.ai/code/session_01S12pk8C416QqoxphWRcPz8 · Working directory: ~/.julia/dev/SynchToolkit/.claude/worktrees/ancient-waddling-spindle
- Lenguaje dominante
- Julia
- Estrellas
- 8
- Forks
- 14
- Merge medio
- 8 d 8 h
- PR fusionados (30 d)
- 1
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de JuliaComputing/StateSelection.jl
-
Inline linear SCC solves share one `LinearCache` per matrix size, so every call refactorizesAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
-
Inlined linear SCC of three unknowns: the run-time solve dominates the cost of the right-hand sideAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
JuliaComputing/StateSelection.jl#173 · 3 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
JuliaComputing/StateSelection.jl#172 · 1 comentario ·
-
`maybe_zeros` check does not look inside a division, so tearing divides by a parameter expression that is zero (NaN in initialization)Posiblemente ocupada @mwhincup la tomó hace 19 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
JuliaComputing/StateSelection.jl#166 · 1 comentario ·
Todos los issues de JuliaComputing/StateSelection.jl
Issues similares
-
authority-de-dommel ready-for-agent
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
Deltares/Ribasim-NL#997 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Sienna-Platform/InfrastructureSystems.jl#675 ·
Los mantenedores suelen responder en 2 días
-
TargetEncoder reuses the first level's shrinkage factor for all levels when m > 0Posiblemente ocupada @parth-patel010 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
JuliaAI/MLJTransforms.jl#95 · 1 comentario ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
epiforecasts/BVDOutbreakSize#1232 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100