// SPDX-FileCopyrightText: 2021 Benjamin Brock
//
// SPDX-License-Identifier: BSD-3-Clause

#pragma once

#include <bcl/bcl.hpp>
#include <string>
#include <unistd.h>

namespace BCL {

template <typename ...Args>
void print(const char* format, Args... args) {
  fflush(stdout);
  BCL::barrier();
  if (BCL::rank() == 0) {
    printf(format, args...);
  }
  fflush(stdout);
  BCL::barrier();
}

std::string hostname() {
  constexpr size_t MH = 2048;
  char buf[MH+1];
  gethostname(buf, MH);
  return std::string(buf);
}

} // end BCL
