bfs_num.h

/* [<][>][^][v][top]
[bottom][index][help] */

DEFINITIONS

This source file includes following functions.

/*
 *  bfs_num.h
 */

#ifndef _BFS_NUM_H
#define _BFS_NUM_H


#include <ruby.h>


extern          char      my_num2char(VALUE x);
extern unsigned char      my_num2uchar(VALUE x);
extern          short     my_num2shrt(VALUE x);
extern unsigned short     my_num2ushrt(VALUE x);
extern          long      my_num2long(VALUE x);
extern unsigned long      my_num2ulong(VALUE x);
extern          long long my_num2llong(VALUE x);
extern unsigned long long my_num2ullong(VALUE x);

#undef NUM2CHR
#undef NUM2LONG
#undef NUM2ULONG
#define NUM2CHR(x)    my_num2char(x)
#define NUM2UCHR(x)   my_num2uchar(x)
#define NUM2SHRT(x)   my_num2shrt(x)
#define NUM2USHRT(x)  my_num2ushrt(x)
#define NUM2LONG(x)   my_num2long(x)
#define NUM2ULONG(x)  my_num2ulong(x)
#define NUM2LLONG(x)  my_num2llong(x)
#define NUM2ULLONG(x) my_num2ullong(x)


extern VALUE my_llong2num(long long n);
extern VALUE my_ullong2num(unsigned long long n);

#undef CHR2FIX
#define CHR2FIX(n)    INT2FIX((char)((n) & 0xff))
#define UCHR2FIX(n)   INT2FIX((unsigned char)((n) & 0xff))
#define LLONG2NUM(n)  my_llong2num(n)
#define ULLONG2NUM(n) my_ullong2num(n)


#endif /* _BFS_NUM_H */

/* [<][>][^][v][top][bottom][index][help] */