MorphoGraphX  2.0-1-227
ThrustTypes.hpp
Go to the documentation of this file.
1 //
2 // This file is part of MorphoGraphX - http://www.MorphoGraphX.org
3 // Copyright (C) 2012-2016 Richard S. Smith and collaborators.
4 //
5 // If you use MorphoGraphX in your work, please cite:
6 // http://dx.doi.org/10.7554/eLife.05864
7 //
8 // MorphoGraphX is free software, and is licensed under under the terms of the
9 // GNU General (GPL) Public License version 2.0, http://www.gnu.org/licenses.
10 //
11 #ifndef THRUST_HOST_TYPES_HPP
12 #define THRUST_HOST_TYPES_HPP
13 
14 #include <Geometry.hpp>
15 #include <thrust/host_vector.h>
16 #include <thrust/device_vector.h>
17 
18 namespace mgx
19 {
20  // Host vector types
21  typedef thrust::host_vector<bool> HostVbool;
22 
23  typedef thrust::host_vector<ushort> HostVus;
24  typedef thrust::host_vector<Point2i> HostV2i;
25 
26  typedef thrust::host_vector<uint> HostVu;
27  typedef thrust::host_vector<Point1u> HostV1u;
28  typedef thrust::host_vector<Point2u> HostV2u;
29  typedef thrust::host_vector<Point3u> HostV3u;
30  typedef thrust::host_vector<Point4u> HostV4u;
31  typedef thrust::host_vector<Point6u> HostV6u;
32  typedef thrust::host_vector<Point12u> HostV12u;
33  typedef thrust::host_vector<Point30u> HostV30u;
34 
35  typedef thrust::host_vector<float> HostVf;
36  typedef thrust::host_vector<Point3f> HostV3f;
37  typedef thrust::host_vector<Point4f> HostV4f;
38 
39  typedef thrust::host_vector<double> HostVd;
40  typedef thrust::host_vector<Point1d> HostV1d;
41  typedef thrust::host_vector<Point2d> HostV2d;
42  typedef thrust::host_vector<Point3d> HostV3d;
43  typedef thrust::host_vector<Point4d> HostV4d;
44  typedef thrust::host_vector<Point6d> HostV6d;
45  typedef thrust::host_vector<Point9d> HostV9d;
46 
47  typedef thrust::host_vector<Matrix1d> HostVM1d;
48  typedef thrust::host_vector<Matrix2d> HostVM2d;
49  typedef thrust::host_vector<Matrix3d> HostVM3d;
50  typedef thrust::host_vector<Matrix6x3d> HostVM6x3d;
51 
52  // device vector types
53  typedef thrust::device_vector<bool> DeviceVbool;
54 
55  typedef thrust::device_vector<ushort> DeviceVus;
56  typedef thrust::device_vector<Point2i> DeviceV2i;
57 
58  typedef thrust::device_vector<uint> DeviceVu;
59  typedef thrust::device_vector<Point1u> DeviceV1u;
60  typedef thrust::device_vector<Point2u> DeviceV2u;
61  typedef thrust::device_vector<Point3u> DeviceV3u;
62  typedef thrust::device_vector<Point4u> DeviceV4u;
63  typedef thrust::device_vector<Point6u> DeviceV6u;
64  typedef thrust::device_vector<Point12u> DeviceV12u;
65  typedef thrust::device_vector<Point30u> DeviceV30u;
66 
67  typedef thrust::device_vector<float> DeviceVf;
68  typedef thrust::device_vector<Point3f> DeviceV3f;
69  typedef thrust::device_vector<Point4f> DeviceV4f;
70 
71  typedef thrust::device_vector<double> DeviceVd;
72  typedef thrust::device_vector<Point1d> DeviceV1d;
73  typedef thrust::device_vector<Point2d> DeviceV2d;
74  typedef thrust::device_vector<Point3d> DeviceV3d;
75  typedef thrust::device_vector<Point4d> DeviceV4d;
76  typedef thrust::device_vector<Point6d> DeviceV6d;
77  typedef thrust::device_vector<Point9d> DeviceV9d;
78 
79  typedef thrust::device_vector<Matrix1d> DeviceVM1d;
80  typedef thrust::device_vector<Matrix2d> DeviceVM2d;
81  typedef thrust::device_vector<Matrix3d> DeviceVM3d;
82  typedef thrust::device_vector<Matrix6x3d> DeviceVM6x3d;
83 }
84 #endif
mgx::DeviceVd
thrust::device_vector< double > DeviceVd
Definition: ThrustTypes.hpp:71
mgx::DeviceVu
thrust::device_vector< uint > DeviceVu
Definition: ThrustTypes.hpp:58
mgx::DeviceVM3d
thrust::device_vector< Matrix3d > DeviceVM3d
Definition: ThrustTypes.hpp:81
mgx::DeviceV9d
thrust::device_vector< Point9d > DeviceV9d
Definition: ThrustTypes.hpp:77
mgx::DeviceVM2d
thrust::device_vector< Matrix2d > DeviceVM2d
Definition: ThrustTypes.hpp:80
mgx::DeviceV2d
thrust::device_vector< Point2d > DeviceV2d
Definition: ThrustTypes.hpp:73
mgx::HostV4f
thrust::host_vector< Point4f > HostV4f
Definition: ThrustTypes.hpp:37
mgx::DeviceV30u
thrust::device_vector< Point30u > DeviceV30u
Definition: ThrustTypes.hpp:65
mgx::HostVM1d
thrust::host_vector< Matrix1d > HostVM1d
Definition: ThrustTypes.hpp:47
mgx::DeviceVM6x3d
thrust::device_vector< Matrix6x3d > DeviceVM6x3d
Definition: ThrustTypes.hpp:82
mgx::DeviceV2i
thrust::device_vector< Point2i > DeviceV2i
Definition: ThrustTypes.hpp:56
mgx::DeviceV3f
thrust::device_vector< Point3f > DeviceV3f
Definition: ThrustTypes.hpp:68
mgx::HostVf
thrust::host_vector< float > HostVf
Definition: ThrustTypes.hpp:35
Geometry.hpp
mgx
Distributed matrix library.
Definition: Assert.hpp:26
mgx::DeviceV4f
thrust::device_vector< Point4f > DeviceV4f
Definition: ThrustTypes.hpp:69
mgx::HostV4u
thrust::host_vector< Point4u > HostV4u
Definition: ThrustTypes.hpp:30
mgx::DeviceVM1d
thrust::device_vector< Matrix1d > DeviceVM1d
Definition: ThrustTypes.hpp:79
mgx::HostVu
thrust::host_vector< uint > HostVu
Definition: ThrustTypes.hpp:26
mgx::HostV4d
thrust::host_vector< Point4d > HostV4d
Definition: ThrustTypes.hpp:43
mgx::HostV6u
thrust::host_vector< Point6u > HostV6u
Definition: ThrustTypes.hpp:31
mgx::HostVM3d
thrust::host_vector< Matrix3d > HostVM3d
Definition: ThrustTypes.hpp:49
mgx::DeviceV4u
thrust::device_vector< Point4u > DeviceV4u
Definition: ThrustTypes.hpp:62
mgx::HostV9d
thrust::host_vector< Point9d > HostV9d
Definition: ThrustTypes.hpp:45
mgx::DeviceV1d
thrust::device_vector< Point1d > DeviceV1d
Definition: ThrustTypes.hpp:72
mgx::DeviceV1u
thrust::device_vector< Point1u > DeviceV1u
Definition: ThrustTypes.hpp:59
mgx::DeviceVbool
thrust::device_vector< bool > DeviceVbool
Definition: ThrustTypes.hpp:53
mgx::HostV3u
thrust::host_vector< Point3u > HostV3u
Definition: ThrustTypes.hpp:29
mgx::HostV3d
thrust::host_vector< Point3d > HostV3d
Definition: ThrustTypes.hpp:42
mgx::DeviceV2u
thrust::device_vector< Point2u > DeviceV2u
Definition: ThrustTypes.hpp:60
mgx::HostVM6x3d
thrust::host_vector< Matrix6x3d > HostVM6x3d
Definition: ThrustTypes.hpp:50
mgx::HostVus
thrust::host_vector< ushort > HostVus
Definition: ThrustTypes.hpp:23
mgx::HostVd
thrust::host_vector< double > HostVd
Definition: ThrustTypes.hpp:39
mgx::DeviceV12u
thrust::device_vector< Point12u > DeviceV12u
Definition: ThrustTypes.hpp:64
mgx::HostV3f
thrust::host_vector< Point3f > HostV3f
Definition: ThrustTypes.hpp:36
mgx::HostVbool
thrust::host_vector< bool > HostVbool
Definition: ThrustTypes.hpp:21
mgx::HostV6d
thrust::host_vector< Point6d > HostV6d
Definition: ThrustTypes.hpp:44
mgx::DeviceV6u
thrust::device_vector< Point6u > DeviceV6u
Definition: ThrustTypes.hpp:63
mgx::DeviceV4d
thrust::device_vector< Point4d > DeviceV4d
Definition: ThrustTypes.hpp:75
mgx::HostV1d
thrust::host_vector< Point1d > HostV1d
Definition: ThrustTypes.hpp:40
mgx::DeviceV6d
thrust::device_vector< Point6d > DeviceV6d
Definition: ThrustTypes.hpp:76
mgx::DeviceV3u
thrust::device_vector< Point3u > DeviceV3u
Definition: ThrustTypes.hpp:61
mgx::HostVM2d
thrust::host_vector< Matrix2d > HostVM2d
Definition: ThrustTypes.hpp:48
mgx::HostV2i
thrust::host_vector< Point2i > HostV2i
Definition: ThrustTypes.hpp:24
mgx::DeviceVf
thrust::device_vector< float > DeviceVf
Definition: ThrustTypes.hpp:67
mgx::DeviceV3d
thrust::device_vector< Point3d > DeviceV3d
Definition: ThrustTypes.hpp:74
mgx::HostV2u
thrust::host_vector< Point2u > HostV2u
Definition: ThrustTypes.hpp:28
mgx::HostV30u
thrust::host_vector< Point30u > HostV30u
Definition: ThrustTypes.hpp:33
mgx::HostV2d
thrust::host_vector< Point2d > HostV2d
Definition: ThrustTypes.hpp:41
mgx::HostV1u
thrust::host_vector< Point1u > HostV1u
Definition: ThrustTypes.hpp:27
mgx::HostV12u
thrust::host_vector< Point12u > HostV12u
Definition: ThrustTypes.hpp:32
mgx::DeviceVus
thrust::device_vector< ushort > DeviceVus
Definition: ThrustTypes.hpp:55