Gradient Augmented Levelset Implementation in CPU & GPU
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
vec_n.cc (Latest change: Author:Lakshman Anumolu <acrlakshman@yahoo.co.in>, 2019-06-23 12:54:17 -0500, [commit: f05c6d6])
Go to the documentation of this file.
1
// Copyright 2019 Lakshman Anumolu, Raunak Bardia.
3
//
4
// Redistribution and use in source and binary forms, with or without
5
// modification, are permitted provided that the following conditions are
6
// met:
7
//
8
// 1. Redistributions of source code must retain the above copyright notice,
9
// this list of conditions and the following disclaimer.
10
//
11
// 2. Redistributions in binary form must reproduce the above copyright notice,
12
// this list of conditions and the following disclaimer in the documentation
13
// and/or other materials provided with the distribution.
14
//
15
// 3. Neither the name of the copyright holder nor the names of its contributors
16
// may be used to endorse or promote products derived from this software without
17
// specific prior written permission.
18
//
19
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
32
#include "
gals/utilities/vec_n.h
"
33
34
template
<
typename
T,
int
SIZE>
35
GALS::CPU::VecN<T, SIZE>::VecN
()
36
{
37
m_data.resize(SIZE);
38
39
for
(
int
i = 0; i < SIZE; ++i) m_data[i] = static_cast<T>(0);
40
}
41
42
template
<
typename
T,
int
SIZE>
43
GALS::CPU::VecN<T, SIZE>::~VecN
()
44
{
45
m_data.clear();
46
m_data.shrink_to_fit();
47
}
48
49
template
<
typename
T,
int
SIZE>
50
const
int
GALS::CPU::VecN<T, SIZE>::size
()
const
51
{
52
return
m_data.size();
53
}
54
55
template
<
typename
T,
int
SIZE>
56
const
T
GALS::CPU::VecN<T, SIZE>::operator[]
(
const
int
idx)
const
57
{
58
return
m_data[idx];
59
}
60
61
template
<
typename
T,
int
SIZE>
62
T&
GALS::CPU::VecN<T, SIZE>::operator[]
(
const
int
idx)
63
{
64
return
m_data[idx];
65
}
66
67
template
class
GALS::CPU::VecN<int, 1>
;
68
template
class
GALS::CPU::VecN<int, 2>
;
69
template
class
GALS::CPU::VecN<int, 3>
;
70
template
class
GALS::CPU::VecN<double, 0>
;
71
template
class
GALS::CPU::VecN<double, 1>
;
72
template
class
GALS::CPU::VecN<double, 2>
;
73
template
class
GALS::CPU::VecN<double, 3>
;
74
template
class
GALS::CPU::VecN<double, 4>
;
GALS::CPU::VecN::size
const int size() const
Definition:
vec_n.cc:50
GALS::CPU::VecN::~VecN
~VecN()
Definition:
vec_n.cc:43
GALS::CPU::VecN::operator[]
const T operator[](const int idx) const
Definition:
vec_n.cc:56
GALS::CPU::VecN::VecN
VecN()
Definition:
vec_n.cc:35
GALS::CPU::VecN
Definition:
vec_n.h:46
vec_n.h
vec_n.cc
Generated on Mon Jul 29 2019 15:24:07 for Gradient Augmented Levelset Implementation in CPU & GPU by
1.8.11