Complex numbers and their friends can greatly simplify systems of PDEs. Support this.
The user would specify a C++ datatype that supports +- (linear combinations) as well as */ (multiplication and division). Kranc would use this datatype instead of CCTK_REAL. The datatype would probably be represented as a vector of N CCTK_REALs (e.g. N=2 for complex numbers, N=4 for quaternions, etc.).
Complex numbers and their friends can greatly simplify systems of PDEs. Support this.
The user would specify a C++ datatype that supports +- (linear combinations) as well as */ (multiplication and division). Kranc would use this datatype instead of CCTK_REAL. The datatype would probably be represented as a vector of N CCTK_REALs (e.g. N=2 for complex numbers, N=4 for quaternions, etc.).