Internal change
PiperOrigin-RevId: 507586106
diff --git a/fuzztest/internal/domain.h b/fuzztest/internal/domain.h
index f2e8d4a..9d82001 100644
--- a/fuzztest/internal/domain.h
+++ b/fuzztest/internal/domain.h
@@ -18,6 +18,7 @@
#include <algorithm>
#include <array>
#include <cmath>
+#include <complex>
#include <cstddef>
#include <cstdint>
#include <iterator>
@@ -2938,6 +2939,17 @@
ArbitraryImpl<absl::Duration>()) {}
};
+template <class T>
+class ArbitraryImpl<std::complex<T>>
+ : public MapImpl<std::complex<T> (*)(T, T), ArbitraryImpl<T>,
+ ArbitraryImpl<T>> {
+ public:
+ ArbitraryImpl()
+ : MapImpl<std::complex<T> (*)(T, T), ArbitraryImpl<T>, ArbitraryImpl<T>>(
+ [](T real, T imag) { return std::complex<T>(real, imag); },
+ ArbitraryImpl<T>(), ArbitraryImpl<T>()) {}
+};
+
} // namespace fuzztest::internal
#endif // FUZZTEST_FUZZTEST_INTERNAL_DOMAIN_H_