|
27 | 27 | #:set REAL_KINDS = REAL_KINDS + ["qp"]
|
28 | 28 | #:endif
|
29 | 29 |
|
| 30 | +#! BLAS/LAPACK initials for each real kind |
| 31 | +#:set REAL_INIT = ["s", "d"] |
| 32 | +#:if WITH_XDP |
| 33 | +#:set REAL_INIT = REAL_INIT + ["x"] |
| 34 | +#:endif |
| 35 | +#:if WITH_QP |
| 36 | +#:set REAL_INIT = REAL_INIT + ["q"] |
| 37 | +#:endif |
| 38 | + |
30 | 39 | #! Real types to be considered during templating
|
31 | 40 | #:set REAL_TYPES = ["real({})".format(k) for k in REAL_KINDS]
|
32 | 41 |
|
33 | 42 | #! Collected (kind, type) tuples for real types
|
34 |
| -#:set REAL_KINDS_TYPES = list(zip(REAL_KINDS, REAL_TYPES)) |
| 43 | +#:set REAL_KINDS_TYPES = list(zip(REAL_KINDS, REAL_TYPES, REAL_INIT)) |
35 | 44 |
|
36 | 45 | #! Complex kinds to be considered during templating
|
37 | 46 | #:set CMPLX_KINDS = ["sp", "dp"]
|
|
42 | 51 | #:set CMPLX_KINDS = CMPLX_KINDS + ["qp"]
|
43 | 52 | #:endif
|
44 | 53 |
|
| 54 | +#! BLAS/LAPACK initials for each complex kind |
| 55 | +#:set CMPLX_INIT = ["c", "z"] |
| 56 | +#:if WITH_XDP |
| 57 | +#:set CMPLX_INIT = CMPLX_INIT + ["y"] |
| 58 | +#:endif |
| 59 | +#:if WITH_QP |
| 60 | +#:set CMPLX_INIT = CMPLX_INIT + ["w"] |
| 61 | +#:endif |
| 62 | + |
45 | 63 | #! Complex types to be considered during templating
|
46 | 64 | #:set CMPLX_TYPES = ["complex({})".format(k) for k in CMPLX_KINDS]
|
47 | 65 |
|
48 |
| -#! Collected (kind, type) tuples for complex types |
49 |
| -#:set CMPLX_KINDS_TYPES = list(zip(CMPLX_KINDS, CMPLX_TYPES)) |
| 66 | +#! Collected (kind, type, initial) tuples for complex types |
| 67 | +#:set CMPLX_KINDS_TYPES = list(zip(CMPLX_KINDS, CMPLX_TYPES, CMPLX_INIT)) |
50 | 68 |
|
51 | 69 | #! Integer kinds to be considered during templating
|
52 | 70 | #:set INT_KINDS = ["int8", "int16", "int32", "int64"]
|
|
109 | 127 | #{if rank > 0}#(${":" + ",:" * (rank - 1)}$)#{endif}#
|
110 | 128 | #:enddef
|
111 | 129 |
|
| 130 | +#! Generates an empty array rank suffix. |
| 131 | +#! |
| 132 | +#! Args: |
| 133 | +#! rank (int): Rank of the variable |
| 134 | +#! |
| 135 | +#! Returns: |
| 136 | +#! Empty array rank suffix string (e.g. (0,0) if rank = 2) |
| 137 | +#! |
| 138 | +#:def emptyranksuffix(rank) |
| 139 | +#{if rank > 0}#(${"0" + ",0" * (rank - 1)}$)#{endif}# |
| 140 | +#:enddef |
112 | 141 |
|
113 | 142 | #! Joins stripped lines with given character string
|
114 | 143 | #!
|
|
0 commit comments