sablib
Loading...
Searching...
No Matches
data.cpp
Go to the documentation of this file.
1
6
7#include "data.h"
8
9//
10// Implementation of AllocSablibData() function
11//
12const SABLIB_DATA_PTR AllocSablibData(const size_t size)
13{
14 SABLIB_DATA_PTR p = new SABLIB_DATA;
15 p->size = size;
16 p->data = new double[size];
17
18 return p;
19}
20
21//
22// Implementation of FreeSablibData() function
23//
24void FreeSablibData(SABLIB_DATA_PTR data)
25{
26 if(data != nullptr) {
27 delete data->data;
28 delete data;
29 }
30
31 data = nullptr;
32}
33
34//
35// Implementation of AllocSablibBaselineData() function
36//
37const SABLIB_BASELINE_DATA_PTR AllocSablibBaselineData(const size_t size)
38{
39 SABLIB_BASELINE_DATA_PTR p = new SABLIB_BASELINE_DATA;
40 p->baseline.size = size;
41 p->baseline.data = new double[size];
42 p->corrected.size = size;
43 p->corrected.data = new double[size];
44
45 return p;
46}
47
48//
49// Implementation of FreeSablibBaselineData() function
50//
51void FreeSablibBaselineData(SABLIB_BASELINE_DATA_PTR data)
52{
53 if(data != nullptr) {
54 delete data->baseline.data;
55 delete data->corrected.data;
56 delete data;
57 }
58
59 data = nullptr;
60}
void FreeSablibData(SABLIB_DATA_PTR data)
Frees a SABLIB_DATA structure and its data body.
Definition data.cpp:24
const SABLIB_DATA_PTR AllocSablibData(const size_t size)
Allocates a SABLIB_DATA structure.
Definition data.cpp:12
const SABLIB_BASELINE_DATA_PTR AllocSablibBaselineData(const size_t size)
Allocates a SABLIB_BASELINE_DATA structure.
Definition data.cpp:37
void FreeSablibBaselineData(SABLIB_BASELINE_DATA_PTR data)
Frees a SABLIB_BASELINE_DATA structure and its members.
Definition data.cpp:51
Definition of data structures for the C interface of sablib, creation and release of data.
struct _stSablibData SABLIB_DATA
Definition of sablib data structure.
struct _stSablibBaselineData SABLIB_BASELINE_DATA
Definition of the data structure for the return value of sablib baseline functions.
SABLIB_DATA corrected
Definition data.h:31
SABLIB_DATA baseline
Definition data.h:30
size_t size
Definition data.h:21
double * data
Definition data.h:22