Vectorize conj
Summary
This vectorizes the conj function.
Tests
This did a minor re-write of the vectorization test framework to add the option for functions which only support complex inputs. This changed the enum we use for settings accordingly:
-enum class PromoteToComplex { No, Yes };
+enum class ScalarSupport { Real, RealAndComplex, ComplexOnly };
Side Effects
Many test files changed as part of that renaming, but none of them changed in meaning.
Release notes
The conj function is vectorized for Eigen and std::vector types.
Checklist
-
[x] Math issue: Closes #2815
-
[x] Copyright holder: Simons Foundation
The copyright holder is typically you or your assignee, such as a university or company. By submitting this pull request, the copyright holder is agreeing to the license the submitted work under the following licenses: - Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause) - Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
-
[x] the basic tests are passing
- unit tests pass (to run, use:
./runTests.py test/unit) - header checks pass, (
make test-headers) - dependencies checks pass, (
make test-math-dependencies) - docs build, (
make doxygen) - code passes the built in C++ standards checks (
make cpplint)
- unit tests pass (to run, use:
-
[x] the code is written in idiomatic C++ and changes are documented in the doxygen
-
[x] the new changes are tested