You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Clean up generated code: scalar-matrix broadcast, literal hoists, trailing whitespace
Three deferred micro-cleanups, held out of the op-table refactor's
zero-snapshot-drift gate:
- matrix(scalar, m, n) as an elementwise operand against a genuine
rank-2 array now compiles to its scalar (native Fortran broadcast)
instead of materializing an O(m*n) temporary; the claimed dims are
still enforced -- compile error when statically wrong, runtime guard
spelled from the dim expressions when symbolic. All other contexts
keep the materialization paths, so no scalar with claimed array dims
escapes.
- hoist_unless_name() leaves literal constants alone (splicing a
literal has no side effects), retiring runif()'s caller-side
is.atomic() workaround and the temporaries floor()/ceiling()/%/%
spent on constants.
- The extern C signature joined newline-prefixed argument lines with
', ', leaving a trailing space on every line; it joins with a bare
comma now. A test helper cat()-ing a space before newline is fixed
the same way; the unused str_flatten_args() helper is deleted.
Snapshot churn is mechanical: extern signatures lose their trailing
space, two bind messages lose theirs. git diff --check is clean.
0 commit comments