Doxygen Source Code Documentation
ncx.h File Reference
#include "ncconfig.h"#include "rnd.h"#include <stddef.h>#include <errno.h>#include <sys/types.h>Go to the source code of this file.
Defines | |
| #define | ENOERR 0 |
| #define | NC_ERANGE (-60) |
| #define | NC_ENOMEM (-61) |
| #define | X_SIZEOF_CHAR 1 |
| #define | X_SIZEOF_SHORT 2 |
| #define | X_SIZEOF_INT 4 |
| #define | X_SIZEOF_FLOAT 4 |
| #define | X_SIZEOF_DOUBLE 8 |
| #define | X_SIZEOF_OFF_T X_SIZEOF_INT |
| #define | X_SIZEOF_SIZE_T X_SIZEOF_INT |
| #define | X_SCHAR_MIN (-128) |
| #define | X_SCHAR_MAX 127 |
| #define | X_UCHAR_MAX 255U |
| #define | X_SHORT_MIN (-32768) |
| #define | X_SHRT_MIN X_SHORT_MIN |
| #define | X_SHORT_MAX 32767 |
| #define | X_SHRT_MAX X_SHORT_MAX |
| #define | X_USHORT_MAX 65535U |
| #define | X_USHRT_MAX X_USHORT_MAX |
| #define | X_INT_MIN (-2147483647-1) |
| #define | X_INT_MAX 2147483647 |
| #define | X_UINT_MAX 4294967295U |
| #define | X_FLOAT_MAX 3.40282347e+38f |
| #define | X_FLOAT_MIN (-X_FLOAT_MAX) |
| #define | X_FLT_MAX X_FLOAT_MAX |
| #define | X_DOUBLE_MAX 1.7976931348623157e+308 |
| #define | X_DOUBLE_MIN (-X_DOUBLE_MAX) |
| #define | X_DBL_MAX X_DOUBLE_MAX |
| #define | X_SIZE_MAX X_INT_MAX |
| #define | X_OFF_MAX X_INT_MAX |
| #define | X_ALIGN 4 |
| #define | ncx_len_char(nelems) _RNDUP((nelems), X_ALIGN) |
| #define | ncx_len_short(nelems) (((nelems) + (nelems)%2) * X_SIZEOF_SHORT) |
| #define | ncx_len_int(nelems) ((nelems) * X_SIZEOF_INT) |
| #define | ncx_len_long(nelems) ((nelems) * X_SIZEOF_LONG) |
| #define | ncx_len_float(nelems) ((nelems) * X_SIZEOF_FLOAT) |
| #define | ncx_len_double(nelems) ((nelems) * X_SIZEOF_DOUBLE) |
| #define | ncx_getn_char_char(xpp, nelems, fillp) ncx_getn_text(xpp, nelems, fillp) |
| #define | ncx_putn_char_char(xpp, nelems, fillp) ncx_putn_text(xpp, nelems, fillp) |
Typedefs | |
| typedef signed char | schar |
Functions | |
| int | ncx_get_short_schar (const void *xp, schar *ip) |
| int | ncx_get_short_uchar (const void *xp, uchar *ip) |
| int | ncx_get_short_short (const void *xp, short *ip) |
| int | ncx_get_short_int (const void *xp, int *ip) |
| int | ncx_get_short_long (const void *xp, long *ip) |
| int | ncx_get_short_float (const void *xp, float *ip) |
| int | ncx_get_short_double (const void *xp, double *ip) |
| int | ncx_put_short_schar (void *xp, const schar *ip) |
| int | ncx_put_short_uchar (void *xp, const uchar *ip) |
| int | ncx_put_short_short (void *xp, const short *ip) |
| int | ncx_put_short_int (void *xp, const int *ip) |
| int | ncx_put_short_long (void *xp, const long *ip) |
| int | ncx_put_short_float (void *xp, const float *ip) |
| int | ncx_put_short_double (void *xp, const double *ip) |
| int | ncx_get_int_schar (const void *xp, schar *ip) |
| int | ncx_get_int_uchar (const void *xp, uchar *ip) |
| int | ncx_get_int_short (const void *xp, short *ip) |
| int | ncx_get_int_int (const void *xp, int *ip) |
| int | ncx_get_int_long (const void *xp, long *ip) |
| int | ncx_get_int_float (const void *xp, float *ip) |
| int | ncx_get_int_double (const void *xp, double *ip) |
| int | ncx_put_int_schar (void *xp, const schar *ip) |
| int | ncx_put_int_uchar (void *xp, const uchar *ip) |
| int | ncx_put_int_short (void *xp, const short *ip) |
| int | ncx_put_int_int (void *xp, const int *ip) |
| int | ncx_put_int_long (void *xp, const long *ip) |
| int | ncx_put_int_float (void *xp, const float *ip) |
| int | ncx_put_int_double (void *xp, const double *ip) |
| int | ncx_get_float_schar (const void *xp, schar *ip) |
| int | ncx_get_float_uchar (const void *xp, uchar *ip) |
| int | ncx_get_float_short (const void *xp, short *ip) |
| int | ncx_get_float_int (const void *xp, int *ip) |
| int | ncx_get_float_long (const void *xp, long *ip) |
| int | ncx_get_float_float (const void *xp, float *ip) |
| int | ncx_get_float_double (const void *xp, double *ip) |
| int | ncx_put_float_schar (void *xp, const schar *ip) |
| int | ncx_put_float_uchar (void *xp, const uchar *ip) |
| int | ncx_put_float_short (void *xp, const short *ip) |
| int | ncx_put_float_int (void *xp, const int *ip) |
| int | ncx_put_float_long (void *xp, const long *ip) |
| int | ncx_put_float_float (void *xp, const float *ip) |
| int | ncx_put_float_double (void *xp, const double *ip) |
| int | ncx_get_double_schar (const void *xp, schar *ip) |
| int | ncx_get_double_uchar (const void *xp, uchar *ip) |
| int | ncx_get_double_short (const void *xp, short *ip) |
| int | ncx_get_double_int (const void *xp, int *ip) |
| int | ncx_get_double_long (const void *xp, long *ip) |
| int | ncx_get_double_float (const void *xp, float *ip) |
| int | ncx_get_double_double (const void *xp, double *ip) |
| int | ncx_put_double_schar (void *xp, const schar *ip) |
| int | ncx_put_double_uchar (void *xp, const uchar *ip) |
| int | ncx_put_double_short (void *xp, const short *ip) |
| int | ncx_put_double_int (void *xp, const int *ip) |
| int | ncx_put_double_long (void *xp, const long *ip) |
| int | ncx_put_double_float (void *xp, const float *ip) |
| int | ncx_put_double_double (void *xp, const double *ip) |
| int | ncx_get_size_t (const void **xpp, size_t *ulp) |
| int | ncx_get_off_t (const void **xpp, off_t *lp) |
| int | ncx_put_size_t (void **xpp, const size_t *ulp) |
| int | ncx_put_off_t (void **xpp, const off_t *lp) |
| int | ncx_getn_schar_schar (const void **xpp, size_t nelems, schar *ip) |
| int | ncx_getn_schar_uchar (const void **xpp, size_t nelems, uchar *ip) |
| int | ncx_getn_schar_short (const void **xpp, size_t nelems, short *ip) |
| int | ncx_getn_schar_int (const void **xpp, size_t nelems, int *ip) |
| int | ncx_getn_schar_long (const void **xpp, size_t nelems, long *ip) |
| int | ncx_getn_schar_float (const void **xpp, size_t nelems, float *ip) |
| int | ncx_getn_schar_double (const void **xpp, size_t nelems, double *ip) |
| int | ncx_pad_getn_schar_schar (const void **xpp, size_t nelems, schar *ip) |
| int | ncx_pad_getn_schar_uchar (const void **xpp, size_t nelems, uchar *ip) |
| int | ncx_pad_getn_schar_short (const void **xpp, size_t nelems, short *ip) |
| int | ncx_pad_getn_schar_int (const void **xpp, size_t nelems, int *ip) |
| int | ncx_pad_getn_schar_long (const void **xpp, size_t nelems, long *ip) |
| int | ncx_pad_getn_schar_float (const void **xpp, size_t nelems, float *ip) |
| int | ncx_pad_getn_schar_double (const void **xpp, size_t nelems, double *ip) |
| int | ncx_putn_schar_schar (void **xpp, size_t nelems, const schar *ip) |
| int | ncx_putn_schar_uchar (void **xpp, size_t nelems, const uchar *ip) |
| int | ncx_putn_schar_short (void **xpp, size_t nelems, const short *ip) |
| int | ncx_putn_schar_int (void **xpp, size_t nelems, const int *ip) |
| int | ncx_putn_schar_long (void **xpp, size_t nelems, const long *ip) |
| int | ncx_putn_schar_float (void **xpp, size_t nelems, const float *ip) |
| int | ncx_putn_schar_double (void **xpp, size_t nelems, const double *ip) |
| int | ncx_pad_putn_schar_schar (void **xpp, size_t nelems, const schar *ip) |
| int | ncx_pad_putn_schar_uchar (void **xpp, size_t nelems, const uchar *ip) |
| int | ncx_pad_putn_schar_short (void **xpp, size_t nelems, const short *ip) |
| int | ncx_pad_putn_schar_int (void **xpp, size_t nelems, const int *ip) |
| int | ncx_pad_putn_schar_long (void **xpp, size_t nelems, const long *ip) |
| int | ncx_pad_putn_schar_float (void **xpp, size_t nelems, const float *ip) |
| int | ncx_pad_putn_schar_double (void **xpp, size_t nelems, const double *ip) |
| int | ncx_getn_short_schar (const void **xpp, size_t nelems, schar *ip) |
| int | ncx_getn_short_uchar (const void **xpp, size_t nelems, uchar *ip) |
| int | ncx_getn_short_short (const void **xpp, size_t nelems, short *ip) |
| int | ncx_getn_short_int (const void **xpp, size_t nelems, int *ip) |
| int | ncx_getn_short_long (const void **xpp, size_t nelems, long *ip) |
| int | ncx_getn_short_float (const void **xpp, size_t nelems, float *ip) |
| int | ncx_getn_short_double (const void **xpp, size_t nelems, double *ip) |
| int | ncx_pad_getn_short_schar (const void **xpp, size_t nelems, schar *ip) |
| int | ncx_pad_getn_short_uchar (const void **xpp, size_t nelems, uchar *ip) |
| int | ncx_pad_getn_short_short (const void **xpp, size_t nelems, short *ip) |
| int | ncx_pad_getn_short_int (const void **xpp, size_t nelems, int *ip) |
| int | ncx_pad_getn_short_long (const void **xpp, size_t nelems, long *ip) |
| int | ncx_pad_getn_short_float (const void **xpp, size_t nelems, float *ip) |
| int | ncx_pad_getn_short_double (const void **xpp, size_t nelems, double *ip) |
| int | ncx_putn_short_schar (void **xpp, size_t nelems, const schar *ip) |
| int | ncx_putn_short_uchar (void **xpp, size_t nelems, const uchar *ip) |
| int | ncx_putn_short_short (void **xpp, size_t nelems, const short *ip) |
| int | ncx_putn_short_int (void **xpp, size_t nelems, const int *ip) |
| int | ncx_putn_short_long (void **xpp, size_t nelems, const long *ip) |
| int | ncx_putn_short_float (void **xpp, size_t nelems, const float *ip) |
| int | ncx_putn_short_double (void **xpp, size_t nelems, const double *ip) |
| int | ncx_pad_putn_short_schar (void **xpp, size_t nelems, const schar *ip) |
| int | ncx_pad_putn_short_uchar (void **xpp, size_t nelems, const uchar *ip) |
| int | ncx_pad_putn_short_short (void **xpp, size_t nelems, const short *ip) |
| int | ncx_pad_putn_short_int (void **xpp, size_t nelems, const int *ip) |
| int | ncx_pad_putn_short_long (void **xpp, size_t nelems, const long *ip) |
| int | ncx_pad_putn_short_float (void **xpp, size_t nelems, const float *ip) |
| int | ncx_pad_putn_short_double (void **xpp, size_t nelems, const double *ip) |
| int | ncx_getn_int_schar (const void **xpp, size_t nelems, schar *ip) |
| int | ncx_getn_int_uchar (const void **xpp, size_t nelems, uchar *ip) |
| int | ncx_getn_int_short (const void **xpp, size_t nelems, short *ip) |
| int | ncx_getn_int_int (const void **xpp, size_t nelems, int *ip) |
| int | ncx_getn_int_long (const void **xpp, size_t nelems, long *ip) |
| int | ncx_getn_int_float (const void **xpp, size_t nelems, float *ip) |
| int | ncx_getn_int_double (const void **xpp, size_t nelems, double *ip) |
| int | ncx_putn_int_schar (void **xpp, size_t nelems, const schar *ip) |
| int | ncx_putn_int_uchar (void **xpp, size_t nelems, const uchar *ip) |
| int | ncx_putn_int_short (void **xpp, size_t nelems, const short *ip) |
| int | ncx_putn_int_int (void **xpp, size_t nelems, const int *ip) |
| int | ncx_putn_int_long (void **xpp, size_t nelems, const long *ip) |
| int | ncx_putn_int_float (void **xpp, size_t nelems, const float *ip) |
| int | ncx_putn_int_double (void **xpp, size_t nelems, const double *ip) |
| int | ncx_getn_float_schar (const void **xpp, size_t nelems, schar *ip) |
| int | ncx_getn_float_uchar (const void **xpp, size_t nelems, uchar *ip) |
| int | ncx_getn_float_short (const void **xpp, size_t nelems, short *ip) |
| int | ncx_getn_float_int (const void **xpp, size_t nelems, int *ip) |
| int | ncx_getn_float_long (const void **xpp, size_t nelems, long *ip) |
| int | ncx_getn_float_float (const void **xpp, size_t nelems, float *ip) |
| int | ncx_getn_float_double (const void **xpp, size_t nelems, double *ip) |
| int | ncx_putn_float_schar (void **xpp, size_t nelems, const schar *ip) |
| int | ncx_putn_float_uchar (void **xpp, size_t nelems, const uchar *ip) |
| int | ncx_putn_float_short (void **xpp, size_t nelems, const short *ip) |
| int | ncx_putn_float_int (void **xpp, size_t nelems, const int *ip) |
| int | ncx_putn_float_long (void **xpp, size_t nelems, const long *ip) |
| int | ncx_putn_float_float (void **xpp, size_t nelems, const float *ip) |
| int | ncx_putn_float_double (void **xpp, size_t nelems, const double *ip) |
| int | ncx_getn_double_schar (const void **xpp, size_t nelems, schar *ip) |
| int | ncx_getn_double_uchar (const void **xpp, size_t nelems, uchar *ip) |
| int | ncx_getn_double_short (const void **xpp, size_t nelems, short *ip) |
| int | ncx_getn_double_int (const void **xpp, size_t nelems, int *ip) |
| int | ncx_getn_double_long (const void **xpp, size_t nelems, long *ip) |
| int | ncx_getn_double_float (const void **xpp, size_t nelems, float *ip) |
| int | ncx_getn_double_double (const void **xpp, size_t nelems, double *ip) |
| int | ncx_putn_double_schar (void **xpp, size_t nelems, const schar *ip) |
| int | ncx_putn_double_uchar (void **xpp, size_t nelems, const uchar *ip) |
| int | ncx_putn_double_short (void **xpp, size_t nelems, const short *ip) |
| int | ncx_putn_double_int (void **xpp, size_t nelems, const int *ip) |
| int | ncx_putn_double_long (void **xpp, size_t nelems, const long *ip) |
| int | ncx_putn_double_float (void **xpp, size_t nelems, const float *ip) |
| int | ncx_putn_double_double (void **xpp, size_t nelems, const double *ip) |
| int | ncx_getn_text (const void **xpp, size_t nchars, char *cp) |
| int | ncx_pad_getn_text (const void **xpp, size_t nchars, char *cp) |
| int | ncx_putn_text (void **xpp, size_t nchars, const char *cp) |
| int | ncx_pad_putn_text (void **xpp, size_t nchars, const char *cp) |
| int | ncx_getn_void (const void **xpp, size_t nchars, void *vp) |
| int | ncx_pad_getn_void (const void **xpp, size_t nchars, void *vp) |
| int | ncx_putn_void (void **xpp, size_t nchars, const void *vp) |
| int | ncx_pad_putn_void (void **xpp, size_t nchars, const void *vp) |
Define Documentation
|
|
|
|
|
|
|
|
|
|
|
Definition at line 645 of file ncx.h. Referenced by getNCvx_char_char(). |
|
|
Definition at line 117 of file ncx.h. Referenced by ncx_len_NC_attrV(). |
|
|
Definition at line 132 of file ncx.h. Referenced by ncx_len_NC_attrV(). |
|
|
Definition at line 129 of file ncx.h. Referenced by ncx_len_NC_attrV(). |
|
|
Definition at line 123 of file ncx.h. Referenced by ncx_len_NC_attrV(), ncx_len_NC_var(), v1h_get_NC_var(), and v1h_put_NC_var(). |
|
|
|
|
|
Definition at line 120 of file ncx.h. Referenced by ncx_len_NC_attrV(). |
|
|
Definition at line 646 of file ncx.h. Referenced by NC_fill_char(), and putNCvx_char_char(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 105 of file ncx.h. Referenced by ncx_put_off_t(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 55 of file ncx.h. Referenced by NC_fill_char(), and NC_fill_schar(). |
|
|
|
|
|
Definition at line 68 of file ncx.h. Referenced by ncx_get_off_t(), ncx_len_NC_var(), ncx_put_off_t(), v1h_get_NC_var(), and v1h_put_NC_var(). |
|
|
|
Definition at line 69 of file ncx.h. Referenced by ncx_get_size_t(), ncx_len_NC(), ncx_len_NC_attr(), ncx_len_NC_attrarray(), ncx_len_NC_dim(), ncx_len_NC_dimarray(), ncx_len_NC_string(), ncx_len_NC_var(), ncx_len_NC_vararray(), ncx_put_size_t(), v1h_get_size_t(), and v1h_put_size_t(). |
|
|
|
|
|
|
|
|
|
|
|
|
Typedef Documentation
|
|
|
Function Documentation
|
||||||||||||
|
Definition at line 1163 of file ncx_cray.c. References get_ix_double().
01164 {
01165 get_ix_double(xp, ip);
01166 return ENOERR;
01167 }
|
|
||||||||||||
|
Definition at line 1139 of file ncx_cray.c. References FLT_MAX, and get_ix_double(). Referenced by ncx_getn_double_float().
01140 {
01141 #if SIZEOF_FLOAT == SIZEOF_DOUBLE && FLT_MANT_DIG == DBL_MANT_DIG
01142 get_ix_double(xp, (double *)ip);
01143 return ENOERR;
01144 #else
01145 double xx;
01146 get_ix_double(xp, &xx);
01147 if(xx > FLT_MAX || xx < (-FLT_MAX))
01148 {
01149 *ip = FLT_MAX;
01150 return NC_ERANGE;
01151 }
01152 if(xx < (-FLT_MAX))
01153 {
01154 *ip = (-FLT_MAX);
01155 return NC_ERANGE;
01156 }
01157 *ip = (float) xx;
01158 return ENOERR;
01159 #endif
01160 }
|
|
||||||||||||
|
Definition at line 1117 of file ncx_cray.c. References get_ix_double(). Referenced by ncx_getn_double_int().
01118 {
01119 double xx;
01120 get_ix_double(xp, &xx);
01121 *ip = (int) xx;
01122 if(xx > INT_MAX || xx < INT_MIN)
01123 return NC_ERANGE;
01124 return ENOERR;
01125 }
|
|
||||||||||||
|
Definition at line 1128 of file ncx_cray.c. References get_ix_double(). Referenced by ncx_getn_double_long().
01129 {
01130 double xx;
01131 get_ix_double(xp, &xx);
01132 *ip = (long) xx;
01133 if(xx > LONG_MAX || xx < LONG_MIN)
01134 return NC_ERANGE;
01135 return ENOERR;
01136 }
|
|
||||||||||||
|
Definition at line 1084 of file ncx_cray.c. References get_ix_double(). Referenced by ncx_getn_double_schar().
01085 {
01086 double xx;
01087 get_ix_double(xp, &xx);
01088 *ip = (schar) xx;
01089 if(xx > SCHAR_MAX || xx < SCHAR_MIN)
01090 return NC_ERANGE;
01091 return ENOERR;
01092 }
|
|
||||||||||||
|
Definition at line 1106 of file ncx_cray.c. References get_ix_double(), SHORT_MAX, and SHORT_MIN. Referenced by ncx_getn_double_short().
01107 {
01108 double xx;
01109 get_ix_double(xp, &xx);
01110 *ip = (short) xx;
01111 if(xx > SHORT_MAX || xx < SHORT_MIN)
01112 return NC_ERANGE;
01113 return ENOERR;
01114 }
|
|
||||||||||||
|
Definition at line 1095 of file ncx_cray.c. References get_ix_double(). Referenced by ncx_getn_double_uchar().
01096 {
01097 double xx;
01098 get_ix_double(xp, &xx);
01099 *ip = (uchar) xx;
01100 if(xx > UCHAR_MAX || xx < 0)
01101 return NC_ERANGE;
01102 return ENOERR;
01103 }
|
|
||||||||||||
|
Definition at line 914 of file ncx_cray.c. References get_ix_float, and ncx_get_float_float(). Referenced by ncx_getn_float_double().
00915 {
00916 #if SIZEOF_FLOAT == SIZEOF_DOUBLE && FLT_MANT_DIG == DBL_MANT_DIG
00917 return ncx_get_float_float(xp, (float *)ip);
00918 #else
00919 float xx;
00920 get_ix_float(xp, &xx);
00921 *ip = xx;
00922 return ENOERR;
00923 #endif
00924 }
|
|
||||||||||||
|
Definition at line 907 of file ncx_cray.c. References get_ix_float. Referenced by ncx_get_float_double().
00908 {
00909 get_ix_float(xp, ip);
00910 return ENOERR;
00911 }
|
|
||||||||||||
|
Definition at line 885 of file ncx_cray.c. References get_ix_float. Referenced by ncx_getn_float_int().
00886 {
00887 float xx;
00888 get_ix_float(xp, &xx);
00889 *ip = (int) xx;
00890 if(xx > (double)INT_MAX || xx < (double)INT_MIN)
00891 return NC_ERANGE;
00892 return ENOERR;
00893 }
|
|
||||||||||||
|
Definition at line 896 of file ncx_cray.c. References get_ix_float. Referenced by ncx_getn_float_long().
00897 {
00898 float xx;
00899 get_ix_float(xp, &xx);
00900 *ip = (long) xx;
00901 if(xx > LONG_MAX || xx < LONG_MIN)
00902 return NC_ERANGE;
00903 return ENOERR;
00904 }
|
|
||||||||||||
|
Definition at line 852 of file ncx_cray.c. References get_ix_float. Referenced by ncx_getn_float_schar().
00853 {
00854 float xx;
00855 get_ix_float(xp, &xx);
00856 *ip = (schar) xx;
00857 if(xx > SCHAR_MAX || xx < SCHAR_MIN)
00858 return NC_ERANGE;
00859 return ENOERR;
00860 }
|
|
||||||||||||
|
Definition at line 874 of file ncx_cray.c. References get_ix_float, SHORT_MAX, and SHORT_MIN. Referenced by ncx_getn_float_short().
00875 {
00876 float xx;
00877 get_ix_float(xp, &xx);
00878 *ip = (short) xx;
00879 if(xx > SHORT_MAX || xx < SHORT_MIN)
00880 return NC_ERANGE;
00881 return ENOERR;
00882 }
|
|
||||||||||||
|
Definition at line 863 of file ncx_cray.c. References get_ix_float. Referenced by ncx_getn_float_uchar().
00864 {
00865 float xx;
00866 get_ix_float(xp, &xx);
00867 *ip = (uchar) xx;
00868 if(xx > UCHAR_MAX || xx < 0)
00869 return NC_ERANGE;
00870 return ENOERR;
00871 }
|
|
||||||||||||
|
Definition at line 453 of file ncx_cray.c. References get_ix_int, and ix_int. Referenced by ncx_getn_int_double().
00454 {
00455 ix_int xx;
00456 get_ix_int(xp, &xx);
00457 *ip = xx;
00458 return ENOERR;
00459 }
|
|
||||||||||||
|
Definition at line 442 of file ncx_cray.c. References FLT_MAX, get_ix_int, and ix_int. Referenced by ncx_getn_int_float().
00443 {
00444 ix_int xx;
00445 get_ix_int(xp, &xx);
00446 *ip = xx;
00447 if(xx > FLT_MAX || xx < (-FLT_MAX))
00448 return NC_ERANGE;
00449 return ENOERR;
00450 }
|
|
||||||||||||
|
Definition at line 405 of file ncx_cray.c. References get_ix_int, and ix_int. Referenced by v1h_get_nc_type(), and v1h_get_NCtype().
00406 {
00407 ix_int xx;
00408 get_ix_int(xp, &xx);
00409 *ip = xx;
00410 return ENOERR;
00411 }
|
|
||||||||||||
|
Definition at line 435 of file ncx_cray.c. References byteoff, and cget_int_long().
00436 {
00437 cget_int_long(xp, ip, byteoff(xp));
00438 return ENOERR;
00439 }
|
|
||||||||||||
|
Definition at line 372 of file ncx_cray.c. References get_ix_int, and ix_int. Referenced by ncx_getn_int_schar().
00373 {
00374 ix_int xx;
00375 get_ix_int(xp, &xx);
00376 *ip = xx;
00377 if(xx > SCHAR_MAX || xx < SCHAR_MIN)
00378 return NC_ERANGE;
00379 return ENOERR;
00380 }
|
|
||||||||||||
|
Definition at line 394 of file ncx_cray.c. References get_ix_int, ix_int, SHORT_MAX, and SHORT_MIN. Referenced by ncx_getn_int_short().
00395 {
00396 ix_int xx;
00397 get_ix_int(xp, &xx);
00398 *ip = xx;
00399 if(xx > SHORT_MAX || xx < SHORT_MIN)
00400 return NC_ERANGE;
00401 return ENOERR;
00402 }
|
|
||||||||||||
|
Definition at line 383 of file ncx_cray.c. References get_ix_int, and ix_int. Referenced by ncx_getn_int_uchar().
00384 {
00385 ix_int xx;
00386 get_ix_int(xp, &xx);
00387 *ip = xx;
00388 if(xx > UCHAR_MAX || xx < 0)
00389 return NC_ERANGE;
00390 return ENOERR;
00391 }
|
|
||||||||||||
|
Definition at line 1290 of file ncx_cray.c. References X_SIZEOF_OFF_T. Referenced by v1h_get_NC_var().
01291 {
01292 /* similar to get_ix_int() */
01293 const uchar *cp = *xpp;
01294 assert((*cp & 0x80) == 0); /* No negative offsets stored in netcdf */
01295
01296 *lp = *cp++ << 24;
01297 *lp |= (*cp++ << 16);
01298 *lp |= (*cp++ << 8);
01299 *lp |= *cp;
01300
01301 *xpp = (const void *)((const char *)(*xpp) + X_SIZEOF_OFF_T);
01302 return ENOERR;
01303 }
|
|
||||||||||||
|
Definition at line 251 of file ncx_cray.c. References get_ix_short, and ix_short. Referenced by ncx_getn_short_double(), and ncx_pad_getn_short_double().
00252 {
00253 ix_short xx;
00254 get_ix_short(xp, &xx);
00255 *ip = xx;
00256 return ENOERR;
00257 }
|
|
||||||||||||
|
Definition at line 242 of file ncx_cray.c. References get_ix_short, and ix_short. Referenced by ncx_getn_short_float(), and ncx_pad_getn_short_float().
00243 {
00244 ix_short xx;
00245 get_ix_short(xp, &xx);
00246 *ip = xx;
00247 return ENOERR;
00248 }
|
|
||||||||||||
|
Definition at line 224 of file ncx_cray.c. References get_ix_short, and ix_short. Referenced by ncx_getn_short_int(), and ncx_pad_getn_short_int().
00225 {
00226 ix_short xx;
00227 get_ix_short(xp, &xx);
00228 *ip = xx;
00229 return ENOERR;
00230 }
|
|
||||||||||||
|
Definition at line 233 of file ncx_cray.c. References get_ix_short, and ix_short. Referenced by ncx_getn_short_long(), and ncx_pad_getn_short_long().
00234 {
00235 ix_short xx;
00236 get_ix_short(xp, &xx);
00237 *ip = xx;
00238 return ENOERR;
00239 }
|
|
||||||||||||
|
Definition at line 195 of file ncx_cray.c. References get_ix_short, and ix_short. Referenced by ncx_getn_short_schar(), and ncx_pad_getn_short_schar().
00196 {
00197 ix_short xx;
00198 get_ix_short(xp, &xx);
00199 *ip = xx;
00200 if(xx > SCHAR_MAX || xx < SCHAR_MIN)
00201 return NC_ERANGE;
00202 return ENOERR;
00203 }
|
|
||||||||||||
|
Definition at line 217 of file ncx_cray.c. References get_ix_short. Referenced by ncx_pad_getn_short_short().
00218 {
00219 get_ix_short(xp, ip);
00220 return ENOERR;
00221 }
|
|
||||||||||||
|
Definition at line 206 of file ncx_cray.c. References get_ix_short, and ix_short. Referenced by ncx_getn_short_uchar(), and ncx_pad_getn_short_uchar().
00207 {
00208 ix_short xx;
00209 get_ix_short(xp, &xx);
00210 *ip = xx;
00211 if(xx > UCHAR_MAX || xx < 0)
00212 return NC_ERANGE;
00213 return ENOERR;
00214 }
|
|
||||||||||||
|
Definition at line 1255 of file ncx_cray.c. References X_SIZEOF_SIZE_T. Referenced by nc_get_NC(), read_numrecs(), and v1h_get_size_t().
01256 {
01257 /* similar to get_ix_int */
01258 const uchar *cp = *xpp;
01259 assert((*cp & 0x80) == 0); /* sizes limited to 2^31 -1 in netcdf */
01260
01261 *ulp = *cp++ << 24;
01262 *ulp |= (*cp++ << 16);
01263 *ulp |= (*cp++ << 8);
01264 *ulp |= *cp;
01265
01266 *xpp = (const void *)((const char *)(*xpp) + X_SIZEOF_SIZE_T);
01267 return ENOERR;
01268 }
|
|
||||||||||||||||
|
Definition at line 3441 of file ncx_cray.c. References X_SIZEOF_DOUBLE. Referenced by getNCvx_double_double(), ncx_check(), ncx_getn_double_float(), ncx_pad_getn_Idouble(), and t_getn_double_double().
03442 {
03443 (void) memcpy(tp, *xpp, nelems * X_SIZEOF_DOUBLE);
03444 *xpp = (void *)((char *)(*xpp) + nelems * X_SIZEOF_DOUBLE);
03445 return ENOERR;
03446 }
|
|
||||||||||||||||
|
Definition at line 3499 of file ncx_cray.c. References ncx_get_double_float(), ncx_getn_double_double(), and X_SIZEOF_DOUBLE. Referenced by getNCvx_double_float(), ncx_pad_getn_Ifloat(), and t_getn_double_float().
03500 {
03501 #if SIZEOF_FLOAT == SIZEOF_DOUBLE && FLT_MANT_DIG == DBL_MANT_DIG
03502 return ncx_getn_double_double(xpp, nelems, (double *)tp);
03503 #else
03504 const char *xp = *xpp;
03505 int status = ENOERR;
03506
03507 for( ; nelems != 0; nelems--, xp += X_SIZEOF_DOUBLE, tp++)
03508 {
03509 const int lstatus = ncx_get_double_float(xp, tp);
03510 if(lstatus != ENOERR)
03511 status = lstatus;
03512 }
03513
03514 *xpp = (const void *)xp;
03515 return status;
03516 #endif
03517 }
|
|
||||||||||||||||
|
Definition at line 3373 of file ncx_cray.c. References ncx_get_double_int(), and X_SIZEOF_DOUBLE. Referenced by getNCvx_double_int(), ncx_pad_getn_Iint(), and t_getn_double_int().
03374 {
03375 const char *xp = *xpp;
03376 int status = ENOERR;
03377
03378 for( ; nelems != 0; nelems--, xp += X_SIZEOF_DOUBLE, tp++)
03379 {
03380 const int lstatus = ncx_get_double_int(xp, tp);
03381 if(lstatus != ENOERR)
03382 status = lstatus;
03383 }
03384
03385 *xpp = (const void *)xp;
03386 return status;
03387 }
|
|
||||||||||||||||
|
Definition at line 3390 of file ncx_cray.c. References ncx_get_double_long(), and X_SIZEOF_DOUBLE. Referenced by getNCvx_double_long(), ncx_pad_getn_Ilong(), and t_getn_double_long().
03391 {
03392 const char *xp = *xpp;
03393 int status = ENOERR;
03394
03395 for( ; nelems != 0; nelems--, xp += X_SIZEOF_DOUBLE, tp++)
03396 {
03397 const int lstatus = ncx_get_double_long(xp, tp);
03398 if(lstatus != ENOERR)
03399 status = lstatus;
03400 }
03401
03402 *xpp = (const void *)xp;
03403 return status;
03404 }
|
|
||||||||||||||||
|
Definition at line 3322 of file ncx_cray.c. References ncx_get_double_schar(), and X_SIZEOF_DOUBLE. Referenced by getNCvx_double_schar(), ncx_pad_getn_Ischar(), and t_getn_double_schar().
03323 {
03324 const char *xp = *xpp;
03325 int status = ENOERR;
03326
03327 for( ; nelems != 0; nelems--, xp += X_SIZEOF_DOUBLE, tp++)
03328 {
03329 const int lstatus = ncx_get_double_schar(xp, tp);
03330 if(lstatus != ENOERR)
03331 status = lstatus;
03332 }
03333
03334 *xpp = (const void *)xp;
03335 return status;
03336 }
|
|
||||||||||||||||
|
Definition at line 3356 of file ncx_cray.c. References ncx_get_double_short(), and X_SIZEOF_DOUBLE. Referenced by getNCvx_double_short(), ncx_pad_getn_Ishort(), and t_getn_double_short().
03357 {
03358 const char *xp = *xpp;
03359 int status = ENOERR;
03360
03361 for( ; nelems != 0; nelems--, xp += X_SIZEOF_DOUBLE, tp++)
03362 {
03363 const int lstatus = ncx_get_double_short(xp, tp);
03364 if(lstatus != ENOERR)
03365 status = lstatus;
03366 }
03367
03368 *xpp = (const void *)xp;
03369 return status;
03370 }
|
|
||||||||||||||||
|
Definition at line 3339 of file ncx_cray.c. References ncx_get_double_uchar(), and X_SIZEOF_DOUBLE. Referenced by getNCvx_double_uchar(), ncx_pad_getn_Iuchar(), and t_getn_double_uchar().
03340 {
03341 const char *xp = *xpp;
03342 int status = ENOERR;
03343
03344 for( ; nelems != 0; nelems--, xp += X_SIZEOF_DOUBLE, tp++)
03345 {
03346 const int lstatus = ncx_get_double_uchar(xp, tp);
03347 if(lstatus != ENOERR)
03348 status = lstatus;
03349 }
03350
03351 *xpp = (const void *)xp;
03352 return status;
03353 }
|
|
||||||||||||||||
|
Definition at line 3125 of file ncx_cray.c. References ncx_get_float_double(), and X_SIZEOF_FLOAT. Referenced by getNCvx_float_double(), ncx_pad_getn_Idouble(), and t_getn_float_double().
03126 {
03127 const char *xp = *xpp;
03128 int status = ENOERR;
03129
03130 for( ; nelems != 0; nelems--, xp += X_SIZEOF_FLOAT, tp++)
03131 {
03132 const int lstatus = ncx_get_float_double(xp, tp);
03133 if(lstatus != ENOERR)
03134 status = lstatus;
03135 }
03136
03137 *xpp = (const void *)xp;
03138 return status;
03139 }
|
|
||||||||||||||||
|
Definition at line 3080 of file ncx_cray.c. References byteoff, cget_float_float(), and X_SIZEOF_FLOAT. Referenced by getNCvx_float_float(), ncx_check(), ncx_pad_getn_Ifloat(), and t_getn_float_float().
03081 {
03082 const int bo = byteoff(*xpp);
03083
03084 if(nelems == 0)
03085 return ENOERR;
03086
03087 if(bo != 0)
03088 {
03089 cget_float_float(*xpp, tp, bo);
03090 *xpp = ((char *) (*xpp) + X_SIZEOF_FLOAT);
03091 nelems--;
03092 if(nelems == 0)
03093 return ENOERR;
03094 tp++;
03095 }
03096
03097 assert(byteoff(*xpp) == 0);
03098
03099 {
03100 const int nwords = (nelems * X_SIZEOF_FLOAT)/sizeof(word);
03101 const word *wp = *xpp;
03102 const word *const end = &wp[nwords];
03103
03104 #pragma _CRI ivdep
03105 for( ; wp < end; wp++, tp += 2)
03106 {
03107 cget_float_float(wp, tp, 0);
03108 cget_float_float(wp, tp + 1, 1);
03109 }
03110
03111 *xpp = ((char *) (*xpp) + nwords * sizeof(word));
03112 nelems -= (nwords * sizeof(word)/X_SIZEOF_FLOAT);
03113 if(nelems != 0)
03114 {
03115 cget_float_float(wp, tp, 0);
03116 *xpp = ((char *) (*xpp) + X_SIZEOF_FLOAT);
03117 }
03118 }
03119
03120 return ENOERR;
03121 }
|
|
||||||||||||||||
|
Definition at line 3026 of file ncx_cray.c. References ncx_get_float_int(), and X_SIZEOF_FLOAT. Referenced by getNCvx_float_int(), ncx_pad_getn_Iint(), and t_getn_float_int().
03027 {
03028 const char *xp = *xpp;
03029 int status = ENOERR;
03030
03031 for( ; nelems != 0; nelems--, xp += X_SIZEOF_FLOAT, tp++)
03032 {
03033 const int lstatus = ncx_get_float_int(xp, tp);
03034 if(lstatus != ENOERR)
03035 status = lstatus;
03036 }
03037
03038 *xpp = (const void *)xp;
03039 return status;
03040 }
|
|
||||||||||||||||
|
Definition at line 3043 of file ncx_cray.c. References ncx_get_float_long(), and X_SIZEOF_FLOAT. Referenced by getNCvx_float_long(), ncx_pad_getn_Ilong(), and t_getn_float_long().
03044 {
03045 const char *xp = *xpp;
03046 int status = ENOERR;
03047
03048 for( ; nelems != 0; nelems--, xp += X_SIZEOF_FLOAT, tp++)
03049 {
03050 const int lstatus = ncx_get_float_long(xp, tp);
03051 if(lstatus != ENOERR)
03052 status = lstatus;
03053 }
03054
03055 *xpp = (const void *)xp;
03056 return status;
03057 }
|
|
||||||||||||||||
|
Definition at line 2975 of file ncx_cray.c. References ncx_get_float_schar(), and X_SIZEOF_FLOAT. Referenced by getNCvx_float_schar(), ncx_pad_getn_Ischar(), and t_getn_float_schar().
02976 {
02977 const char *xp = *xpp;
02978 int status = ENOERR;
02979
02980 for( ; nelems != 0; nelems--, xp += X_SIZEOF_FLOAT, tp++)
02981 {
02982 const int lstatus = ncx_get_float_schar(xp, tp);
02983 if(lstatus != ENOERR)
02984 status = lstatus;
02985 }
02986
02987 *xpp = (const void *)xp;
02988 return status;
02989 }
|
|
||||||||||||||||
|
Definition at line 3009 of file ncx_cray.c. References ncx_get_float_short(), and X_SIZEOF_FLOAT. Referenced by getNCvx_float_short(), ncx_pad_getn_Ishort(), and t_getn_float_short().
03010 {
03011 const char *xp = *xpp;
03012 int status = ENOERR;
03013
03014 for( ; nelems != 0; nelems--, xp += X_SIZEOF_FLOAT, tp++)
03015 {
03016 const int lstatus = ncx_get_float_short(xp, tp);
03017 if(lstatus != ENOERR)
03018 status = lstatus;
03019 }
03020
03021 *xpp = (const void *)xp;
03022 return status;
03023 }
|
|
||||||||||||||||
|
Definition at line 2992 of file ncx_cray.c. References ncx_get_float_uchar(), and X_SIZEOF_FLOAT. Referenced by getNCvx_float_uchar(), ncx_pad_getn_Iuchar(), and t_getn_float_uchar().
02993 {
02994 const char *xp = *xpp;
02995 int status = ENOERR;
02996
02997 for( ; nelems != 0; nelems--, xp += X_SIZEOF_FLOAT, tp++)
02998 {
02999 const int lstatus = ncx_get_float_uchar(xp, tp);
03000 if(lstatus != ENOERR)
03001 status = lstatus;
03002 }
03003
03004 *xpp = (const void *)xp;
03005 return status;
03006 }
|
|
||||||||||||||||
|
Definition at line 2744 of file ncx_cray.c. References ncx_get_int_double(), and X_SIZEOF_INT. Referenced by getNCvx_int_double(), ncx_pad_getn_Idouble(), and t_getn_int_double().
02745 {
02746 const char *xp = *xpp;
02747 int status = ENOERR;
02748
02749 for( ; nelems != 0; nelems--, xp += X_SIZEOF_INT, tp++)
02750 {
02751 const int lstatus = ncx_get_int_double(xp, tp);
02752 if(lstatus != ENOERR)
02753 status = lstatus;
02754 }
02755
02756 *xpp = (const void *)xp;
02757 return status;
02758 }
|
|
||||||||||||||||
|
Definition at line 2727 of file ncx_cray.c. References ncx_get_int_float(), and X_SIZEOF_INT. Referenced by getNCvx_int_float(), ncx_pad_getn_Ifloat(), and t_getn_int_float().
02728 {
02729 const char *xp = *xpp;
02730 int status = ENOERR;
02731
02732 for( ; nelems != 0; nelems--, xp += X_SIZEOF_INT, tp++)
02733 {
02734 const int lstatus = ncx_get_int_float(xp, tp);
02735 if(lstatus != ENOERR)
02736 status = lstatus;
02737 }
02738
02739 *xpp = (const void *)xp;
02740 return status;
02741 }
|
|
||||||||||||||||
|
Definition at line 2638 of file ncx_cray.c. References byteoff, cget_int_int(), and X_SIZEOF_INT. Referenced by getNCvx_int_int(), ncx_check(), ncx_pad_getn_Iint(), t_getn_int_int(), and v1h_get_NC_var().
02639 {
02640 const int bo = byteoff(*xpp);
02641
02642 if(nelems == 0)
02643 return ENOERR;
02644
02645 if(bo != 0)
02646 {
02647 cget_int_int(*xpp, tp, bo);
02648 *xpp = ((char *) (*xpp) + X_SIZEOF_INT);
02649 nelems--;
02650 if(nelems == 0)
02651 return ENOERR;
02652 tp++;
02653 }
02654
02655 assert(byteoff(*xpp) == 0);
02656
02657 {
02658 const int nwords = (nelems * X_SIZEOF_INT)/sizeof(word);
02659 const word *wp = *xpp;
02660 const word *const end = &wp[nwords];
02661
02662 #pragma _CRI ivdep
02663 for( ; wp < end; wp++, tp += 2)
02664 {
02665 cget_int_int(wp, tp, 0);
02666 cget_int_int(wp, tp + 1, 1);
02667 }
02668
02669 *xpp = ((char *) (*xpp) + nwords * sizeof(word));
02670 nelems -= (nwords * sizeof(word)/X_SIZEOF_INT);
02671 if(nelems != 0)
02672 {
02673 cget_int_int(wp, tp, 0);
02674 *xpp = ((char *) (*xpp) + X_SIZEOF_INT);
02675 }
02676 }
02677
02678 return ENOERR;
02679 }
|
|
||||||||||||||||
|
Definition at line 2683 of file ncx_cray.c. References byteoff, cget_int_long(), and X_SIZEOF_INT. Referenced by getNCvx_int_long(), ncx_check(), ncx_pad_getn_Ilong(), and t_getn_int_long().
02684 {
02685 const int bo = byteoff(*xpp);
02686
02687 if(nelems == 0)
02688 return ENOERR;
02689
02690 if(bo != 0)
02691 {
02692 cget_int_long(*xpp, tp, bo);
02693 *xpp = ((char *) (*xpp) + X_SIZEOF_INT);
02694 nelems--;
02695 if(nelems == 0)
02696 return ENOERR;
02697 tp++;
02698 }
02699
02700 assert(byteoff(*xpp) == 0);
02701
02702 {
02703 const int nwords = (nelems * X_SIZEOF_INT)/sizeof(word);
02704 const word *wp = *xpp;
02705 const word *const end = &wp[nwords];
02706
02707 #pragma _CRI ivdep
02708 for( ; wp < end; wp++, tp += 2)
02709 {
02710 cget_int_long(wp, tp, 0);
02711 cget_int_long(wp, tp + 1, 1);
02712 }
02713
02714 *xpp = ((char *) (*xpp) + nwords * sizeof(word));
02715 nelems -= (nwords * sizeof(word)/X_SIZEOF_INT);
02716 if(nelems != 0)
02717 {
02718 cget_int_long(wp, tp, 0);
02719 *xpp = ((char *) (*xpp) + X_SIZEOF_INT);
02720 }
02721 }
02722
02723 return ENOERR;
02724 }
|
|
||||||||||||||||
|
Definition at line 2568 of file ncx_cray.c. References ncx_get_int_schar(), and X_SIZEOF_INT. Referenced by getNCvx_int_schar(), ncx_pad_getn_Ischar(), and t_getn_int_schar().
02569 {
02570 const char *xp = *xpp;
02571 int status = ENOERR;
02572
02573 for( ; nelems != 0; nelems--, xp += X_SIZEOF_INT, tp++)
02574 {
02575 const int lstatus = ncx_get_int_schar(xp, tp);
02576 if(lstatus != ENOERR)
02577 status = lstatus;
02578 }
02579
02580 *xpp = (const void *)xp;
02581 return status;
02582 }
|
|
||||||||||||||||
|
Definition at line 2602 of file ncx_cray.c. References ncx_get_int_short(), and X_SIZEOF_INT. Referenced by getNCvx_int_short(), ncx_pad_getn_Ishort(), and t_getn_int_short().
02603 {
02604 const char *xp = *xpp;
02605 int status = ENOERR;
02606
02607 for( ; nelems != 0; nelems--, xp += X_SIZEOF_INT, tp++)
02608 {
02609 const int lstatus = ncx_get_int_short(xp, tp);
02610 if(lstatus != ENOERR)
02611 status = lstatus;
02612 }
02613
02614 *xpp = (const void *)xp;
02615 return status;
02616 }
|
|
||||||||||||||||
|
Definition at line 2585 of file ncx_cray.c. References ncx_get_int_uchar(), and X_SIZEOF_INT. Referenced by getNCvx_int_uchar(), ncx_pad_getn_Iuchar(), and t_getn_int_uchar().
02586 {
02587 const char *xp = *xpp;
02588 int status = ENOERR;
02589
02590 for( ; nelems != 0; nelems--, xp += X_SIZEOF_INT, tp++)
02591 {
02592 const int lstatus = ncx_get_int_uchar(xp, tp);
02593 if(lstatus != ENOERR)
02594 status = lstatus;
02595 }
02596
02597 *xpp = (const void *)xp;
02598 return status;
02599 }
|
|
||||||||||||||||
|
Definition at line 1387 of file ncx_cray.c. Referenced by getNCvx_schar_double(), and t_getn_schar_double().
01388 {
01389 schar *xp = (schar *)(*xpp);
01390
01391 while(nelems-- != 0)
01392 {
01393 *tp++ = *xp++;
01394 }
01395
01396 *xpp = (const void *)xp;
01397 return ENOERR;
01398 }
|
|
||||||||||||||||
|
Definition at line 1373 of file ncx_cray.c. Referenced by getNCvx_schar_float(), and t_getn_schar_float().
01374 {
01375 schar *xp = (schar *)(*xpp);
01376
01377 while(nelems-- != 0)
01378 {
01379 *tp++ = *xp++;
01380 }
01381
01382 *xpp = (const void *)xp;
01383 return ENOERR;
01384 }
|
|
||||||||||||||||
|
Definition at line 1345 of file ncx_cray.c. Referenced by getNCvx_schar_int(), and t_getn_schar_int().
01346 {
01347 schar *xp = (schar *)(*xpp);
01348
01349 while(nelems-- != 0)
01350 {
01351 *tp++ = *xp++;
01352 }
01353
01354 *xpp = (const void *)xp;
01355 return ENOERR;
01356 }
|
|
||||||||||||||||
|
Definition at line 1359 of file ncx_cray.c. Referenced by getNCvx_schar_long(), and t_getn_schar_long().
01360 {
01361 schar *xp = (schar *)(*xpp);
01362
01363 while(nelems-- != 0)
01364 {
01365 *tp++ = *xp++;
01366 }
01367
01368 *xpp = (const void *)xp;
01369 return ENOERR;
01370 }
|
|
||||||||||||||||
|
Definition at line 1315 of file ncx_cray.c. Referenced by getNCvx_schar_schar(), nc_get_NC(), ncx_check(), and t_getn_schar_schar().
01316 {
01317 (void) memcpy(tp, *xpp, nelems);
01318 *xpp = (void *)((char *)(*xpp) + nelems);
01319 return ENOERR;
01320
01321 }
|
|
||||||||||||||||
|
Definition at line 1331 of file ncx_cray.c. Referenced by getNCvx_schar_short(), and t_getn_schar_short().
01332 {
01333 schar *xp = (schar *)(*xpp);
01334
01335 while(nelems-- != 0)
01336 {
01337 *tp++ = *xp++;
01338 }
01339
01340 *xpp = (const void *)xp;
01341 return ENOERR;
01342 }
|
|
||||||||||||||||
|
Definition at line 1323 of file ncx_cray.c. Referenced by getNCvx_schar_uchar(), and t_getn_schar_uchar().
01324 {
01325 (void) memcpy(tp, *xpp, nelems);
01326 *xpp = (void *)((char *)(*xpp) + nelems);
01327 return ENOERR;
01328
01329 }
|
|
||||||||||||||||
|
Definition at line 2015 of file ncx_cray.c. References ncx_get_short_double(), and X_SIZEOF_SHORT. Referenced by getNCvx_short_double(), and t_getn_short_double().
02016 {
02017 const char *xp = *xpp;
02018 int status = ENOERR;
02019
02020 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02021 {
02022 const int lstatus = ncx_get_short_double(xp, tp);
02023 if(lstatus != ENOERR)
02024 status = lstatus;
02025 }
02026
02027 *xpp = (const void *)xp;
02028 return status;
02029 }
|
|
||||||||||||||||
|
Definition at line 1998 of file ncx_cray.c. References ncx_get_short_float(), and X_SIZEOF_SHORT. Referenced by getNCvx_short_float(), and t_getn_short_float().
01999 {
02000 const char *xp = *xpp;
02001 int status = ENOERR;
02002
02003 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02004 {
02005 const int lstatus = ncx_get_short_float(xp, tp);
02006 if(lstatus != ENOERR)
02007 status = lstatus;
02008 }
02009
02010 *xpp = (const void *)xp;
02011 return status;
02012 }
|
|
||||||||||||||||
|
Definition at line 1964 of file ncx_cray.c. References ncx_get_short_int(), and X_SIZEOF_SHORT. Referenced by getNCvx_short_int(), and t_getn_short_int().
01965 {
01966 const char *xp = *xpp;
01967 int status = ENOERR;
01968
01969 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
01970 {
01971 const int lstatus = ncx_get_short_int(xp, tp);
01972 if(lstatus != ENOERR)
01973 status = lstatus;
01974 }
01975
01976 *xpp = (const void *)xp;
01977 return status;
01978 }
|
|
||||||||||||||||
|
Definition at line 1981 of file ncx_cray.c. References ncx_get_short_long(), and X_SIZEOF_SHORT. Referenced by getNCvx_short_long(), and t_getn_short_long().
01982 {
01983 const char *xp = *xpp;
01984 int status = ENOERR;
01985
01986 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
01987 {
01988 const int lstatus = ncx_get_short_long(xp, tp);
01989 if(lstatus != ENOERR)
01990 status = lstatus;
01991 }
01992
01993 *xpp = (const void *)xp;
01994 return status;
01995 }
|
|
||||||||||||||||
|
Definition at line 1814 of file ncx_cray.c. References ncx_get_short_schar(), and X_SIZEOF_SHORT. Referenced by getNCvx_short_schar(), and t_getn_short_schar().
01815 {
01816 const char *xp = *xpp;
01817 int status = ENOERR;
01818
01819 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
01820 {
01821 const int lstatus = ncx_get_short_schar(xp, tp);
01822 if(lstatus != ENOERR)
01823 status = lstatus;
01824 }
01825
01826 *xpp = (const void *)xp;
01827 return status;
01828 }
|
|
||||||||||||||||
|
Definition at line 1867 of file ncx_cray.c. References word_align(), and X_SIZEOF_SHORT. Referenced by getNCvx_short_short(), ncx_check(), ncx_pad_getn_short_short(), and t_getn_short_short().
01868 {
01869 if(nelems > 0)
01870 {
01871 const word *wp = *xpp;
01872 const short *const last = &tp[nelems -1];
01873 const int rem = word_align(*xpp)/X_SIZEOF_SHORT;
01874 *xpp = ((const char *) (*xpp) + nelems * X_SIZEOF_SHORT);
01875
01876 switch(rem) {
01877 case 3:
01878 *tp = (short)((*wp >> 32) & 0xffff);
01879 if(*tp & 0x8000)
01880 *tp |= (~(0xffff));
01881 if(tp == last)
01882 return ENOERR;
01883 tp++;
01884 /*FALLTHRU*/
01885 case 2:
01886 *tp = (short)((*wp >> 16) & 0xffff);
01887 if(*tp & 0x8000)
01888 *tp |= (~(0xffff));
01889 if(tp == last)
01890 return ENOERR;
01891 tp++;
01892 /*FALLTHRU*/
01893 case 1:
01894 *tp = (short)(*wp & 0xffff);
01895 if(*tp & 0x8000)
01896 *tp |= (~(0xffff));
01897 if(tp == last)
01898 return ENOERR;
01899 tp++;
01900 wp++; /* Note Bene */
01901 /*FALLTHRU*/
01902 }
01903
01904 assert((nelems - rem) != 0);
01905 {
01906 const int nwords = ((nelems - rem) * X_SIZEOF_SHORT)
01907 / sizeof(word);
01908 const word *const endw = &wp[nwords];
01909
01910 #pragma _CRI ivdep
01911 for( ; wp < endw; wp++)
01912 {
01913
01914 *tp = (short)(*wp >> 48);
01915 if(*tp & 0x8000)
01916 *tp |= (~(0xffff));
01917 tp++;
01918
01919 *tp = (short)((*wp >> 32) & 0xffff);
01920 if(*tp & 0x8000)
01921 *tp |= (~(0xffff));
01922 tp++;
01923
01924 *tp = (short)((*wp >> 16) & 0xffff);
01925 if(*tp & 0x8000)
01926 *tp |= (~(0xffff));
01927 tp++;
01928
01929 *tp = (short)(*wp & 0xffff);
01930 if(*tp & 0x8000)
01931 *tp |= (~(0xffff));
01932 tp++;
01933 }
01934 }
01935
01936 if(tp <= last)
01937 {
01938 *tp = (short)(*wp >> 48);
01939 if(*tp & 0x8000)
01940 *tp |= (~(0xffff));
01941 tp++;
01942 }
01943 if(tp <= last)
01944 {
01945 *tp = (short)((*wp >> 32) & 0xffff);
01946 if(*tp & 0x8000)
01947 *tp |= (~(0xffff));
01948 tp++;
01949 }
01950 if(tp <= last)
01951 {
01952 *tp = (short)((*wp >> 16) & 0xffff);
01953 if(*tp & 0x8000)
01954 *tp |= (~(0xffff));
01955 tp++;
01956 }
01957
01958 }
01959 return ENOERR;
01960 }
|
|
||||||||||||||||
|
Definition at line 1831 of file ncx_cray.c. References ncx_get_short_uchar(), and X_SIZEOF_SHORT. Referenced by getNCvx_short_uchar(), and t_getn_short_uchar().
01832 {
01833 const char *xp = *xpp;
01834 int status = ENOERR;
01835
01836 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
01837 {
01838 const int lstatus = ncx_get_short_uchar(xp, tp);
01839 if(lstatus != ENOERR)
01840 status = lstatus;
01841 }
01842
01843 *xpp = (const void *)xp;
01844 return status;
01845 }
|
|
||||||||||||||||
|
Definition at line 3733 of file ncx_cray.c. Referenced by ncx_check().
03734 {
03735 (void) memcpy(tp, *xpp, nelems);
03736 *xpp = (void *)((char *)(*xpp) + nelems);
03737 return ENOERR;
03738
03739 }
|
|
||||||||||||||||
|
Definition at line 3791 of file ncx_cray.c.
03792 {
03793 (void) memcpy(tp, *xpp, nelems);
03794 *xpp = (void *)((char *)(*xpp) + nelems);
03795 return ENOERR;
03796
03797 }
|
|
||||||||||||||||
|
Definition at line 1502 of file ncx_cray.c. References X_ALIGN. Referenced by ncx_pad_getn_Idouble(), and t_pad_getn_schar_double().
|
|
||||||||||||||||
|
Definition at line 1484 of file ncx_cray.c. References X_ALIGN. Referenced by ncx_pad_getn_Ifloat(), and t_pad_getn_schar_float().
|
|
||||||||||||||||
|
Definition at line 1448 of file ncx_cray.c. References X_ALIGN. Referenced by ncx_pad_getn_Iint(), and t_pad_getn_schar_int().
|
|
||||||||||||||||
|
Definition at line 1466 of file ncx_cray.c. References X_ALIGN. Referenced by ncx_pad_getn_Ilong(), and t_pad_getn_schar_long().
|
|
||||||||||||||||
|
Definition at line 1402 of file ncx_cray.c. References X_ALIGN. Referenced by ncx_check(), ncx_pad_getn_Ischar(), and t_pad_getn_schar_schar().
|
|
||||||||||||||||
|
Definition at line 1430 of file ncx_cray.c. References X_ALIGN. Referenced by ncx_pad_getn_Ishort(), and t_pad_getn_schar_short().
|
|
||||||||||||||||
|
Definition at line 1416 of file ncx_cray.c. References X_ALIGN. Referenced by ncx_pad_getn_Iuchar(), and t_pad_getn_schar_uchar().
|
|
||||||||||||||||
|
Definition at line 2158 of file ncx_cray.c. References ncx_get_short_double(), and X_SIZEOF_SHORT. Referenced by ncx_pad_getn_Idouble(), and t_pad_getn_short_double().
02159 {
02160 const size_t rndup = nelems % 2;
02161
02162 const char *xp = *xpp;
02163 int status = ENOERR;
02164
02165 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02166 {
02167 const int lstatus = ncx_get_short_double(xp, tp);
02168 if(lstatus != ENOERR)
02169 status = lstatus;
02170 }
02171
02172 if(rndup != 0)
02173 xp += X_SIZEOF_SHORT;
02174
02175 *xpp = (void *)xp;
02176 return status;
02177 }
|
|
||||||||||||||||
|
Definition at line 2136 of file ncx_cray.c. References ncx_get_short_float(), and X_SIZEOF_SHORT. Referenced by ncx_pad_getn_Ifloat(), and t_pad_getn_short_float().
02137 {
02138 const size_t rndup = nelems % 2;
02139
02140 const char *xp = *xpp;
02141 int status = ENOERR;
02142
02143 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02144 {
02145 const int lstatus = ncx_get_short_float(xp, tp);
02146 if(lstatus != ENOERR)
02147 status = lstatus;
02148 }
02149
02150 if(rndup != 0)
02151 xp += X_SIZEOF_SHORT;
02152
02153 *xpp = (void *)xp;
02154 return status;
02155 }
|
|
||||||||||||||||
|
Definition at line 2092 of file ncx_cray.c. References ncx_get_short_int(), and X_SIZEOF_SHORT. Referenced by ncx_pad_getn_Iint(), and t_pad_getn_short_int().
02093 {
02094 const size_t rndup = nelems % 2;
02095
02096 const char *xp = *xpp;
02097 int status = ENOERR;
02098
02099 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02100 {
02101 const int lstatus = ncx_get_short_int(xp, tp);
02102 if(lstatus != ENOERR)
02103 status = lstatus;
02104 }
02105
02106 if(rndup != 0)
02107 xp += X_SIZEOF_SHORT;
02108
02109 *xpp = (void *)xp;
02110 return status;
02111 }
|
|
||||||||||||||||
|
Definition at line 2114 of file ncx_cray.c. References ncx_get_short_long(), and X_SIZEOF_SHORT. Referenced by ncx_pad_getn_Ilong(), and t_pad_getn_short_long().
02115 {
02116 const size_t rndup = nelems % 2;
02117
02118 const char *xp = *xpp;
02119 int status = ENOERR;
02120
02121 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02122 {
02123 const int lstatus = ncx_get_short_long(xp, tp);
02124 if(lstatus != ENOERR)
02125 status = lstatus;
02126 }
02127
02128 if(rndup != 0)
02129 xp += X_SIZEOF_SHORT;
02130
02131 *xpp = (void *)xp;
02132 return status;
02133 }
|
|
||||||||||||||||
|
Definition at line 2033 of file ncx_cray.c. References ncx_get_short_schar(), and X_SIZEOF_SHORT. Referenced by ncx_pad_getn_Ischar(), and t_pad_getn_short_schar().
02034 {
02035 const size_t rndup = nelems % 2;
02036
02037 const char *xp = *xpp;
02038 int status = ENOERR;
02039
02040 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02041 {
02042 const int lstatus = ncx_get_short_schar(xp, tp);
02043 if(lstatus != ENOERR)
02044 status = lstatus;
02045 }
02046
02047 if(rndup != 0)
02048 xp += X_SIZEOF_SHORT;
02049
02050 *xpp = (void *)xp;
02051 return status;
02052 }
|
|
||||||||||||||||
|
Definition at line 2077 of file ncx_cray.c. References ncx_getn_short_short(), and X_SIZEOF_SHORT. Referenced by ncx_check(), ncx_pad_getn_Ishort(), and t_pad_getn_short_short().
02078 {
02079 const size_t rndup = nelems % 2;
02080
02081 const int status = ncx_getn_short_short(xpp, nelems, tp);
02082
02083 if(rndup != 0)
02084 {
02085 *xpp = ((char *) (*xpp) + X_SIZEOF_SHORT);
02086 }
02087
02088 return status;
02089 }
|
|
||||||||||||||||
|
Definition at line 2055 of file ncx_cray.c. References ncx_get_short_uchar(), and X_SIZEOF_SHORT. Referenced by ncx_pad_getn_Iuchar(), and t_pad_getn_short_uchar().
02056 {
02057 const size_t rndup = nelems % 2;
02058
02059 const char *xp = *xpp;
02060 int status = ENOERR;
02061
02062 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02063 {
02064 const int lstatus = ncx_get_short_uchar(xp, tp);
02065 if(lstatus != ENOERR)
02066 status = lstatus;
02067 }
02068
02069 if(rndup != 0)
02070 xp += X_SIZEOF_SHORT;
02071
02072 *xpp = (void *)xp;
02073 return status;
02074 }
|
|
||||||||||||||||
|
Definition at line 3742 of file ncx_cray.c. References X_ALIGN. Referenced by nc_get_att_text(), ncx_check(), and v1h_get_NC_string().
|
|
||||||||||||||||
|
Definition at line 3800 of file ncx_cray.c. References X_ALIGN.
|
|
||||||||||||||||
|
Definition at line 1781 of file ncx_cray.c. References nada, X_ALIGN, X_SCHAR_MAX, and X_SCHAR_MIN. Referenced by ncx_pad_putn_Idouble(), and t_pad_putn_schar_double().
01782 {
01783 int status = ENOERR;
01784 size_t rndup = nelems % X_ALIGN;
01785 schar *xp = (schar *)(*xpp);
01786
01787 if(rndup)
01788 rndup = X_ALIGN - rndup;
01789
01790 while(nelems-- != 0)
01791 {
01792 /* N.B. schar as signed */
01793 if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
01794 status = NC_ERANGE;
01795 *xp++ = (schar) *tp++;
01796 }
01797
01798
01799 if(rndup)
01800 {
01801 (void) memcpy(xp, nada, rndup);
01802 xp += rndup;
01803 }
01804
01805 *xpp = (void *)xp;
01806 return status;
01807 }
|
|
||||||||||||||||
|
Definition at line 1752 of file ncx_cray.c. References nada, X_ALIGN, X_SCHAR_MAX, and X_SCHAR_MIN. Referenced by ncx_pad_putn_Ifloat(), and t_pad_putn_schar_float().
01753 {
01754 int status = ENOERR;
01755 size_t rndup = nelems % X_ALIGN;
01756 schar *xp = (schar *)(*xpp);
01757
01758 if(rndup)
01759 rndup = X_ALIGN - rndup;
01760
01761 while(nelems-- != 0)
01762 {
01763 /* N.B. schar as signed */
01764 if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
01765 status = NC_ERANGE;
01766 *xp++ = (schar) *tp++;
01767 }
01768
01769
01770 if(rndup)
01771 {
01772 (void) memcpy(xp, nada, rndup);
01773 xp += rndup;
01774 }
01775
01776 *xpp = (void *)xp;
01777 return status;
01778 }
|
|
||||||||||||||||
|
Definition at line 1694 of file ncx_cray.c. References nada, X_ALIGN, X_SCHAR_MAX, and X_SCHAR_MIN. Referenced by ncx_pad_putn_Iint(), and t_pad_putn_schar_int().
01695 {
01696 int status = ENOERR;
01697 size_t rndup = nelems % X_ALIGN;
01698 schar *xp = (schar *)(*xpp);
01699
01700 if(rndup)
01701 rndup = X_ALIGN - rndup;
01702
01703 while(nelems-- != 0)
01704 {
01705 /* N.B. schar as signed */
01706 if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
01707 status = NC_ERANGE;
01708 *xp++ = (schar) *tp++;
01709 }
01710
01711
01712 if(rndup)
01713 {
01714 (void) memcpy(xp, nada, rndup);
01715 xp += rndup;
01716 }
01717
01718 *xpp = (void *)xp;
01719 return status;
01720 }
|
|
||||||||||||||||
|
Definition at line 1723 of file ncx_cray.c. References nada, X_ALIGN, X_SCHAR_MAX, and X_SCHAR_MIN. Referenced by ncx_pad_putn_Ilong(), and t_pad_putn_schar_long().
01724 {
01725 int status = ENOERR;
01726 size_t rndup = nelems % X_ALIGN;
01727 schar *xp = (schar *)(*xpp);
01728
01729 if(rndup)
01730 rndup = X_ALIGN - rndup;
01731
01732 while(nelems-- != 0)
01733 {
01734 /* N.B. schar as signed */
01735 if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
01736 status = NC_ERANGE;
01737 *xp++ = (schar) *tp++;
01738 }
01739
01740
01741 if(rndup)
01742 {
01743 (void) memcpy(xp, nada, rndup);
01744 xp += rndup;
01745 }
01746
01747 *xpp = (void *)xp;
01748 return status;
01749 }
|
|
||||||||||||||||
|
Definition at line 1625 of file ncx_cray.c. Referenced by ncx_encode(), ncx_pad_putn_Ischar(), and t_pad_putn_schar_schar().
01626 {
01627 size_t rndup = nelems % X_ALIGN;
01628
01629 if(rndup)
01630 rndup = X_ALIGN - rndup;
01631
01632 (void) memcpy(*xpp, tp, nelems);
01633 *xpp = (void *)((char *)(*xpp) + nelems);
01634
01635 if(rndup)
01636 {
01637 (void) memcpy(*xpp, nada, rndup);
01638 *xpp = (void *)((char *)(*xpp) + rndup);
01639 }
01640
01641 return ENOERR;
01642
01643 }
|
|
||||||||||||||||
|
Definition at line 1665 of file ncx_cray.c. References nada, X_ALIGN, X_SCHAR_MAX, and X_SCHAR_MIN. Referenced by ncx_pad_putn_Ishort(), and t_pad_putn_schar_short().
01666 {
01667 int status = ENOERR;
01668 size_t rndup = nelems % X_ALIGN;
01669 schar *xp = (schar *)(*xpp);
01670
01671 if(rndup)
01672 rndup = X_ALIGN - rndup;
01673
01674 while(nelems-- != 0)
01675 {
01676 /* N.B. schar as signed */
01677 if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
01678 status = NC_ERANGE;
01679 *xp++ = (schar) *tp++;
01680 }
01681
01682
01683 if(rndup)
01684 {
01685 (void) memcpy(xp, nada, rndup);
01686 xp += rndup;
01687 }
01688
01689 *xpp = (void *)xp;
01690 return status;
01691 }
|
|
||||||||||||||||
|
Definition at line 1645 of file ncx_cray.c. Referenced by ncx_pad_putn_Iuchar(), and t_pad_putn_schar_uchar().
01646 {
01647 size_t rndup = nelems % X_ALIGN;
01648
01649 if(rndup)
01650 rndup = X_ALIGN - rndup;
01651
01652 (void) memcpy(*xpp, tp, nelems);
01653 *xpp = (void *)((char *)(*xpp) + nelems);
01654
01655 if(rndup)
01656 {
01657 (void) memcpy(*xpp, nada, rndup);
01658 *xpp = (void *)((char *)(*xpp) + rndup);
01659 }
01660
01661 return ENOERR;
01662
01663 }
|
|
||||||||||||||||
|
Definition at line 2539 of file ncx_cray.c. References nada, ncx_put_short_double(), and X_SIZEOF_SHORT. Referenced by ncx_pad_putn_Idouble(), and t_pad_putn_short_double().
02540 {
02541 const size_t rndup = nelems % 2;
02542
02543 char *xp = *xpp;
02544 int status = ENOERR;
02545
02546 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02547 {
02548 const int lstatus = ncx_put_short_double(xp, tp);
02549 if(lstatus != ENOERR)
02550 status = lstatus;
02551 }
02552
02553 if(rndup != 0)
02554 {
02555 (void) memcpy(xp, nada, X_SIZEOF_SHORT);
02556 xp += X_SIZEOF_SHORT;
02557 }
02558
02559 *xpp = (void *)xp;
02560 return status;
02561 }
|
|
||||||||||||||||
|
Definition at line 2514 of file ncx_cray.c. References nada, ncx_put_short_float(), and X_SIZEOF_SHORT. Referenced by ncx_pad_putn_Ifloat(), and t_pad_putn_short_float().
02515 {
02516 const size_t rndup = nelems % 2;
02517
02518 char *xp = *xpp;
02519 int status = ENOERR;
02520
02521 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02522 {
02523 const int lstatus = ncx_put_short_float(xp, tp);
02524 if(lstatus != ENOERR)
02525 status = lstatus;
02526 }
02527
02528 if(rndup != 0)
02529 {
02530 (void) memcpy(xp, nada, X_SIZEOF_SHORT);
02531 xp += X_SIZEOF_SHORT;
02532 }
02533
02534 *xpp = (void *)xp;
02535 return status;
02536 }
|
|
||||||||||||||||
|
Definition at line 2464 of file ncx_cray.c. References nada, ncx_put_short_int(), and X_SIZEOF_SHORT. Referenced by ncx_pad_putn_Iint(), and t_pad_putn_short_int().
02465 {
02466 const size_t rndup = nelems % 2;
02467
02468 char *xp = *xpp;
02469 int status = ENOERR;
02470
02471 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02472 {
02473 const int lstatus = ncx_put_short_int(xp, tp);
02474 if(lstatus != ENOERR)
02475 status = lstatus;
02476 }
02477
02478 if(rndup != 0)
02479 {
02480 (void) memcpy(xp, nada, X_SIZEOF_SHORT);
02481 xp += X_SIZEOF_SHORT;
02482 }
02483
02484 *xpp = (void *)xp;
02485 return status;
02486 }
|
|
||||||||||||||||
|
Definition at line 2489 of file ncx_cray.c. References nada, ncx_put_short_long(), and X_SIZEOF_SHORT. Referenced by ncx_pad_putn_Ilong(), and t_pad_putn_short_long().
02490 {
02491 const size_t rndup = nelems % 2;
02492
02493 char *xp = *xpp;
02494 int status = ENOERR;
02495
02496 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02497 {
02498 const int lstatus = ncx_put_short_long(xp, tp);
02499 if(lstatus != ENOERR)
02500 status = lstatus;
02501 }
02502
02503 if(rndup != 0)
02504 {
02505 (void) memcpy(xp, nada, X_SIZEOF_SHORT);
02506 xp += X_SIZEOF_SHORT;
02507 }
02508
02509 *xpp = (void *)xp;
02510 return status;
02511 }
|
|
||||||||||||||||
|
Definition at line 2399 of file ncx_cray.c. References nada, ncx_put_short_schar(), and X_SIZEOF_SHORT. Referenced by ncx_pad_putn_Ischar(), and t_pad_putn_short_schar().
02400 {
02401 const size_t rndup = nelems % 2;
02402
02403 char *xp = *xpp;
02404 int status = ENOERR;
02405
02406 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02407 {
02408 const int lstatus = ncx_put_short_schar(xp, tp);
02409 if(lstatus != ENOERR)
02410 status = lstatus;
02411 }
02412
02413 if(rndup != 0)
02414 {
02415 (void) memcpy(xp, nada, X_SIZEOF_SHORT);
02416 xp += X_SIZEOF_SHORT;
02417 }
02418
02419 *xpp = (void *)xp;
02420 return status;
02421 }
|
|
||||||||||||||||
|
Definition at line 2449 of file ncx_cray.c. References ncx_putn_short_short(), and X_SIZEOF_SHORT. Referenced by ncx_encode(), ncx_pad_putn_Ishort(), and t_pad_putn_short_short().
02450 {
02451 const size_t rndup = nelems % 2;
02452
02453 const int status = ncx_putn_short_short(xpp, nelems, tp);
02454
02455 if(rndup != 0)
02456 {
02457 *xpp = ((char *) (*xpp) + X_SIZEOF_SHORT);
02458 }
02459
02460 return status;
02461 }
|
|
||||||||||||||||
|
Definition at line 2424 of file ncx_cray.c. References nada, ncx_put_short_uchar(), and X_SIZEOF_SHORT. Referenced by ncx_pad_putn_Iuchar(), and t_pad_putn_short_uchar().
02425 {
02426 const size_t rndup = nelems % 2;
02427
02428 char *xp = *xpp;
02429 int status = ENOERR;
02430
02431 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02432 {
02433 const int lstatus = ncx_put_short_uchar(xp, tp);
02434 if(lstatus != ENOERR)
02435 status = lstatus;
02436 }
02437
02438 if(rndup != 0)
02439 {
02440 (void) memcpy(xp, nada, X_SIZEOF_SHORT);
02441 xp += X_SIZEOF_SHORT;
02442 }
02443
02444 *xpp = (void *)xp;
02445 return status;
02446 }
|
|
||||||||||||||||
|
Definition at line 3767 of file ncx_cray.c. Referenced by nc_put_att_text(), ncx_encode(), and v1h_put_NC_string().
03768 {
03769 size_t rndup = nelems % X_ALIGN;
03770
03771 if(rndup)
03772 rndup = X_ALIGN - rndup;
03773
03774 (void) memcpy(*xpp, tp, nelems);
03775 *xpp = (void *)((char *)(*xpp) + nelems);
03776
03777 if(rndup)
03778 {
03779 (void) memcpy(*xpp, nada, rndup);
03780 *xpp = (void *)((char *)(*xpp) + rndup);
03781 }
03782
03783 return ENOERR;
03784
03785 }
|
|
||||||||||||||||
|
Definition at line 3825 of file ncx_cray.c.
03826 {
03827 size_t rndup = nelems % X_ALIGN;
03828
03829 if(rndup)
03830 rndup = X_ALIGN - rndup;
03831
03832 (void) memcpy(*xpp, tp, nelems);
03833 *xpp = (void *)((char *)(*xpp) + nelems);
03834
03835 if(rndup)
03836 {
03837 (void) memcpy(*xpp, nada, rndup);
03838 *xpp = (void *)((char *)(*xpp) + rndup);
03839 }
03840
03841 return ENOERR;
03842
03843 }
|
|
||||||||||||
|
Definition at line 1224 of file ncx_cray.c. References put_ix_double().
01225 {
01226 #if !defined(NO_IEEE_FLOAT)
01227 put_ix_double(xp, ip);
01228 return ENOERR;
01229 #else
01230 return put_ix_double(xp, ip);
01231 #endif
01232 }
|
|
||||||||||||
|
Definition at line 1212 of file ncx_cray.c. References put_ix_double(). Referenced by ncx_putn_double_float().
01213 {
01214 #if SIZEOF_FLOAT == SIZEOF_DOUBLE && FLT_MANT_DIG == DBL_MANT_DIG
01215 put_ix_double(xp, (double *)ip);
01216 return ENOERR;
01217 #else
01218 double xx = (double) *ip;
01219 return put_ix_double(xp, &xx);
01220 #endif
01221 }
|
|
||||||||||||
|
Definition at line 1195 of file ncx_cray.c. References put_ix_double(). Referenced by ncx_putn_double_int().
01196 {
01197 double xx = (double) *ip;
01198 put_ix_double(xp, &xx);
01199 return ENOERR;
01200 }
|
|
||||||||||||
|
Definition at line 1203 of file ncx_cray.c. References put_ix_double(). Referenced by ncx_putn_double_long().
01204 {
01205 double xx = (double) *ip;
01206 put_ix_double(xp, &xx);
01207 /* TODO: Deal with big guys */
01208 return ENOERR;
01209 }
|
|
||||||||||||
|
Definition at line 1171 of file ncx_cray.c. References put_ix_double(). Referenced by ncx_putn_double_schar().
01172 {
01173 double xx = (double) *ip;
01174 put_ix_double(xp, &xx);
01175 return ENOERR;
01176 }
|
|
||||||||||||
|
Definition at line 1187 of file ncx_cray.c. References put_ix_double(). Referenced by ncx_putn_double_short().
01188 {
01189 double xx = (double) *ip;
01190 put_ix_double(xp, &xx);
01191 return ENOERR;
01192 }
|
|
||||||||||||
|
Definition at line 1179 of file ncx_cray.c. References put_ix_double(). Referenced by ncx_putn_double_uchar().
01180 {
01181 double xx = (double) *ip;
01182 put_ix_double(xp, &xx);
01183 return ENOERR;
01184 }
|
|
||||||||||||
|
Definition at line 969 of file ncx_cray.c. References put_ix_float. Referenced by ncx_putn_float_double().
00970 {
00971 #if SIZEOF_FLOAT == SIZEOF_DOUBLE && FLT_MANT_DIG == DBL_MANT_DIG
00972 return put_ix_float(xp, (float *)ip);
00973 #else
00974 float xx = (float) *ip;
00975 int status = put_ix_float(xp, &xx);
00976 if(*ip > X_FLOAT_MAX || *ip < X_FLOAT_MIN)
00977 return NC_ERANGE;
00978 return status;
00979 #endif
00980 }
|
|
||||||||||||
|
Definition at line 963 of file ncx_cray.c. References put_ix_float.
00964 {
00965 return put_ix_float(xp, ip);
00966 }
|
|
||||||||||||
|
Definition at line 949 of file ncx_cray.c. References put_ix_float. Referenced by ncx_putn_float_int().
00950 {
00951 float xx = (float) *ip;
00952 return put_ix_float(xp, &xx);
00953 }
|
|
||||||||||||
|
Definition at line 956 of file ncx_cray.c. References put_ix_float. Referenced by ncx_putn_float_long().
00957 {
00958 float xx = (float) *ip;
00959 return put_ix_float(xp, &xx);
00960 }
|
|
||||||||||||
|
Definition at line 928 of file ncx_cray.c. References put_ix_float. Referenced by ncx_putn_float_schar().
00929 {
00930 float xx = (float) *ip;
00931 return put_ix_float(xp, &xx);
00932 }
|
|
||||||||||||
|
Definition at line 942 of file ncx_cray.c. References put_ix_float. Referenced by ncx_putn_float_short().
00943 {
00944 float xx = (float) *ip;
00945 return put_ix_float(xp, &xx);
00946 }
|
|
||||||||||||
|
Definition at line 935 of file ncx_cray.c. References put_ix_float. Referenced by ncx_putn_float_uchar().
00936 {
00937 float xx = (float) *ip;
00938 return put_ix_float(xp, &xx);
00939 }
|
|
||||||||||||
|
Definition at line 542 of file ncx_cray.c. References ix_int, and put_ix_int. Referenced by ncx_putn_int_double().
00543 {
00544 ix_int xx = (ix_int)(*ip);
00545 const int status = put_ix_int(xp, &xx);
00546 if(status != ENOERR)
00547 return status;
00548 if(*ip > X_INT_MAX || *ip < X_INT_MIN)
00549 return NC_ERANGE;
00550 return ENOERR;
00551 }
|
|
||||||||||||
|
Definition at line 530 of file ncx_cray.c. References ix_int, and put_ix_int. Referenced by ncx_putn_int_float().
00531 {
00532 ix_int xx = (ix_int)(*ip);
00533 const int status = put_ix_int(xp, &xx);
00534 if(status != ENOERR)
00535 return status;
00536 if(*ip > (double)X_INT_MAX || *ip < (double)X_INT_MIN)
00537 return NC_ERANGE;
00538 return ENOERR;
00539 }
|
|
||||||||||||
|
Definition at line 500 of file ncx_cray.c. References put_ix_int. Referenced by v1h_put_nc_type(), and v1h_put_NCtype().
00501 {
00502 return put_ix_int(xp, ip);
00503 }
|
|
||||||||||||
|
Definition at line 524 of file ncx_cray.c. References byteoff, and cput_int_long().
00525 {
00526 return cput_int_long(xp, ip, byteoff(xp));
00527 }
|
|
||||||||||||
|
Definition at line 462 of file ncx_cray.c. Referenced by ncx_putn_int_schar().
00463 {
00464 uchar *cp = xp;
00465 if(*ip & 0x80)
00466 {
00467 *cp++ = 0xff;
00468 *cp++ = 0xff;
00469 *cp++ = 0xff;
00470 }
00471 else
00472 {
00473 *cp++ = 0x00;
00474 *cp++ = 0x00;
00475 *cp++ = 0x00;
00476 }
00477 *cp = (uchar)*ip;
00478 return ENOERR;
00479 }
|
|
||||||||||||
|
Definition at line 493 of file ncx_cray.c. References ix_int, and put_ix_int. Referenced by ncx_putn_int_short().
00494 {
00495 ix_int xx = (ix_int)(*ip);
00496 return put_ix_int(xp, &xx);
00497 }
|
|
||||||||||||
|
Definition at line 482 of file ncx_cray.c. Referenced by ncx_putn_int_uchar().
00483 {
00484 uchar *cp = xp;
00485 *cp++ = 0x00;
00486 *cp++ = 0x00;
00487 *cp++ = 0x00;
00488 *cp = *ip;
00489 return ENOERR;
00490 }
|
|
||||||||||||
|
Definition at line 1273 of file ncx_cray.c. References X_OFF_MAX, and X_SIZEOF_OFF_T. Referenced by v1h_put_NC_var().
01274 {
01275 /* similar to put_ix_int() */
01276 uchar *cp = *xpp;
01277 /* No negative offsets stored in netcdf */
01278 assert(*lp >= 0 && *lp <= X_OFF_MAX);
01279
01280 *cp++ = (uchar)((*lp) >> 24);
01281 *cp++ = (uchar)(((*lp) & 0x00ff0000) >> 16);
01282 *cp++ = (uchar)(((*lp) & 0x0000ff00) >> 8);
01283 *cp = (uchar)((*lp) & 0x000000ff);
01284
01285 *xpp = (void *)((char *)(*xpp) + X_SIZEOF_OFF_T);
01286 return ENOERR;
01287 }
|
|
||||||||||||
|
Definition at line 313 of file ncx_cray.c. References byteoff, cput_short_short(), ix_short, and X_SIZEOF_SHORT. Referenced by ncx_pad_putn_short_double(), and ncx_putn_short_double().
00314 {
00315 ix_short xx = (ix_short)*ip;
00316 const int status = cput_short_short(xp, &xx, byteoff(xp)/X_SIZEOF_SHORT);
00317 if(status != ENOERR)
00318 return status;
00319 if(*ip > X_SHORT_MAX || *ip < X_SHORT_MIN)
00320 return NC_ERANGE;
00321 return ENOERR;
00322 }
|
|
||||||||||||
|
Definition at line 301 of file ncx_cray.c. References byteoff, cput_short_short(), ix_short, and X_SIZEOF_SHORT. Referenced by ncx_pad_putn_short_float(), and ncx_putn_short_float().
00302 {
00303 ix_short xx = (ix_short)*ip;
00304 const int status = cput_short_short(xp, &xx, byteoff(xp)/X_SIZEOF_SHORT);
00305 if(status != ENOERR)
00306 return status;
00307 if(*ip > X_SHORT_MAX || *ip < X_SHORT_MIN)
00308 return NC_ERANGE;
00309 return ENOERR;
00310 }
|
|
||||||||||||
|
Definition at line 287 of file ncx_cray.c. References byteoff, cput_short_short(), ix_short, and X_SIZEOF_SHORT. Referenced by ncx_pad_putn_short_int(), and ncx_putn_short_int().
00288 {
00289 ix_short xx = (ix_short)*ip;
00290 return cput_short_short(xp, &xx, byteoff(xp)/X_SIZEOF_SHORT);
00291 }
|
|
||||||||||||
|
Definition at line 294 of file ncx_cray.c. References byteoff, cput_short_short(), ix_short, and X_SIZEOF_SHORT. Referenced by ncx_pad_putn_short_long(), and ncx_putn_short_long().
00295 {
00296 ix_short xx = (ix_short)*ip;
00297 return cput_short_short(xp, &xx, byteoff(xp)/X_SIZEOF_SHORT);
00298 }
|
|
||||||||||||
|
Definition at line 260 of file ncx_cray.c. Referenced by ncx_pad_putn_short_schar(), and ncx_putn_short_schar().
00261 {
00262 uchar *cp = xp;
00263 if(*ip & 0x80)
00264 *cp++ = 0xff;
00265 else
00266 *cp++ = 0;
00267 *cp = (uchar)*ip;
00268 return ENOERR;
00269 }
|
|
||||||||||||
|
Definition at line 281 of file ncx_cray.c. References byteoff, cput_short_short(), and X_SIZEOF_SHORT. Referenced by ncx_pad_putn_short_short().
00282 {
00283 return cput_short_short(xp, ip, byteoff(xp)/X_SIZEOF_SHORT);
00284 }
|
|
||||||||||||
|
Definition at line 272 of file ncx_cray.c. Referenced by ncx_pad_putn_short_uchar(), and ncx_putn_short_uchar().
00273 {
00274 uchar *cp = xp;
00275 *cp++ = 0;
00276 *cp = *ip;
00277 return ENOERR;
00278 }
|
|
||||||||||||
|
Definition at line 1238 of file ncx_cray.c. References X_SIZEOF_SIZE_T. Referenced by ncx_put_NC(), v1h_put_size_t(), and write_numrecs().
01239 {
01240 /* similar to put_ix_int() */
01241 uchar *cp = *xpp;
01242 /* sizes limited to 2^31 -1 in netcdf */
01243 assert(*ulp <= X_SIZE_MAX && (long) (*ulp) >= 0);
01244
01245 *cp++ = (uchar)((*ulp) >> 24);
01246 *cp++ = (uchar)(((*ulp) & 0x00ff0000) >> 16);
01247 *cp++ = (uchar)(((*ulp) & 0x0000ff00) >> 8);
01248 *cp = (uchar)((*ulp) & 0x000000ff);
01249
01250 *xpp = (void *)((char *)(*xpp) + X_SIZEOF_SIZE_T);
01251 return ENOERR;
01252 }
|
|
||||||||||||||||
|
Definition at line 3640 of file ncx_cray.c. References byteoff, and X_SIZEOF_DOUBLE. Referenced by NC_fill_double(), ncx_encode(), ncx_pad_putn_Idouble(), ncx_putn_double_float(), putNCvx_double_double(), and t_putn_double_double().
03641 {
03642 const size_t noff = byteoff(*xpp);
03643 (void) memcpy(*xpp, tp, nelems * X_SIZEOF_DOUBLE);
03644 *xpp = (void *)((char *)(*xpp) + nelems * X_SIZEOF_DOUBLE);
03645 return ENOERR;
03646 }
|
|
||||||||||||||||
|
Definition at line 3704 of file ncx_cray.c. References ncx_put_double_float(), ncx_putn_double_double(), and X_SIZEOF_DOUBLE. Referenced by ncx_pad_putn_Ifloat(), putNCvx_double_float(), and t_putn_double_float().
03705 {
03706 #if SIZEOF_FLOAT == SIZEOF_DOUBLE && FLT_MANT_DIG == DBL_MANT_DIG
03707 return ncx_putn_double_double(xpp, nelems, (double *)tp);
03708 #else
03709 char *xp = *xpp;
03710 int status = ENOERR;
03711
03712 for( ; nelems != 0; nelems--, xp += X_SIZEOF_DOUBLE, tp++)
03713 {
03714 const int lstatus = ncx_put_double_float(xp, tp);
03715 if(lstatus != ENOERR)
03716 status = lstatus;
03717 }
03718
03719 *xpp = (void *)xp;
03720 return status;
03721 #endif
03722 }
|
|
||||||||||||||||
|
Definition at line 3572 of file ncx_cray.c. References ncx_put_double_int(), and X_SIZEOF_DOUBLE. Referenced by ncx_pad_putn_Iint(), putNCvx_double_int(), and t_putn_double_int().
03573 {
03574 char *xp = *xpp;
03575 int status = ENOERR;
03576
03577 for( ; nelems != 0; nelems--, xp += X_SIZEOF_DOUBLE, tp++)
03578 {
03579 const int lstatus = ncx_put_double_int(xp, tp);
03580 if(lstatus != ENOERR)
03581 status = lstatus;
03582 }
03583
03584 *xpp = (void *)xp;
03585 return status;
03586 }
|
|
||||||||||||||||
|
Definition at line 3589 of file ncx_cray.c. References ncx_put_double_long(), and X_SIZEOF_DOUBLE. Referenced by ncx_pad_putn_Ilong(), putNCvx_double_long(), and t_putn_double_long().
03590 {
03591 char *xp = *xpp;
03592 int status = ENOERR;
03593
03594 for( ; nelems != 0; nelems--, xp += X_SIZEOF_DOUBLE, tp++)
03595 {
03596 const int lstatus = ncx_put_double_long(xp, tp);
03597 if(lstatus != ENOERR)
03598 status = lstatus;
03599 }
03600
03601 *xpp = (void *)xp;
03602 return status;
03603 }
|
|
||||||||||||||||
|
Definition at line 3521 of file ncx_cray.c. References ncx_put_double_schar(), and X_SIZEOF_DOUBLE. Referenced by ncx_pad_putn_Ischar(), putNCvx_double_schar(), and t_putn_double_schar().
03522 {
03523 char *xp = *xpp;
03524 int status = ENOERR;
03525
03526 for( ; nelems != 0; nelems--, xp += X_SIZEOF_DOUBLE, tp++)
03527 {
03528 const int lstatus = ncx_put_double_schar(xp, tp);
03529 if(lstatus != ENOERR)
03530 status = lstatus;
03531 }
03532
03533 *xpp = (void *)xp;
03534 return status;
03535 }
|
|
||||||||||||||||
|
Definition at line 3555 of file ncx_cray.c. References ncx_put_double_short(), and X_SIZEOF_DOUBLE. Referenced by ncx_pad_putn_Ishort(), putNCvx_double_short(), and t_putn_double_short().
03556 {
03557 char *xp = *xpp;
03558 int status = ENOERR;
03559
03560 for( ; nelems != 0; nelems--, xp += X_SIZEOF_DOUBLE, tp++)
03561 {
03562 const int lstatus = ncx_put_double_short(xp, tp);
03563 if(lstatus != ENOERR)
03564 status = lstatus;
03565 }
03566
03567 *xpp = (void *)xp;
03568 return status;
03569 }
|
|
||||||||||||||||
|
Definition at line 3538 of file ncx_cray.c. References ncx_put_double_uchar(), and X_SIZEOF_DOUBLE. Referenced by ncx_pad_putn_Iuchar(), putNCvx_double_uchar(), and t_putn_double_uchar().
03539 {
03540 char *xp = *xpp;
03541 int status = ENOERR;
03542
03543 for( ; nelems != 0; nelems--, xp += X_SIZEOF_DOUBLE, tp++)
03544 {
03545 const int lstatus = ncx_put_double_uchar(xp, tp);
03546 if(lstatus != ENOERR)
03547 status = lstatus;
03548 }
03549
03550 *xpp = (void *)xp;
03551 return status;
03552 }
|
|
||||||||||||||||
|
Definition at line 3301 of file ncx_cray.c. References ncx_put_float_double(), and X_SIZEOF_FLOAT. Referenced by ncx_pad_putn_Idouble(), putNCvx_float_double(), and t_putn_float_double().
03302 {
03303 char *xp = *xpp;
03304 int status = ENOERR;
03305
03306 for( ; nelems != 0; nelems--, xp += X_SIZEOF_FLOAT, tp++)
03307 {
03308 const int lstatus = ncx_put_float_double(xp, tp);
03309 if(lstatus != ENOERR)
03310 status = lstatus;
03311 }
03312
03313 *xpp = (void *)xp;
03314 return status;
03315 }
|
|
||||||||||||||||
|
Definition at line 3249 of file ncx_cray.c. References byteoff, cput_float_float(), and X_SIZEOF_FLOAT. Referenced by NC_fill_float(), ncx_encode(), ncx_pad_putn_Ifloat(), putNCvx_float_float(), and t_putn_float_float().
03250 {
03251 int status = ENOERR;
03252 const int bo = byteoff(*xpp);
03253
03254 if(nelems == 0)
03255 return ENOERR;
03256
03257 if(bo != 0)
03258 {
03259 status = cput_float_float(*xpp, tp, bo);
03260 *xpp = ((char *) (*xpp) + X_SIZEOF_FLOAT);
03261 nelems--;
03262 if(nelems == 0)
03263 return status;
03264 tp++;
03265 }
03266
03267 assert(byteoff(*xpp) == 0);
03268
03269 {
03270 const int nwords = (nelems * X_SIZEOF_FLOAT)/sizeof(word);
03271 word *wp = *xpp;
03272 const word *const end = &wp[nwords];
03273
03274 #pragma _CRI ivdep
03275 for( ; wp < end; wp++, tp += 2)
03276 {
03277 int lstatus = cput_float_float(wp, tp, 0);
03278 if(lstatus != ENOERR)
03279 status = lstatus;
03280 lstatus = cput_float_float(wp, tp + 1, 1);
03281 if(lstatus != ENOERR)
03282 status = lstatus;
03283 }
03284
03285 *xpp = ((char *) (*xpp) + nwords * sizeof(word));
03286 nelems -= (nwords * sizeof(word)/X_SIZEOF_FLOAT);
03287 if(nelems != 0)
03288 {
03289 const int lstatus = cput_float_float(wp, tp, 0);
03290 if(lstatus != ENOERR)
03291 status = lstatus;
03292 *xpp = ((char *) (*xpp) + X_SIZEOF_FLOAT);
03293 }
03294 }
03295
03296 return status;
03297 }
|
|
||||||||||||||||
|
Definition at line 3194 of file ncx_cray.c. References ncx_put_float_int(), and X_SIZEOF_FLOAT. Referenced by ncx_pad_putn_Iint(), putNCvx_float_int(), and t_putn_float_int().
03195 {
03196 char *xp = *xpp;
03197 int status = ENOERR;
03198
03199 for( ; nelems != 0; nelems--, xp += X_SIZEOF_FLOAT, tp++)
03200 {
03201 const int lstatus = ncx_put_float_int(xp, tp);
03202 if(lstatus != ENOERR)
03203 status = lstatus;
03204 }
03205
03206 *xpp = (void *)xp;
03207 return status;
03208 }
|
|
||||||||||||||||
|
Definition at line 3211 of file ncx_cray.c. References ncx_put_float_long(), and X_SIZEOF_FLOAT. Referenced by ncx_pad_putn_Ilong(), putNCvx_float_long(), and t_putn_float_long().
03212 {
03213 char *xp = *xpp;
03214 int status = ENOERR;
03215
03216 for( ; nelems != 0; nelems--, xp += X_SIZEOF_FLOAT, tp++)
03217 {
03218 const int lstatus = ncx_put_float_long(xp, tp);
03219 if(lstatus != ENOERR)
03220 status = lstatus;
03221 }
03222
03223 *xpp = (void *)xp;
03224 return status;
03225 }
|
|
||||||||||||||||
|
Definition at line 3143 of file ncx_cray.c. References ncx_put_float_schar(), and X_SIZEOF_FLOAT. Referenced by ncx_pad_putn_Ischar(), putNCvx_float_schar(), and t_putn_float_schar().
03144 {
03145 char *xp = *xpp;
03146 int status = ENOERR;
03147
03148 for( ; nelems != 0; nelems--, xp += X_SIZEOF_FLOAT, tp++)
03149 {
03150 const int lstatus = ncx_put_float_schar(xp, tp);
03151 if(lstatus != ENOERR)
03152 status = lstatus;
03153 }
03154
03155 *xpp = (void *)xp;
03156 return status;
03157 }
|
|
||||||||||||||||
|
Definition at line 3177 of file ncx_cray.c. References ncx_put_float_short(), and X_SIZEOF_FLOAT. Referenced by ncx_pad_putn_Ishort(), putNCvx_float_short(), and t_putn_float_short().
03178 {
03179 char *xp = *xpp;
03180 int status = ENOERR;
03181
03182 for( ; nelems != 0; nelems--, xp += X_SIZEOF_FLOAT, tp++)
03183 {
03184 const int lstatus = ncx_put_float_short(xp, tp);
03185 if(lstatus != ENOERR)
03186 status = lstatus;
03187 }
03188
03189 *xpp = (void *)xp;
03190 return status;
03191 }
|
|
||||||||||||||||
|
Definition at line 3160 of file ncx_cray.c. References ncx_put_float_uchar(), and X_SIZEOF_FLOAT. Referenced by ncx_pad_putn_Iuchar(), putNCvx_float_uchar(), and t_putn_float_uchar().
03161 {
03162 char *xp = *xpp;
03163 int status = ENOERR;
03164
03165 for( ; nelems != 0; nelems--, xp += X_SIZEOF_FLOAT, tp++)
03166 {
03167 const int lstatus = ncx_put_float_uchar(xp, tp);
03168 if(lstatus != ENOERR)
03169 status = lstatus;
03170 }
03171
03172 *xpp = (void *)xp;
03173 return status;
03174 }
|
|
||||||||||||||||
|
Definition at line 2954 of file ncx_cray.c. References ncx_put_int_double(), and X_SIZEOF_INT. Referenced by ncx_pad_putn_Idouble(), putNCvx_int_double(), and t_putn_int_double().
02955 {
02956 char *xp = *xpp;
02957 int status = ENOERR;
02958
02959 for( ; nelems != 0; nelems--, xp += X_SIZEOF_INT, tp++)
02960 {
02961 const int lstatus = ncx_put_int_double(xp, tp);
02962 if(lstatus != ENOERR)
02963 status = lstatus;
02964 }
02965
02966 *xpp = (void *)xp;
02967 return status;
02968 }
|
|
||||||||||||||||
|
Definition at line 2937 of file ncx_cray.c. References ncx_put_int_float(), and X_SIZEOF_INT. Referenced by ncx_pad_putn_Ifloat(), putNCvx_int_float(), and t_putn_int_float().
02938 {
02939 char *xp = *xpp;
02940 int status = ENOERR;
02941
02942 for( ; nelems != 0; nelems--, xp += X_SIZEOF_INT, tp++)
02943 {
02944 const int lstatus = ncx_put_int_float(xp, tp);
02945 if(lstatus != ENOERR)
02946 status = lstatus;
02947 }
02948
02949 *xpp = (void *)xp;
02950 return status;
02951 }
|
|
||||||||||||||||
|
Definition at line 2834 of file ncx_cray.c. References byteoff, cput_int_int(), and X_SIZEOF_INT. Referenced by NC_fill_int(), ncx_encode(), ncx_pad_putn_Iint(), putNCvx_int_int(), t_putn_int_int(), and v1h_put_NC_var().
02835 {
02836 int status = ENOERR;
02837 const int bo = byteoff(*xpp);
02838
02839 if(nelems == 0)
02840 return ENOERR;
02841
02842 if(bo != 0)
02843 {
02844 status = cput_int_int(*xpp, tp, bo);
02845 *xpp = ((char *) (*xpp) + X_SIZEOF_INT);
02846 nelems--;
02847 if(nelems == 0)
02848 return status;
02849 tp++;
02850 }
02851
02852 assert(byteoff(*xpp) == 0);
02853
02854 {
02855 const int nwords = (nelems * X_SIZEOF_INT)/sizeof(word);
02856 word *wp = *xpp;
02857 const word *const end = &wp[nwords];
02858
02859 #pragma _CRI ivdep
02860 for( ; wp < end; wp++, tp += 2)
02861 {
02862 int lstatus = cput_int_int(wp, tp, 0);
02863 if(lstatus != ENOERR)
02864 status = lstatus;
02865 lstatus = cput_int_int(wp, tp + 1, 1);
02866 if(lstatus != ENOERR)
02867 status = lstatus;
02868 }
02869
02870 *xpp = ((char *) (*xpp) + nwords * sizeof(word));
02871 nelems -= (nwords * sizeof(word)/X_SIZEOF_INT);
02872 if(nelems != 0)
02873 {
02874 const int lstatus = cput_int_int(wp, tp, 0);
02875 if(lstatus != ENOERR)
02876 status = lstatus;
02877 *xpp = ((char *) (*xpp) + X_SIZEOF_INT);
02878 }
02879 }
02880
02881 return status;
02882 }
|
|
||||||||||||||||
|
Definition at line 2886 of file ncx_cray.c. References byteoff, cput_int_long(), and X_SIZEOF_INT. Referenced by ncx_encode(), ncx_pad_putn_Ilong(), putNCvx_int_long(), and t_putn_int_long().
02887 {
02888 int status = ENOERR;
02889 const int bo = byteoff(*xpp);
02890
02891 if(nelems == 0)
02892 return ENOERR;
02893
02894 if(bo != 0)
02895 {
02896 status = cput_int_long(*xpp, tp, bo);
02897 *xpp = ((char *) (*xpp) + X_SIZEOF_INT);
02898 nelems--;
02899 if(nelems == 0)
02900 return status;
02901 tp++;
02902 }
02903
02904 assert(byteoff(*xpp) == 0);
02905
02906 {
02907 const int nwords = (nelems * X_SIZEOF_INT)/sizeof(word);
02908 word *wp = *xpp;
02909 const word *const end = &wp[nwords];
02910
02911 #pragma _CRI ivdep
02912 for( ; wp < end; wp++, tp += 2)
02913 {
02914 int lstatus = cput_int_long(wp, tp, 0);
02915 if(lstatus != ENOERR)
02916 status = lstatus;
02917 lstatus = cput_int_long(wp, tp + 1, 1);
02918 if(lstatus != ENOERR)
02919 status = lstatus;
02920 }
02921
02922 *xpp = ((char *) (*xpp) + nwords * sizeof(word));
02923 nelems -= (nwords * sizeof(word)/X_SIZEOF_INT);
02924 if(nelems != 0)
02925 {
02926 const int lstatus = cput_int_long(wp, tp, 0);
02927 if(lstatus != ENOERR)
02928 status = lstatus;
02929 *xpp = ((char *) (*xpp) + X_SIZEOF_INT);
02930 }
02931 }
02932
02933 return status;
02934 }
|
|
||||||||||||||||
|
Definition at line 2762 of file ncx_cray.c. References ncx_put_int_schar(), and X_SIZEOF_INT. Referenced by ncx_pad_putn_Ischar(), putNCvx_int_schar(), and t_putn_int_schar().
02763 {
02764 char *xp = *xpp;
02765 int status = ENOERR;
02766
02767 for( ; nelems != 0; nelems--, xp += X_SIZEOF_INT, tp++)
02768 {
02769 const int lstatus = ncx_put_int_schar(xp, tp);
02770 if(lstatus != ENOERR)
02771 status = lstatus;
02772 }
02773
02774 *xpp = (void *)xp;
02775 return status;
02776 }
|
|
||||||||||||||||
|
Definition at line 2796 of file ncx_cray.c. References ncx_put_int_short(), and X_SIZEOF_INT. Referenced by ncx_pad_putn_Ishort(), putNCvx_int_short(), and t_putn_int_short().
02797 {
02798 char *xp = *xpp;
02799 int status = ENOERR;
02800
02801 for( ; nelems != 0; nelems--, xp += X_SIZEOF_INT, tp++)
02802 {
02803 const int lstatus = ncx_put_int_short(xp, tp);
02804 if(lstatus != ENOERR)
02805 status = lstatus;
02806 }
02807
02808 *xpp = (void *)xp;
02809 return status;
02810 }
|
|
||||||||||||||||
|
Definition at line 2779 of file ncx_cray.c. References ncx_put_int_uchar(), and X_SIZEOF_INT. Referenced by ncx_pad_putn_Iuchar(), putNCvx_int_uchar(), and t_putn_int_uchar().
02780 {
02781 char *xp = *xpp;
02782 int status = ENOERR;
02783
02784 for( ; nelems != 0; nelems--, xp += X_SIZEOF_INT, tp++)
02785 {
02786 const int lstatus = ncx_put_int_uchar(xp, tp);
02787 if(lstatus != ENOERR)
02788 status = lstatus;
02789 }
02790
02791 *xpp = (void *)xp;
02792 return status;
02793 }
|
|
||||||||||||||||
|
Definition at line 1607 of file ncx_cray.c. References X_SCHAR_MAX, and X_SCHAR_MIN. Referenced by putNCvx_schar_double(), and t_putn_schar_double().
01608 {
01609 int status = ENOERR;
01610 schar *xp = (schar *)(*xpp);
01611
01612 while(nelems-- != 0)
01613 {
01614 if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
01615 status = NC_ERANGE;
01616 *xp++ = (schar) *tp++;
01617 }
01618
01619 *xpp = (void *)xp;
01620 return status;
01621 }
|
|
||||||||||||||||
|
Definition at line 1590 of file ncx_cray.c. References X_SCHAR_MAX, and X_SCHAR_MIN. Referenced by putNCvx_schar_float(), and t_putn_schar_float().
01591 {
01592 int status = ENOERR;
01593 schar *xp = (schar *)(*xpp);
01594
01595 while(nelems-- != 0)
01596 {
01597 if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
01598 status = NC_ERANGE;
01599 *xp++ = (schar) *tp++;
01600 }
01601
01602 *xpp = (void *)xp;
01603 return status;
01604 }
|
|
||||||||||||||||
|
Definition at line 1556 of file ncx_cray.c. References X_SCHAR_MAX, and X_SCHAR_MIN. Referenced by putNCvx_schar_int(), and t_putn_schar_int().
01557 {
01558 int status = ENOERR;
01559 schar *xp = (schar *)(*xpp);
01560
01561 while(nelems-- != 0)
01562 {
01563 if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
01564 status = NC_ERANGE;
01565 *xp++ = (schar) *tp++;
01566 }
01567
01568 *xpp = (void *)xp;
01569 return status;
01570 }
|
|
||||||||||||||||
|
Definition at line 1573 of file ncx_cray.c. References X_SCHAR_MAX, and X_SCHAR_MIN. Referenced by putNCvx_schar_long(), and t_putn_schar_long().
01574 {
01575 int status = ENOERR;
01576 schar *xp = (schar *)(*xpp);
01577
01578 while(nelems-- != 0)
01579 {
01580 if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
01581 status = NC_ERANGE;
01582 *xp++ = (schar) *tp++;
01583 }
01584
01585 *xpp = (void *)xp;
01586 return status;
01587 }
|
|
||||||||||||||||
|
Definition at line 1521 of file ncx_cray.c. Referenced by NC_fill_schar(), ncx_encode(), ncx_put_NC(), putNCvx_schar_schar(), and t_putn_schar_schar().
01522 {
01523 (void) memcpy(*xpp, tp, nelems);
01524 *xpp = (void *)((char *)(*xpp) + nelems);
01525
01526 return ENOERR;
01527
01528 }
|
|
||||||||||||||||
|
Definition at line 1539 of file ncx_cray.c. References X_SCHAR_MAX, and X_SCHAR_MIN. Referenced by putNCvx_schar_short(), and t_putn_schar_short().
01540 {
01541 int status = ENOERR;
01542 schar *xp = (schar *)(*xpp);
01543
01544 while(nelems-- != 0)
01545 {
01546 if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
01547 status = NC_ERANGE;
01548 *xp++ = (schar) *tp++;
01549 }
01550
01551 *xpp = (void *)xp;
01552 return status;
01553 }
|
|
||||||||||||||||
|
Definition at line 1530 of file ncx_cray.c. Referenced by putNCvx_schar_uchar(), and t_putn_schar_uchar().
01531 {
01532 (void) memcpy(*xpp, tp, nelems);
01533 *xpp = (void *)((char *)(*xpp) + nelems);
01534
01535 return ENOERR;
01536
01537 }
|
|
||||||||||||||||
|
Definition at line 2381 of file ncx_cray.c. References ncx_put_short_double(), and X_SIZEOF_SHORT. Referenced by putNCvx_short_double(), and t_putn_short_double().
02382 {
02383 char *xp = *xpp;
02384 int status = ENOERR;
02385
02386 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02387 {
02388 const int lstatus = ncx_put_short_double(xp, tp);
02389 if(lstatus != ENOERR)
02390 status = lstatus;
02391 }
02392
02393 *xpp = (void *)xp;
02394 return status;
02395 }
|
|
||||||||||||||||
|
Definition at line 2364 of file ncx_cray.c. References ncx_put_short_float(), and X_SIZEOF_SHORT. Referenced by putNCvx_short_float(), and t_putn_short_float().
02365 {
02366 char *xp = *xpp;
02367 int status = ENOERR;
02368
02369 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02370 {
02371 const int lstatus = ncx_put_short_float(xp, tp);
02372 if(lstatus != ENOERR)
02373 status = lstatus;
02374 }
02375
02376 *xpp = (void *)xp;
02377 return status;
02378 }
|
|
||||||||||||||||
|
Definition at line 2330 of file ncx_cray.c. References ncx_put_short_int(), and X_SIZEOF_SHORT. Referenced by putNCvx_short_int(), and t_putn_short_int().
02331 {
02332 char *xp = *xpp;
02333 int status = ENOERR;
02334
02335 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02336 {
02337 const int lstatus = ncx_put_short_int(xp, tp);
02338 if(lstatus != ENOERR)
02339 status = lstatus;
02340 }
02341
02342 *xpp = (void *)xp;
02343 return status;
02344 }
|
|
||||||||||||||||
|
Definition at line 2347 of file ncx_cray.c. References ncx_put_short_long(), and X_SIZEOF_SHORT. Referenced by putNCvx_short_long(), and t_putn_short_long().
02348 {
02349 char *xp = *xpp;
02350 int status = ENOERR;
02351
02352 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02353 {
02354 const int lstatus = ncx_put_short_long(xp, tp);
02355 if(lstatus != ENOERR)
02356 status = lstatus;
02357 }
02358
02359 *xpp = (void *)xp;
02360 return status;
02361 }
|
|
||||||||||||||||
|
Definition at line 2181 of file ncx_cray.c. References ncx_put_short_schar(), and X_SIZEOF_SHORT. Referenced by putNCvx_short_schar(), and t_putn_short_schar().
02182 {
02183 char *xp = *xpp;
02184 int status = ENOERR;
02185
02186 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02187 {
02188 const int lstatus = ncx_put_short_schar(xp, tp);
02189 if(lstatus != ENOERR)
02190 status = lstatus;
02191 }
02192
02193 *xpp = (void *)xp;
02194 return status;
02195 }
|
|
||||||||||||||||
|
Definition at line 2236 of file ncx_cray.c. References word_align(), and X_SIZEOF_SHORT. Referenced by NC_fill_short(), ncx_encode(), ncx_pad_putn_short_short(), putNCvx_short_short(), and t_putn_short_short().
02237 {
02238 int status = ENOERR;
02239 if(nelems == 0)
02240 return status;
02241 {
02242 word *wp = *xpp;
02243 const short *const last = &tp[nelems -1];
02244 const int rem = word_align(*xpp)/X_SIZEOF_SHORT;
02245 *xpp = ((char *) (*xpp) + nelems * X_SIZEOF_SHORT);
02246
02247 switch(rem) {
02248 case 3:
02249 *wp = ((*tp << 32) & 0x0000ffff00000000)
02250 | (*wp & 0xffff0000ffffffff);
02251 if(*tp > X_SHORT_MAX || *tp < X_SHORT_MIN)
02252 status = NC_ERANGE;
02253 if(tp == last)
02254 return status;
02255 tp++;
02256 /*FALLTHRU*/
02257 case 2:
02258 *wp = ((*tp << 16) & 0x00000000ffff0000)
02259 | (*wp & 0xffffffff0000ffff);
02260 if(*tp > X_SHORT_MAX || *tp < X_SHORT_MIN)
02261 status = NC_ERANGE;
02262 if(tp == last)
02263 return status;
02264 tp++;
02265 /*FALLTHRU*/
02266 case 1:
02267 *wp = (*tp & 0x000000000000ffff)
02268 | (*wp & 0xffffffffffff0000);
02269 if(*tp > X_SHORT_MAX || *tp < X_SHORT_MIN)
02270 status = NC_ERANGE;
02271 if(tp == last)
02272 return status;
02273 tp++;
02274 wp++; /* Note Bene */
02275 /*FALLTHRU*/
02276 }
02277
02278 assert((nelems - rem) != 0);
02279 {
02280 const int nwords = ((nelems - rem) * X_SIZEOF_SHORT)
02281 / sizeof(word);
02282 const word *const endw = &wp[nwords];
02283
02284 #pragma _CRI ivdep
02285 for( ; wp < endw; wp++)
02286 {
02287 *wp = (*tp << 48)
02288 | ((*(tp +1) << 32) & 0x0000ffff00000000)
02289 | ((*(tp +2) << 16) & 0x00000000ffff0000)
02290 | ((*(tp +3) ) & 0x000000000000ffff);
02291
02292 { int ii = 0;
02293 for(; ii < 4; ii++, tp++)
02294 if(*tp > X_SHORT_MAX || *tp < X_SHORT_MIN)
02295 status = NC_ERANGE;
02296 }
02297 }
02298 }
02299
02300 if(tp <= last)
02301 {
02302 *wp = (*tp << 48)
02303 | (*wp & 0x0000ffffffffffff);
02304 if(*tp > X_SHORT_MAX || *tp < X_SHORT_MIN)
02305 status = NC_ERANGE;
02306 tp++;
02307 }
02308 if(tp <= last)
02309 {
02310 *wp = ((*tp << 32) & 0x0000ffff00000000)
02311 | (*wp & 0xffff0000ffffffff);
02312 if(*tp > X_SHORT_MAX || *tp < X_SHORT_MIN)
02313 status = NC_ERANGE;
02314 tp++;
02315 }
02316 if(tp <= last)
02317 {
02318 *wp = ((*tp << 16) & 0x00000000ffff0000)
02319 | (*wp & 0xffffffff0000ffff);
02320 if(*tp > X_SHORT_MAX || *tp < X_SHORT_MIN)
02321 status = NC_ERANGE;
02322 }
02323
02324 return status;
02325 }
02326 }
|
|
||||||||||||||||
|
Definition at line 2198 of file ncx_cray.c. References ncx_put_short_uchar(), and X_SIZEOF_SHORT. Referenced by putNCvx_short_uchar(), and t_putn_short_uchar().
02199 {
02200 char *xp = *xpp;
02201 int status = ENOERR;
02202
02203 for( ; nelems != 0; nelems--, xp += X_SIZEOF_SHORT, tp++)
02204 {
02205 const int lstatus = ncx_put_short_uchar(xp, tp);
02206 if(lstatus != ENOERR)
02207 status = lstatus;
02208 }
02209
02210 *xpp = (void *)xp;
02211 return status;
02212 }
|
|
||||||||||||||||
|
Definition at line 3757 of file ncx_cray.c. Referenced by ncx_encode().
03758 {
03759 (void) memcpy(*xpp, tp, nelems);
03760 *xpp = (void *)((char *)(*xpp) + nelems);
03761
03762 return ENOERR;
03763
03764 }
|
|
||||||||||||||||
|
Definition at line 3815 of file ncx_cray.c.
03816 {
03817 (void) memcpy(*xpp, tp, nelems);
03818 *xpp = (void *)((char *)(*xpp) + nelems);
03819
03820 return ENOERR;
03821
03822 }
|