/*$$$ SUBPROGRAM DOCUMENTATION BLOCK C . . . . C SUBPROGRAM: mova2i Moves a bit string from a char*1 to int C PRGMMR: Gilbert ORG: W/NP11 DATE: 02-08-15 C C ABSTRACT: This Function copies a bit string from a Character*1 variable C to an integer variable. It is intended to replace the Fortran Intrinsic C Function ICHAR, which only supports 0 <= ICHAR(a) <= 127 on the C IBM SP. If "a" is greater than 127 in the collating sequence, C ICHAR(a) does not return the expected bit value. C This function can be used for all values 0 <= ICHAR(a) <= 255. C C PROGRAM HISTORY LOG: C 98-12-15 Gilbert C C USAGE: I = mova2i(a) C C INPUT ARGUMENT : C C a - Character*1 variable that holds the bitstring to extract C C RETURN ARGUMENT : C C mova2i - Integer value of the bitstring in character a C C REMARKS: C C None C C ATTRIBUTES: C LANGUAGE: C C MACHINE: IBM SP C C$$$i*/ #ifdef CRAY90 #include int MOVA2I(unsigned char *a) #endif #ifdef HP int mova2i(unsigned char *a) #endif #ifdef SGI int mova2i_(unsigned char *a) #endif #ifdef LINUX int mova2i_(unsigned char *a) #endif #ifdef LINUXF90 int MOVA2I(unsigned char *a) #endif #ifdef VPP5000 int mova2i_(unsigned char *a) #endif #ifdef IBM4 int mova2i(unsigned char *a) #endif #ifdef IBM8 long long int mova2i(unsigned char *a) #endif { return (int)(*a); }