Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mpim-sw
libcdi
Commits
6d4a793b
Commit
6d4a793b
authored
Oct 28, 2015
by
Uwe Schulzweida
Browse files
cdf_read_record: implementation for MEMTYPE_FLOAT
parent
5ab74acc
Changes
5
Hide whitespace changes
Inline
Side-by-side
src/cdf_read.c
View file @
6d4a793b
...
...
@@ -683,7 +683,7 @@ void cdfReadVarSliceSP(stream_t *streamptr, int varID, int levelID, float *data,
}
void
cdf
R
ead
R
ecord
(
stream_t
*
streamptr
,
double
*
data
,
int
*
nmiss
)
void
cdf
_r
ead
_r
ecord
(
stream_t
*
streamptr
,
int
memtype
,
void
*
data
,
int
*
nmiss
)
{
if
(
CDI_Debug
)
Message
(
"streamID = %d"
,
streamptr
->
self
);
...
...
@@ -693,7 +693,10 @@ void cdfReadRecord(stream_t *streamptr, double *data, int *nmiss)
int
varID
=
streamptr
->
tsteps
[
tsID
].
records
[
recID
].
varID
;
int
levelID
=
streamptr
->
tsteps
[
tsID
].
records
[
recID
].
levelID
;
cdfReadVarSliceDP
(
streamptr
,
varID
,
levelID
,
data
,
nmiss
);
if
(
memtype
==
MEMTYPE_DOUBLE
)
cdfReadVarSliceDP
(
streamptr
,
varID
,
levelID
,
data
,
nmiss
);
else
cdfReadVarSliceSP
(
streamptr
,
varID
,
levelID
,
data
,
nmiss
);
}
#endif
src/cdf_write.c
View file @
6d4a793b
...
...
@@ -1254,7 +1254,6 @@ void cdf_write_var_slice(stream_t *streamptr, int varID, int levelID, int memtyp
long
nvals
=
gridInqSize
(
gridID
);
cdf_write_var_data
(
fileID
,
vlistID
,
varID
,
ncvarid
,
dtype
,
nvals
,
xsize
,
ysize
,
swapxy
,
start
,
count
,
memtype
,
data
,
nmiss
);
}
...
...
src/stream_cdf.c
View file @
6d4a793b
...
...
@@ -542,7 +542,7 @@ void cdfCopyRecord(stream_t *streamptr2, stream_t *streamptr1)
double
*
data
=
(
double
*
)
Malloc
((
size_t
)
datasize
*
sizeof
(
double
));
int
nmiss
;
cdf
R
ead
R
ecord
(
streamptr1
,
data
,
&
nmiss
);
cdf
_r
ead
_r
ecord
(
streamptr1
,
memtype
,
data
,
&
nmiss
);
cdf_write_record
(
streamptr2
,
memtype
,
data
,
nmiss
);
Free
(
data
);
...
...
src/stream_cdf.h
View file @
6d4a793b
...
...
@@ -14,7 +14,7 @@ void cdfDefRecord(stream_t * streamptr);
void
cdfCopyRecord
(
stream_t
*
streamptr2
,
stream_t
*
streamptr1
);
void
cdf
R
ead
R
ecord
(
stream_t
*
streamptr
,
double
*
data
,
int
*
nmiss
);
void
cdf
_r
ead
_r
ecord
(
stream_t
*
streamptr
,
int
memtype
,
void
*
data
,
int
*
nmiss
);
void
cdf_write_record
(
stream_t
*
streamptr
,
int
memtype
,
const
void
*
data
,
int
nmiss
);
void
cdfReadVarDP
(
stream_t
*
streamptr
,
int
varID
,
double
*
data
,
int
*
nmiss
);
...
...
src/stream_read.c
View file @
6d4a793b
...
...
@@ -314,8 +314,7 @@ void stream_read_record(int streamID, int memtype, void *data, int *nmiss)
case
FILETYPE_NC2
:
case
FILETYPE_NC4
:
case
FILETYPE_NC4C
:
if
(
memtype
==
MEMTYPE_FLOAT
)
Error
(
"cdfReadRecord not implemented for memtype float!"
);
cdfReadRecord
(
streamptr
,
data
,
nmiss
);
cdf_read_record
(
streamptr
,
memtype
,
data
,
nmiss
);
break
;
#endif
default:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment