Restore ABI compatibility for conj with 3.3, fix conflict with boost.

Restore ABI compatibility for conj with 3.3, fix conflict with boost.

The boost library unfortunately specializes conj for various types and assumes the original two-template-parameter version. This changes restores the second parameter. This also restores ABI compatibility.

The specialization for std::complex is because std::conj is not a device function. For custom complex scalar types, users should provide their own conj implementation.

We may consider removing the unnecessary second parameter in the future - but this will require modifying boost as well.

Fixes #2112 (closed).

Merge request reports

Loading