[Chapel Merge] Add missing complex ops at compile-time (`*` and `/`)

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]

Compare: Comparing 107dc05e8cffa1359baac4a419d386f3b0c067f9...0cec9cab7596a6762b3c8b1e0b90d2ea0af9e8d6 · chapel-lang/chapel · GitHub

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