TPCCLIB
Toggle main menu visibility
Loading...
Searching...
No Matches
libtpccurveio
dftres.c
Go to the documentation of this file.
1
5
/*****************************************************************************/
6
#include "
libtpccurveio.h
"
7
/*****************************************************************************/
8
9
/*****************************************************************************/
14
int
res_allocate_with_dft
(
16
RES
*res,
18
DFT
*dft
19
) {
20
int
ri;
21
22
//printf("res_allocate_with_dft()\n"); fflush(stdout);
23
// Check the input data
24
if
(res==NULL || dft==NULL || dft->
voiNr
<1)
return
1;
25
// Allocate memory
26
if
(
resSetmem
(res, dft->
voiNr
)!=0)
return
2;
27
res->
voiNr
=dft->
voiNr
;
28
// Copy header information
29
strcpy(res->
studynr
, dft->
studynr
);
30
res->
Vb
=-1.0;
31
res->
fA
=-1.0;
32
res->
E
=-1.0;
33
res->
time
=time(NULL);
// Set current time to results
34
res->
isweight
=dft->
isweight
;
35
/* Copy region names, etc */
36
for
(ri=0; ri<dft->
voiNr
; ri++) {
37
strcpy(res->
voi
[ri].
name
, dft->
voi
[ri].
name
);
38
strcpy(res->
voi
[ri].
voiname
, dft->
voi
[ri].
voiname
);
39
strcpy(res->
voi
[ri].
hemisphere
, dft->
voi
[ri].
hemisphere
);
40
strcpy(res->
voi
[ri].
place
, dft->
voi
[ri].
place
);
41
}
42
/* Set data range */
43
if
(dft->
timetype
==
DFT_TIME_STARTEND
)
44
sprintf(res->
datarange
,
"%g - %g %s"
,
45
dft->
x1
[0], dft->
x2
[dft->
frameNr
-1],
petTunit
(dft->
timeunit
) );
46
else
47
sprintf(res->
datarange
,
"%g - %g %s"
,
48
dft->
x
[0], dft->
x
[dft->
frameNr
-1],
petTunit
(dft->
timeunit
) );
49
res->
datanr
=dft->
frameNr
;
50
51
return
0;
52
}
53
/*****************************************************************************/
54
55
/*****************************************************************************/
60
int
dftToResult
(
62
DFT
*dft,
64
RES
*res,
67
char
*status
68
) {
69
int
ri, fi;
70
71
// Check the input data
72
if
(status!=NULL) sprintf(status,
"program error"
);
73
if
(res==NULL || dft==NULL || dft->
voiNr
<1 || dft->
frameNr
<1)
return
1;
74
// Allocate memory and copy most of headers
75
if
(
res_allocate_with_dft
(res, dft) != 0) {
76
if
(status!=NULL) sprintf(status,
"cannot setup results data"
);
77
return
2;
78
}
79
res->
parNr
=dft->
frameNr
;
if
(res->
parNr
>
MAX_RESPARAMS
) {
80
sprintf(status,
"only %d frames can be copied to results"
,
MAX_RESPARAMS
);
81
res->
parNr
=
MAX_RESPARAMS
;
82
}
83
// Set parameter titles and units
84
for
(fi=0; fi<res->
parNr
; fi++) {
85
sprintf(res->
parname
[fi],
"%d"
, fi+1);
86
strcpy(res->
parunit
[fi], dft->
unit
);
87
}
88
// Copy regional values
89
for
(ri=0; ri<dft->
voiNr
; ri++)
for
(fi=0; fi<res->
parNr
; fi++)
90
res->
voi
[ri].
parameter
[fi]=dft->
voi
[ri].
y
[fi];
91
92
if
(dft->
frameNr
>
MAX_RESPARAMS
)
return
-1;
93
/* Set also deprecated parameter name and unit representations, for now */
94
resFixParnames
(res);
95
return
0;
96
}
97
/*****************************************************************************/
98
99
/*****************************************************************************/
dftToResult
int dftToResult(DFT *dft, RES *res, char *status)
Definition
dftres.c:60
res_allocate_with_dft
int res_allocate_with_dft(RES *res, DFT *dft)
Definition
dftres.c:14
libtpccurveio.h
Header file for libtpccurveio.
resSetmem
int resSetmem(RES *res, int voiNr)
Definition
result.c:70
resFixParnames
void resFixParnames(RES *res)
Definition
result.c:107
MAX_RESPARAMS
#define MAX_RESPARAMS
Definition
libtpccurveio.h:133
DFT_TIME_STARTEND
#define DFT_TIME_STARTEND
Definition
libtpccurveio.h:439
petTunit
char * petTunit(int tunit)
Definition
petunits.c:226
DFT
Definition
libtpccurveio.h:73
DFT::timetype
int timetype
Definition
libtpccurveio.h:99
DFT::voi
Voi * voi
Definition
libtpccurveio.h:108
DFT::timeunit
int timeunit
Definition
libtpccurveio.h:85
DFT::studynr
char studynr[MAX_STUDYNR_LEN+1]
Definition
libtpccurveio.h:80
DFT::x1
double * x1
Definition
libtpccurveio.h:104
DFT::voiNr
int voiNr
Definition
libtpccurveio.h:78
DFT::x2
double * x2
Definition
libtpccurveio.h:106
DFT::frameNr
int frameNr
Definition
libtpccurveio.h:76
DFT::isweight
int isweight
Definition
libtpccurveio.h:112
DFT::x
double * x
Definition
libtpccurveio.h:102
DFT::unit
char unit[MAX_UNITS_LEN+1]
Definition
libtpccurveio.h:83
RES
Definition
libtpccurveio.h:168
RES::E
double E
Definition
libtpccurveio.h:214
RES::studynr
char studynr[MAX_STUDYNR_LEN+1]
Definition
libtpccurveio.h:178
RES::parNr
int parNr
Definition
libtpccurveio.h:176
RES::parname
char parname[MAX_RESPARAMS][MAX_RESPARNAME_LEN+1]
Definition
libtpccurveio.h:216
RES::fA
double fA
Definition
libtpccurveio.h:212
RES::voiNr
int voiNr
Definition
libtpccurveio.h:174
RES::datanr
int datanr
Definition
libtpccurveio.h:195
RES::voi
ResVOI * voi
Definition
libtpccurveio.h:224
RES::Vb
double Vb
Definition
libtpccurveio.h:210
RES::datarange
char datarange[128]
Definition
libtpccurveio.h:193
RES::isweight
int isweight
Definition
libtpccurveio.h:200
RES::parunit
char parunit[MAX_RESPARAMS][MAX_RESPARNAME_LEN+1]
Definition
libtpccurveio.h:218
RES::time
time_t time
Definition
libtpccurveio.h:172
ResVOI::parameter
double parameter[MAX_RESPARAMS]
Definition
libtpccurveio.h:154
ResVOI::hemisphere
char hemisphere[MAX_REGIONSUBNAME_LEN+1]
Definition
libtpccurveio.h:149
ResVOI::place
char place[MAX_REGIONSUBNAME_LEN+1]
Definition
libtpccurveio.h:151
ResVOI::name
char name[MAX_REGIONNAME_LEN+1]
Definition
libtpccurveio.h:145
ResVOI::voiname
char voiname[MAX_REGIONSUBNAME_LEN+1]
Definition
libtpccurveio.h:147
Voi::voiname
char voiname[MAX_REGIONSUBNAME_LEN+1]
Definition
libtpccurveio.h:50
Voi::y
double * y
Definition
libtpccurveio.h:59
Voi::name
char name[MAX_REGIONNAME_LEN+1]
Definition
libtpccurveio.h:48
Voi::hemisphere
char hemisphere[MAX_REGIONSUBNAME_LEN+1]
Definition
libtpccurveio.h:52
Voi::place
char place[MAX_REGIONSUBNAME_LEN+1]
Definition
libtpccurveio.h:54
Generated on
for TPCCLIB by
1.17.0