Skip to content

Commit 64b7e02

Browse files
committed
Add datGet1W and datGet1UW interfaces
1 parent dd40154 commit 64b7e02

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

datgetx.c

+58
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,64 @@ datGet1K( const HDSLoc * locator,
287287
return *status;
288288
}
289289

290+
/*==================================*/
291+
/* DAT_GET1W - Read 1D 16-bit int array */
292+
/*==================================*/
293+
294+
int
295+
datGet1W( const HDSLoc * locator,
296+
size_t maxval,
297+
short values[],
298+
size_t *actval,
299+
int * status ) {
300+
301+
hdsdim dims[1];
302+
303+
if (*status != SAI__OK) return *status;
304+
305+
datSize( locator, actval, status );
306+
307+
if ( *status == SAI__OK && maxval < *actval ) {
308+
*status = DAT__BOUND;
309+
emsSeti( "IN", (int)maxval );
310+
emsSeti( "SZ", (int)*actval );
311+
emsRep( "DAT_GET1I_ERR", "datGetW: Bounds mismatch: ^IN < ^SZ", status);
312+
} else {
313+
dims[0] = *actval;
314+
datGetW( locator, 1, dims, values, status );
315+
}
316+
return *status;
317+
}
318+
319+
/*==================================*/
320+
/* DAT_GET1UW - Read 1D 16-bit unsigned int array */
321+
/*==================================*/
322+
323+
int
324+
datGet1UW( const HDSLoc * locator,
325+
size_t maxval,
326+
unsigned short values[],
327+
size_t *actval,
328+
int * status ) {
329+
330+
hdsdim dims[1];
331+
332+
if (*status != SAI__OK) return *status;
333+
334+
datSize( locator, actval, status );
335+
336+
if ( *status == SAI__OK && maxval < *actval ) {
337+
*status = DAT__BOUND;
338+
emsSeti( "IN", (int)maxval );
339+
emsSeti( "SZ", (int)*actval );
340+
emsRep( "DAT_GET1I_ERR", "datGetUW: Bounds mismatch: ^IN < ^SZ", status);
341+
} else {
342+
dims[0] = *actval;
343+
datGetUW( locator, 1, dims, values, status );
344+
}
345+
return *status;
346+
}
347+
290348
/*==================================*/
291349
/* DAT_GET1R - Read 1D float array */
292350
/*==================================*/

0 commit comments

Comments
 (0)