Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Carrier type as basis for multi-dimensional ports

Abierto
#250 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
30/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Activo
Stack tecnológico
python
Área
backend

Línea de trabajo

Empieza siguiendo Register, PortReference.to, ConnectionBooster, Anderson, IR Port/PortRef y el registro de scopes; después, compara la rama fastsim referenciada en cuanto a su disposición de flat-buffer. Se considera terminado cuando se admitan portadores escalares, vectoriales y estructurados de disposición fija, preservando el slicing, el fan-out, el pass-through, el funcionamiento del solver y la nomenclatura de los elementos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

Ports currently carry real scalars only. Register is a float64 array (since 19da2b4), PortReference.to is a single fancy-index transfer.

Proposal: a generic Carrier type as the basis for multi-dimensional ports.

  • Default carrier is a real scalar, current behaviour unchanged
  • Vector carrier with fixed size
  • Structured carriers on top, e.g. a mixture (species amounts plus temperature, pressure)

Requirements

  • Layout is fixed at graph assembly and flattens to a contiguous float64 slice
  • Port slicing, fan-out and Subsystem/Interface pass-through operate on the flat representation
  • Algebraic loop solver (ConnectionBooster, Anderson) operates on the flat slice
  • Maps onto fastsim: Register is Vec<f64>, IR Port already has size, PortRef has elems
  • Scope recording can name elements from the carrier layout

Related: pathsim/pathview#332
Reference: kwmcbride/pathsim branch kevin/dev/bus (flat float64 buffers with compile-time layout)

Lenguaje dominante
Python
Estrellas
494
Forks
52
Merge medio
10 min
PR fusionados (30 d)
2

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de pathsim/pathsim

Todos los issues de pathsim/pathsim

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.