1 /*
2  * Medical Image Registration ToolKit (MIRTK)
3  *
4  * Copyright 2013-2015 Imperial College London
5  * Copyright 2013-2018 Andreas Schuh
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *     http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19 
20 #include "mirtk/BSpline.h"
21 
22 namespace mirtk {
23 
24 
25 #ifndef __clang__
26 
27 // Lookup table of B-spline function values
28 template <class TReal> MIRTK_Numerics_EXPORT TReal BSpline<TReal>::WeightLookupTable[BSpline<TReal>::LookupTableSize];
29 
30 // Lookup table of B-spline basis function values
31 template <class TReal> MIRTK_Numerics_EXPORT TReal BSpline<TReal>::LookupTable   [BSpline<TReal>::LookupTableSize][4];
32 template <class TReal> MIRTK_Numerics_EXPORT TReal BSpline<TReal>::LookupTable_I [BSpline<TReal>::LookupTableSize][4];
33 template <class TReal> MIRTK_Numerics_EXPORT TReal BSpline<TReal>::LookupTable_II[BSpline<TReal>::LookupTableSize][4];
34 
35 // Wether lookup tables of B-spline kernel were initialized
36 template <class TReal> MIRTK_Numerics_EXPORT bool BSpline<TReal>::_initialized = false;
37 
38 #endif // !defined(__clang__)
39 
40 
41 // Explicit template instantiations
42 template class BSpline<float>;
43 template class BSpline<double>;
44 
45 
46 } // namespace mirtk
47