//#####################################################################
// Copyright 2021, Craig Schroeder.
// This file is part of PhysBAM whose distribution is governed by the license contained in the accompanying file PHYSBAM_COPYRIGHT.txt.
//#####################################################################
#include <Core/Interpolation/CUBIC_INTERPOLATION.h>
#include <Core/Interpolation/GENERAL_INTERPOLATION_CELL_DEFINITION.h>
#include <Core/Interpolation/GENERAL_INTERPOLATION_FACE_DEFINITION.h>
#include <Core/Interpolation/GENERAL_INTERPOLATION_NODE_DEFINITION.h>
namespace PhysBAM{
template class GENERAL_INTERPOLATION_CELL<VECTOR<double,1>,double,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<double,2>,SYMMETRIC_MATRIX<double,2>,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<double,2>,VECTOR<double,2>,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<double,2>,VECTOR<double,3>,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<double,2>,double,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<double,3>,SYMMETRIC_MATRIX<double,3>,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<double,3>,VECTOR<double,3>,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<double,3>,double,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<float,1>,float,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<float,2>,SYMMETRIC_MATRIX<float,2>,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<float,2>,VECTOR<float,2>,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<float,2>,VECTOR<float,3>,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<float,2>,float,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<float,3>,SYMMETRIC_MATRIX<float,3>,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<float,3>,VECTOR<float,3>,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_CELL<VECTOR<float,3>,float,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_FACE<VECTOR<double,1>,double,CUBIC_INTERPOLATION_STENCIL,false,ARRAY<double,FACE_INDEX<1> > >;
template class GENERAL_INTERPOLATION_FACE<VECTOR<double,2>,SYMMETRIC_MATRIX<double,2>,CUBIC_INTERPOLATION_STENCIL,false,ARRAY<SYMMETRIC_MATRIX<double,2>,FACE_INDEX<2> > >;
template class GENERAL_INTERPOLATION_FACE<VECTOR<double,2>,double,CUBIC_INTERPOLATION_STENCIL,false,ARRAY<double,FACE_INDEX<2> > >;
template class GENERAL_INTERPOLATION_FACE<VECTOR<double,3>,SYMMETRIC_MATRIX<double,3>,CUBIC_INTERPOLATION_STENCIL,false,ARRAY<SYMMETRIC_MATRIX<double,3>,FACE_INDEX<3> > >;
template class GENERAL_INTERPOLATION_FACE<VECTOR<double,3>,double,CUBIC_INTERPOLATION_STENCIL,false,ARRAY<double,FACE_INDEX<3> > >;
template class GENERAL_INTERPOLATION_FACE<VECTOR<float,1>,float,CUBIC_INTERPOLATION_STENCIL,false,ARRAY<float,FACE_INDEX<1> > >;
template class GENERAL_INTERPOLATION_FACE<VECTOR<float,2>,SYMMETRIC_MATRIX<float,2>,CUBIC_INTERPOLATION_STENCIL,false,ARRAY<SYMMETRIC_MATRIX<float,2>,FACE_INDEX<2> > >;
template class GENERAL_INTERPOLATION_FACE<VECTOR<float,2>,float,CUBIC_INTERPOLATION_STENCIL,false,ARRAY<float,FACE_INDEX<2> > >;
template class GENERAL_INTERPOLATION_FACE<VECTOR<float,3>,SYMMETRIC_MATRIX<float,3>,CUBIC_INTERPOLATION_STENCIL,false,ARRAY<SYMMETRIC_MATRIX<float,3>,FACE_INDEX<3> > >;
template class GENERAL_INTERPOLATION_FACE<VECTOR<float,3>,float,CUBIC_INTERPOLATION_STENCIL,false,ARRAY<float,FACE_INDEX<3> > >;
template class GENERAL_INTERPOLATION_NODE<VECTOR<double,1>,double,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_NODE<VECTOR<double,2>,SYMMETRIC_MATRIX<double,2>,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_NODE<VECTOR<double,2>,double,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_NODE<VECTOR<double,3>,SYMMETRIC_MATRIX<double,3>,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_NODE<VECTOR<double,3>,double,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_NODE<VECTOR<float,1>,float,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_NODE<VECTOR<float,2>,SYMMETRIC_MATRIX<float,2>,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_NODE<VECTOR<float,2>,float,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_NODE<VECTOR<float,3>,SYMMETRIC_MATRIX<float,3>,CUBIC_INTERPOLATION_STENCIL,false>;
template class GENERAL_INTERPOLATION_NODE<VECTOR<float,3>,float,CUBIC_INTERPOLATION_STENCIL,false>;
}
