PRAgMaTIc  master
mpi_tools.cpp
Go to the documentation of this file.
1 /* Copyright (C) 2012 Imperial College London and others.
2  *
3  * Please see the AUTHORS file in the main source directory for a
4  * full list of copyright holders.
5  *
6  * Georgios Rokos
7  * Software Performance Optimisation Group
8  * Department of Computing
9  * Imperial College London
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  * 1. Redistributions of source code must retain the above copyright
15  * notice, this list of conditions and the following disclaimer.
16  * 2. Redistributions in binary form must reproduce the above
17  * copyright notice, this list of conditions and the following
18  * disclaimer in the documentation and/or other materials provided
19  * with the distribution.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
22  * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
23  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
26  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
28  * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
30  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
31  * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
32  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33  * SUCH DAMAGE.
34  */
35 
36 #include "mpi_tools.h"
37 
38 // Explicit instantiation for `char'
39 template <> mpi_type_wrapper<char>::mpi_type_wrapper() : mpi_type(MPI_CHAR) {}
40 // Explicit instantiation for `float'
41 template <> mpi_type_wrapper<float>::mpi_type_wrapper() : mpi_type(MPI_FLOAT) {}
42 // Explicit instantiation for `double'
43 template <> mpi_type_wrapper<double>::mpi_type_wrapper() : mpi_type(MPI_DOUBLE) {}
44 // Explicit instantiation for `short'
45 template <> mpi_type_wrapper<short>::mpi_type_wrapper() : mpi_type(MPI_SHORT) {}
46 // Explicit instantiation for `int'
47 template <> mpi_type_wrapper<int>::mpi_type_wrapper() : mpi_type(MPI_INT) {}
48 // Explicit instantiation for `long'
49 template <> mpi_type_wrapper<long>::mpi_type_wrapper() : mpi_type(MPI_LONG) {}
50 // Explicit instantiation for `unsigned long'
51 template <> mpi_type_wrapper<unsigned long>::mpi_type_wrapper() : mpi_type(MPI_UNSIGNED_LONG) {}
52 // Explicit instantiation for `long long'
53 template <> mpi_type_wrapper<long long>::mpi_type_wrapper() : mpi_type(MPI_LONG_LONG) {}
54