Skip to content

feat: DA^RE power, VE indexed-assign fix, LOOP while-loop rewrite (v1.3.0)#94

Merged
hiibolt merged 1 commit into
masterfrom
worktree-radiant-yawning-quasar
Jun 5, 2026
Merged

feat: DA^RE power, VE indexed-assign fix, LOOP while-loop rewrite (v1.3.0)#94
hiibolt merged 1 commit into
masterfrom
worktree-radiant-yawning-quasar

Conversation

@hiibolt

@hiibolt hiibolt commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • DA/CD ^ RE operator: da_powi/cd_powi in polval.rs made pub; new TypeRule entries and RosyPow<&RE> impls added for both DA and CD in pow.rs
  • VE indexed assignment type fix: wire_inference_edges in assign/mod.rs now correctly resolves V(i) := expr as assigning to RE when V is a plain VE (previously stayed VE, causing false type errors)
  • LOOP while-loop rewrite: loop/mod.rs now generates a while-loop instead of for I in (start..=end).step_by(...) — fixes float step support and allows iterator variable mutation inside the body
  • embedded.rs: add [workspace] section to generated Cargo.toml so the rosy_output crate doesn't accidentally join the parent workspace

Test plan

  • DA ^ RE integration test: X := DA(1); R := X ^ 3; produces x₁³ term correctly
  • V(2) := 20.0; E := V(2) round-trips without type error
  • LOOP I 1 5 sums to 15; LOOP I 0 2 1 sums to 3
  • cargo test — 21/21 pass

- DA/CD ^ RE: make da_powi/cd_powi pub in polval.rs; add TypeRule
  entries and RosyPow<&RE> impls for DA and CD in pow.rs
- VE indexed assign: wire_inference_edges now resolves VE(i) as RE
  instead of staying VE when base_type==VE and dimensions==0
- LOOP: replace for-range/step_by with while-loop pattern — fixes
  float step support and allows iterator mutation inside the body
- embedded.rs: add [workspace] to generated Cargo.toml so rosy_output
  crate doesn't interfere with the parent workspace
@hiibolt hiibolt merged commit b2f3735 into master Jun 5, 2026
2 checks passed
@hiibolt hiibolt deleted the worktree-radiant-yawning-quasar branch June 5, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant