File: cfparray.cpp

package info (click to toggle)
zfp 1.0.1-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,744 kB
  • sloc: cpp: 20,656; ansic: 18,871; pascal: 1,231; f90: 907; python: 255; makefile: 183; sh: 79; fortran: 70
file content (136 lines) | stat: -rw-r--r-- 3,331 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
// common constructor, destructor
static CFP_ARRAY_TYPE
_t1(CFP_ARRAY_TYPE, ctor_default)()
{
  CFP_ARRAY_TYPE a;
  a.object = new ZFP_ARRAY_TYPE();
  return a;
}

static CFP_ARRAY_TYPE
_t1(CFP_ARRAY_TYPE, ctor_copy)(CFP_ARRAY_TYPE src)
{
  CFP_ARRAY_TYPE a;
  a.object = new ZFP_ARRAY_TYPE(*static_cast<const ZFP_ARRAY_TYPE *>(src.object));
  return a;
}

static CFP_ARRAY_TYPE
_t1(CFP_ARRAY_TYPE, ctor_header)(CFP_HEADER_TYPE h, const void* buffer, size_t buffer_size_bytes)
{
  CFP_ARRAY_TYPE a;
  a.object = new ZFP_ARRAY_TYPE(*static_cast<zfp::array::header*>(h.object), buffer, buffer_size_bytes);
  return a;
}

static void
_t1(CFP_ARRAY_TYPE, dtor)(CFP_ARRAY_TYPE self)
{
  delete static_cast<ZFP_ARRAY_TYPE*>(self.object);
}

// functions defined in zfparray.h (base class)
static double
_t1(CFP_ARRAY_TYPE, rate)(CFP_ARRAY_TYPE self)
{
  return static_cast<const ZFP_ARRAY_TYPE*>(self.object)->rate();
}

static double
_t1(CFP_ARRAY_TYPE, set_rate)(CFP_ARRAY_TYPE self, double rate)
{
  return static_cast<ZFP_ARRAY_TYPE*>(self.object)->set_rate(rate);
}

static size_t
_t1(CFP_ARRAY_TYPE, size_bytes)(CFP_ARRAY_TYPE self, uint mask)
{
  return static_cast<const ZFP_ARRAY_TYPE*>(self.object)->size_bytes(mask);
}

static size_t
_t1(CFP_ARRAY_TYPE, compressed_size)(CFP_ARRAY_TYPE self)
{
  return static_cast<const ZFP_ARRAY_TYPE*>(self.object)->compressed_size();
}

static void*
_t1(CFP_ARRAY_TYPE, compressed_data)(CFP_ARRAY_TYPE self)
{
  return static_cast<const ZFP_ARRAY_TYPE*>(self.object)->compressed_data();
}

static void
_t1(CFP_ARRAY_TYPE, deep_copy)(CFP_ARRAY_TYPE self, const CFP_ARRAY_TYPE src)
{
  *static_cast<ZFP_ARRAY_TYPE*>(self.object) = *static_cast<const ZFP_ARRAY_TYPE*>(src.object);
}

// functions defined in subclasses
static size_t
_t1(CFP_ARRAY_TYPE, size)(CFP_ARRAY_TYPE self)
{
  return static_cast<const ZFP_ARRAY_TYPE*>(self.object)->size();
}

static size_t
_t1(CFP_ARRAY_TYPE, cache_size)(CFP_ARRAY_TYPE self)
{
  return static_cast<const ZFP_ARRAY_TYPE*>(self.object)->cache_size();
}

static void
_t1(CFP_ARRAY_TYPE, set_cache_size)(CFP_ARRAY_TYPE self, size_t bytes)
{
  static_cast<ZFP_ARRAY_TYPE*>(self.object)->set_cache_size(bytes);
}

static void
_t1(CFP_ARRAY_TYPE, clear_cache)(CFP_ARRAY_TYPE self)
{
  static_cast<const ZFP_ARRAY_TYPE*>(self.object)->clear_cache();
}

static void
_t1(CFP_ARRAY_TYPE, flush_cache)(CFP_ARRAY_TYPE self)
{
  static_cast<const ZFP_ARRAY_TYPE*>(self.object)->flush_cache();
}

static void
_t1(CFP_ARRAY_TYPE, get_array)(CFP_ARRAY_TYPE self, ZFP_SCALAR_TYPE * p)
{
  static_cast<const ZFP_ARRAY_TYPE*>(self.object)->get(p);
}

static void
_t1(CFP_ARRAY_TYPE, set_array)(CFP_ARRAY_TYPE self, const ZFP_SCALAR_TYPE * p)
{
  static_cast<ZFP_ARRAY_TYPE*>(self.object)->set(p);
}

static ZFP_SCALAR_TYPE
_t1(CFP_ARRAY_TYPE, get_flat)(CFP_ARRAY_TYPE self, size_t i)
{
  return static_cast<const ZFP_ARRAY_TYPE*>(self.object)->operator[](i);
}

static void
_t1(CFP_ARRAY_TYPE, set_flat)(CFP_ARRAY_TYPE self, size_t i, ZFP_SCALAR_TYPE val)
{
  static_cast<ZFP_ARRAY_TYPE*>(self.object)->operator[](i) = val;
}

static CFP_PTR_TYPE
_t2(CFP_ARRAY_TYPE, CFP_REF_TYPE, ptr)(CFP_REF_TYPE self)
{
  CFP_PTR_TYPE p;
  p.reference = self;
  return p;
}

static CFP_REF_TYPE
_t2(CFP_ARRAY_TYPE, CFP_PTR_TYPE, ref)(CFP_PTR_TYPE self)
{
  return self.reference;
}