Skip to content

File hermitianredundancy.h

File List > code_source > templat > include > TempLat > lattice > memory > memorylayouts > hermitianredundancy.h

Go to the documentation of this file

#ifndef TEMPLAT_FFT_MEMORYLAYOUTS_HERMITIANREDUNDANCY_H
#define TEMPLAT_FFT_MEMORYLAYOUTS_HERMITIANREDUNDANCY_H

/* This file is part of TempLat, available at https://cosmolattice.github.io/templat .
   Copyright 2021-2026 The TempLat authors, see AUTHORS.md.
   Released under the MIT license, see LICENSE.md. */

// File info: Main contributor(s): Wessel Valkenburg, Year: 2019

#include <ostream>

namespace TempLat
{
  enum class HermitianRedundancy {
    none,

    negativePartner,

    positivePartner,

    realValued
  };

  inline std::ostream &operator<<(std::ostream &ostream, const HermitianRedundancy &hr)
  {
    ostream << "HermitianRedundancy::";
    switch (hr) {
    case HermitianRedundancy::negativePartner:
      ostream << "negativePartner";
      break;
    case HermitianRedundancy::positivePartner:
      ostream << "positivePartner";
      break;
    case HermitianRedundancy::realValued:
      ostream << "realValued";
      break;
    case HermitianRedundancy::none:
    default:
      ostream << "none";
      break;
    }
    return ostream;
  }
} // namespace TempLat

#endif