Branch: refs/heads/main
Revision: fc0a132049ee36ed0c70fedf01703125919b4f68
Author: jabraham17
Link: Add missing complex ops at compile-time (`*` and `/`) by jabraham17 · Pull Request #29081 · chapel-lang/chapel · GitHub
Log Message:
Add missing complex ops at compile-time (* and /) (#29081)
Adds the missing * and / at compile-time for params
I originally started to implement ** for param's per
Add missing imag/complex `**` operators · Issue #28898 · chapel-lang/chapel · GitHub, but then quickly
found that * and / were missing. This seems to have been left as
future work from Enable param real operations by mppf · Pull Request #12386 · chapel-lang/chapel · GitHub.
I also noticed that several other operations were missing, which I noted
in Missing comparison and min/max on imag · Issue #29051 · chapel-lang/chapel · GitHub
- paratest
[Reviewed by @benharsh]
Diff:
M compiler/AST/checkAST.cpp
M compiler/AST/primitive.cpp
M compiler/resolution/postFold.cpp
M frontend/include/chpl/uast/prim-ops-list.h
M frontend/lib/immediates/complex-support.c
M frontend/lib/immediates/complex-support.h
M frontend/lib/immediates/num.cpp
M frontend/lib/immediates/prim_data.h
M frontend/lib/resolution/prims.cpp
M modules/internal/ChapelBase.chpl
A test/expressions/paramComplexOps.chpl
A test/expressions/paramComplexOps.compopts
A test/expressions/paramComplexOps.good
M test/types/tuple/errors/genericArrayAsTupleSize.good
https://github.com/chapel-lang/chapel/pull/29081.diff