Tables of Operations on Complex Polymorph Type

          +     COMPLEX REAL Integer
DOUBLE COMPLEX COMPLEX(DP) REAL_8 rEAL(DP) REAL(SP)
COMPLEX DOUBLE COMPLEX ADD CADDSC ADDP DADDSC ADDSC IADDSC
COMPLEX(DP) CSCADD F90 CPSCADD F90 F90     F90
REAL REAL_8 PADD CPADDSC ADD DADDSC ADDSC IADDSC
REAL(DP) DSCADD F90 DSCADD F90 F90 F90
REAL(SP) SCADD F90 SCADD F90 F90 F90
Integer ISCADD F90 ISCADD F90 F90 F90

F90= Intrisic Fortran Operation; dp=double; sp = single.

          -    COMPLEX REAL Integer
DOUBLE COMPLEX COMPLEX(DP) REAL_8 rEAL(DP) REAL(SP)
COMPLEX DOUBLE COMPLEX SUSB CSUBSC SUBP DSUBSC SUBSC ISUBSC
COMPLEX(DP) CSCSUB F90 CPSCSUB F90 F90     F90
REAL REAL_8 PSUB CPSUBSC SUBS DSUBSC SUBSC ISUBSC
REAL(DP) DSCSUB F90 DSCSUB F90 F90 F90
REAL(SP) SCSUB F90 SCSUB F90 F90 F90
Integer ISCSUB F90 ISCSUB F90 F90 F90

 

          *     COMPLEX REAL Integer
DOUBLE COMPLEX COMPLEX(DP) REAL_8 rEAL(DP) REAL(SP)
COMPLEX DOUBLE COMPLEX MUL CMULSC MULP DMULSC MULSC IMULSC
COMPLEX(DP) CSCMUL F90 CPSCMUL F90 F90     F90
REAL REAL_8 PMUL CPMULSC MUL DMULSC MULSC IMULSC
REAL(DP) DSCMUL F90 DSCMUL F90 F90 F90
REAL(SP) SCMUL F90 SCMUL F90 F90 F90
Integer ISCMUL F90 ISCMUL F90 F90 F90

 

          /      COMPLEX REAL Integer
DOUBLE COMPLEX COMPLEX(DP) REAL_8 rEAL(DP) REAL(SP)
COMPLEX DOUBLE COMPLEX DIV CDIVSC DIVP DDIVSC DIVSC IDIVSC
COMPLEX(DP) CSCDIV F90 CPSCDIV F90 F90     F90
REAL REAL_8 PDIV CPDIVSC DIV DDIVSC DIVSC IDIVSC
REAL(DP) DSCDIV F90 DSCDIV F90 F90 F90
REAL(SP) SCDIV F90 SCDIV F90 F90 F90
Integer ISCDIV F90 ISCDIV F90 F90 F90