#include "exchange_plan.hpp"

#include <cstdlib>
#include <iomanip>
#include <iostream>

int main(int argc, char **argv) {
  if (argc != 4) {
    std::cerr << "usage: exchange_plan_dump SENDER RECEIVER COUNT\n";
    return 2;
  }
  const unsigned sender = std::strtoul(argv[1], nullptr, 0);
  const unsigned receiver = std::strtoul(argv[2], nullptr, 0);
  const unsigned count = std::strtoul(argv[3], nullptr, 0);
  const auto plan = xcom::assemble(sender, receiver, count);
  for (const auto &row : {plan.sender, plan.receiver}) {
    for (std::uint32_t word : row) {
      std::cout << " 0x" << std::hex << word;
    }
    std::cout << std::dec << '\n';
  }
}
