OSDN Git Service

new file: Integration/Tomography/Makefile.recent
[eos/hostdependX86LINUX64.git] / hostdepend / X86MAC64 / util / X86MAC64 / cuda / samples / 7_CUDALibraries / common / UtilNPP / SignalsCPU.h
1 /**
2  * Copyright 1993-2013 NVIDIA Corporation.  All rights reserved.
3  *
4  * Please refer to the NVIDIA end user license agreement (EULA) associated
5  * with this source code for terms and conditions that govern your use of
6  * this software. Any use, reproduction, disclosure, or distribution of
7  * this software and related documentation outside the terms of the EULA
8  * is strictly prohibited.
9  *
10  */
11
12 #ifndef NV_UTIL_NPP_SIGNALS_CPU_H
13 #define NV_UTIL_NPP_SIGNALS_CPU_H
14
15 #include "Signal.h"
16
17 #include "SignalAllocatorsCPU.h"
18 #include "Exceptions.h"
19
20 #include <npp.h>
21
22
23 namespace npp
24 {
25
26     template<typename D, class A>
27     class SignalCPU: public npp::SignalTemplate<D, A>
28     {
29         public:
30             typedef typename npp::SignalTemplate<D, A>::tData tData;
31
32             SignalCPU()
33             {
34                 ;
35             }
36
37             SignalCPU(size_t nSize): SignalTemplate<D, A>(nSize)
38             {
39                 ;
40             }
41
42             SignalCPU(const SignalCPU<D, A> &rSignal): SignalTemplate<D, A>(rSignal)
43             {
44                 ;
45             }
46
47             virtual
48             ~SignalCPU()
49             {
50                 ;
51             }
52
53             SignalCPU &
54             operator= (const SignalCPU<D,A> &rSignal)
55             {
56                 SignalTemplate<D, A>::operator= (rSignal);
57
58                 return *this;
59             }
60
61             tData &
62             operator [](unsigned int i)
63             {
64                 return *SignalTemplate<D, A>::values(i);
65             }
66
67             tData
68             operator [](unsigned int i)
69             const
70             {
71                 return *SignalTemplate<D, A>::values(i);
72             }
73
74     };
75
76     typedef SignalCPU<Npp8u,   npp::SignalAllocatorCPU<Npp8u>   >   SignalCPU_8u;
77     typedef SignalCPU<Npp32s,  npp::SignalAllocatorCPU<Npp32s>  >   SignalCPU_32s;
78     typedef SignalCPU<Npp16s,  npp::SignalAllocatorCPU<Npp16s>  >   SignalCPU_16s;
79     typedef SignalCPU<Npp16sc, npp::SignalAllocatorCPU<Npp16sc> >   SignalCPU_16sc;
80     typedef SignalCPU<Npp32sc, npp::SignalAllocatorCPU<Npp32sc> >   SignalCPU_32sc;
81     typedef SignalCPU<Npp32f,  npp::SignalAllocatorCPU<Npp32f>  >   SignalCPU_32f;
82     typedef SignalCPU<Npp32fc, npp::SignalAllocatorCPU<Npp32fc> >   SignalCPU_32fc;
83     typedef SignalCPU<Npp64s,  npp::SignalAllocatorCPU<Npp64s>  >   SignalCPU_64s;
84     typedef SignalCPU<Npp64sc, npp::SignalAllocatorCPU<Npp64sc> >   SignalCPU_64sc;
85     typedef SignalCPU<Npp64f,  npp::SignalAllocatorCPU<Npp64f>  >   SignalCPU_64f;
86     typedef SignalCPU<Npp64fc, npp::SignalAllocatorCPU<Npp64fc> >   SignalCPU_64fc;
87
88 } // npp namespace
89
90 #endif // NV_UTIL_NPP_SIGNALS_CPU_H