|  | #ifndef TEST_PACKET_OSTREAM | 
|  | #define TEST_PACKET_OSTREAM | 
|  |  | 
|  | #include <type_traits> | 
|  | #include <ostream> | 
|  |  | 
|  | // Include this header to be able to print Packets while debugging. | 
|  |  | 
|  | template <typename Packet, | 
|  | typename EnableIf = std::enable_if_t<Eigen::internal::unpacket_traits<Packet>::vectorizable> > | 
|  | std::ostream& operator<<(std::ostream& os, const Packet& packet) { | 
|  | using Scalar = typename Eigen::internal::unpacket_traits<Packet>::type; | 
|  | Scalar v[Eigen::internal::unpacket_traits<Packet>::size]; | 
|  | Eigen::internal::pstoreu(v, packet); | 
|  | os << "{" << v[0]; | 
|  | for (int i = 1; i < Eigen::internal::unpacket_traits<Packet>::size; ++i) { | 
|  | os << "," << v[i]; | 
|  | } | 
|  | os << "}"; | 
|  | return os; | 
|  | } | 
|  |  | 
|  | #endif  // TEST_PACKET_OSTREAM |