PSCF v1.2
shiftToMinimum.h
1#ifndef PRDC_SHIFT_MINIMUM_H
2#define PRDC_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 <prdc/crystal/UnitCell.h>
12#include <pscf/math/IntVec.h>
13#include <iostream>
14
15namespace Pscf {
16namespace Prdc {
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}
43#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 rpg/System.h:34
PSCF package top-level namespace.
Definition param_pc.dox:1
Utility classes for scientific computation.