File fftwhermitianpartners.h
File List > code_source > templat > include > TempLat > fft > external > fftw > fftwhermitianpartners.h
Go to the documentation of this file
#ifndef TEMPLAT_FFT_EXTERNAL_FFTW_FFTWHERMITIANPARTNERS_H
#define TEMPLAT_FFT_EXTERNAL_FFTW_FFTWHERMITIANPARTNERS_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 <memory>
#include "TempLat/util/exception.h"
#include "TempLat/lattice/memory/memorylayouts/hermitianredundancy.h"
#include "TempLat/lattice/memory/memorylayouts/hermitianpartners.h"
namespace TempLat
{
MakeException(FFTWHermitianPartnersWrongSizeException);
template <size_t NDim> class FFTWHermitianPartners : public HermitianPartners<NDim>
{
public:
static HermitianPartners<NDim> create(const device::IdxArray<NDim> &globalSizes)
{
auto instance = HermitianPartners<NDim>(globalSizes);
instance.setMode(HermitianPartnersMode::fftw);
return instance;
}
FFTWHermitianPartners() = delete;
};
} // namespace TempLat
#endif