PSCF v1.1
shiftToMinimum.h
1#ifndef PSCF_SHIFT_MINIMUM_H
2#define PSCF_SHIFT_MINIMUM_H
3
4/*
5* PSCF - Polymer Self-Consistent Field Theory
6*
7* Copyright 2016 - 2022, The Regents of the University of Minnesota
8* Distributed under the terms of the GNU General Public License.
9*/
10
11#include <pscf/crystal/UnitCell.h>
12#include <pscf/math/IntVec.h>
13#include <iostream>
14
15namespace Pscf
16{
17
18 using namespace Util;
19
28 template <int D>
29 IntVec<D> shiftToMinimum(IntVec<D>& v, IntVec<D> d, UnitCell<D> const & cell);
30
31 // Explicit specializations
32 template <>
33 IntVec<1> shiftToMinimum(IntVec<1>& v, IntVec<1> d, UnitCell<1> const & cell);
34
35 template <>
36 IntVec<2> shiftToMinimum(IntVec<2>& v, IntVec<2> d, UnitCell<2> const & cell);
37
38 template <>
39 IntVec<3> shiftToMinimum(IntVec<3>& v, IntVec<3> d, UnitCell<3> const & cell);
40
41}
42#endif
An IntVec<D, T> is a D-component vector of elements of integer type T.
Definition: IntVec.h:27
Base template for UnitCell<D> classes, D=1, 2 or 3.
Definition: UnitCell.h:44
C++ namespace for polymer self-consistent field theory (PSCF).
Utility classes for scientific computation.
Definition: accumulators.mod:1