1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
#include "fff_base.h"
unsigned int fff_nbytes(fff_datatype type)
{
unsigned int nbytes;
switch(type) {
case FFF_UCHAR:
nbytes = (unsigned int)sizeof(unsigned char);
break;
case FFF_SCHAR:
nbytes = (unsigned int)sizeof(signed char);
break;
case FFF_USHORT:
nbytes = (unsigned int)sizeof(unsigned short);
break;
case FFF_SSHORT:
nbytes = (unsigned int)sizeof(signed short);
break;
case FFF_UINT:
nbytes = (unsigned int)sizeof(unsigned int);
break;
case FFF_INT:
nbytes = (unsigned int)sizeof(int);
break;
case FFF_ULONG:
nbytes = (unsigned int)sizeof(unsigned long);
break;
case FFF_LONG:
nbytes = (unsigned int)sizeof(long);
break;
case FFF_FLOAT:
nbytes = (unsigned int)sizeof(float);
break;
case FFF_DOUBLE:
nbytes = (unsigned int)sizeof(double);
break;
default:
nbytes = 0;
break;
}
return nbytes;
}
int fff_is_integer(fff_datatype type)
{
int ok = 0;
switch (type) {
default:
break;
case FFF_UCHAR:
case FFF_SCHAR:
case FFF_USHORT:
case FFF_SSHORT:
case FFF_UINT:
case FFF_INT:
case FFF_ULONG:
case FFF_LONG:
ok = 1;
break;
}
return ok;
}
fff_datatype fff_get_datatype( unsigned int sizeType,
unsigned int integerType,
unsigned int signedType )
{
fff_datatype type = FFF_UNKNOWN_TYPE;
/* Case: integer type */
if ( integerType ) {
if ( signedType ) {
if ( sizeType == sizeof(signed char) )
type = FFF_SCHAR;
else if ( sizeType == sizeof(signed short) )
type = FFF_SSHORT;
else if ( sizeType == sizeof(int) )
type = FFF_INT;
else if ( sizeType == sizeof(signed long int) )
type = FFF_LONG;
}
else {
if ( sizeType == sizeof(unsigned char) )
type = FFF_UCHAR;
else if ( sizeType == sizeof(unsigned short) )
type = FFF_USHORT;
else if ( sizeType == sizeof(unsigned int) )
type = FFF_UINT;
else if ( sizeType == sizeof(unsigned long int) )
type = FFF_ULONG;
}
}
/* Case: floating type */
else {
if ( sizeType == sizeof(float) )
type = FFF_FLOAT;
else if ( sizeType == sizeof(double) )
type = FFF_DOUBLE;
}
return type;
}
|