22 void print(std::ostream&
out)
const {
29 buffer <<
", " << data_[1];
32 buffer <<
", " << data_[2];
47 std::ostream& operator<<(std::ostream& out, Column<T>
const&
column) {
62 for (int32_t
i = 0;
i <
view.metadata().size(); ++
i) {
68 msg <<
" data @ " << product.
buffer().get() <<
",\n" 69 <<
" x @ " <<
view.metadata().addressOf_x() <<
" = " << Column(
view.x(),
view.metadata().size()) <<
",\n" 70 <<
" y @ " <<
view.metadata().addressOf_y() <<
" = " << Column(
view.y(),
view.metadata().size()) <<
",\n" 71 <<
" z @ " <<
view.metadata().addressOf_z() <<
" = " << Column(
view.z(),
view.metadata().size()) <<
",\n" 72 <<
" id @ " <<
view.metadata().addressOf_id() <<
" = " << Column(
view.id(),
view.metadata().size()) <<
",\n" 73 <<
" r @ " <<
view.metadata().addressOf_r() <<
" = " <<
view.r() <<
'\n' 74 <<
" m @ " <<
view.metadata().addressOf_m() <<
" = { ... {" <<
view[1].m()(1,
Eigen::all) <<
" } ... } \n";
75 msg << std::hex <<
" [y - x] = 0x" 76 <<
reinterpret_cast<intptr_t
>(
view.metadata().addressOf_y()) -
77 reinterpret_cast<intptr_t>(
view.metadata().addressOf_x())
79 << reinterpret_cast<intptr_t>(
view.metadata().addressOf_z()) -
80 reinterpret_cast<intptr_t>(
view.metadata().addressOf_y())
82 << reinterpret_cast<intptr_t>(
view.metadata().addressOf_id()) -
83 reinterpret_cast<intptr_t>(
view.metadata().addressOf_z())
85 << reinterpret_cast<intptr_t>(
view.metadata().addressOf_r()) -
86 reinterpret_cast<intptr_t>(
view.metadata().addressOf_id())
88 << reinterpret_cast<intptr_t>(
view.metadata().addressOf_m()) -
89 reinterpret_cast<intptr_t>(
view.metadata().addressOf_r());
91 const portabletest::Matrix matrix{{1, 2, 3, 4, 5, 6}, {2, 4, 6, 8, 10, 12}, {3, 6, 9, 12, 15, 18}};
93 for (int32_t
i = 0;
i <
view.metadata().size(); ++
i) {
const edm::EDGetTokenT< cudatest::TestHostCollection > token_
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
const edm::InputTag source_
Eigen::Matrix< double, 3, 6 > Matrix
TestPortableAnalyzer(edm::ParameterSet const &config)
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
void analyze(edm::Event const &event, edm::EventSetup const &) override
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
#define DEFINE_FWK_MODULE(type)
ConstView const & const_view() const
char data[epos_bytes_allocation]
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)