Subversion Repositories tendra.SVN

Rev

Rev 5 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5 Rev 6
Line 35... Line 35...
35
#ifndef FLT_OPS_H_INCLUDED
35
#ifndef FLT_OPS_H_INCLUDED
36
#define FLT_OPS_H_INCLUDED
36
#define FLT_OPS_H_INCLUDED
37
 
37
 
38
/* Operations for union FLOAT */
38
/* Operations for union FLOAT */
39
 
39
 
40
#define TAG_flt( P )			( ( unsigned ) 0 )
40
#define TAG_flt(P)			((unsigned) 0)
41
 
41
 
42
 
42
 
43
/* Operations for component tok of union FLOAT */
43
/* Operations for component tok of union FLOAT */
44
 
44
 
45
#define flt_tok( P )			( CHECK_NULL ( P ) + 0 )
45
#define flt_tok(P)			(CHECK_NULL(P) + 0)
46
 
46
 
47
 
47
 
48
/* Operations for field simple of union FLOAT */
48
/* Operations for field simple of union FLOAT */
49
 
49
 
50
#define flt_simple_tag			( ( unsigned ) 0 )
50
#define flt_simple_tag			((unsigned)0)
51
#define IS_flt_simple( P )		1
51
#define IS_flt_simple(P)		1
52
 
52
 
53
#define flt_simple_int_part( P )	( ( P ) + 1 )
53
#define flt_simple_int_part(P)		((P) + 1)
54
#define flt_simple_frac_part( P )	( ( P ) + 2 )
54
#define flt_simple_frac_part(P)		((P) + 2)
55
#define flt_simple_exponent( P )	( ( P ) + 3 )
55
#define flt_simple_exponent(P)		((P) + 3)
56
 
56
 
57
#define MAKE_flt_simple( int_part_, frac_part_, exponent_, c_class_flt )\
57
#define MAKE_flt_simple(int_part_, frac_part_, exponent_, c_class_flt)\
58
    {\
58
    {\
59
	c_class *x480_ = GEN_c_class ( 4, TYPEID_flt ) ;\
59
	c_class *x480_ = GEN_c_class(4, TYPEID_flt);\
60
	COPY_ulong ( x480_ + 0, LINK_NONE ) ;\
60
	COPY_ulong(x480_ + 0, LINK_NONE);\
61
	COPY_string ( x480_ + 1, ( int_part_ ) ) ;\
61
	COPY_string(x480_ + 1, (int_part_));\
62
	COPY_string ( x480_ + 2, ( frac_part_ ) ) ;\
62
	COPY_string(x480_ + 2, (frac_part_));\
63
	COPY_nat ( x480_ + 3, ( exponent_ ) ) ;\
63
	COPY_nat(x480_ + 3, (exponent_));\
64
	( c_class_flt ) = x480_ ;\
64
	(c_class_flt) = x480_;\
65
    }
65
    }
66
 
66
 
67
#define DECONS_flt_simple( tok_, int_part_, frac_part_, exponent_, c_class_flt )\
67
#define DECONS_flt_simple(tok_, int_part_, frac_part_, exponent_, c_class_flt)\
68
    {\
68
    {\
69
	c_class *x481_ = ( c_class_flt ) ;\
69
	c_class *x481_ = (c_class_flt);\
70
	( tok_ ) = DEREF_ulong ( x481_ + 0 ) ;\
70
	(tok_) = DEREF_ulong(x481_ + 0);\
71
	( int_part_ ) = DEREF_string ( x481_ + 1 ) ;\
71
	(int_part_) = DEREF_string(x481_ + 1);\
72
	( frac_part_ ) = DEREF_string ( x481_ + 2 ) ;\
72
	(frac_part_) = DEREF_string(x481_ + 2);\
73
	( exponent_ ) = DEREF_nat ( x481_ + 3 ) ;\
73
	(exponent_) = DEREF_nat(x481_ + 3);\
74
    }
74
    }
75
 
75
 
76
#define DESTROY_flt_simple( destroyer_, tok_, int_part_, frac_part_, exponent_, c_class_flt )\
76
#define DESTROY_flt_simple(destroyer_, tok_, int_part_, frac_part_, exponent_, c_class_flt)\
77
    {\
77
    {\
78
	c_class *x482_ = ( c_class_flt ) ;\
78
	c_class *x482_ = (c_class_flt);\
79
	( tok_ ) = DEREF_ulong ( x482_ + 0 ) ;\
79
	(tok_) = DEREF_ulong(x482_ + 0);\
80
	( int_part_ ) = DEREF_string ( x482_ + 1 ) ;\
80
	(int_part_) = DEREF_string(x482_ + 1);\
81
	( frac_part_ ) = DEREF_string ( x482_ + 2 ) ;\
81
	(frac_part_) = DEREF_string(x482_ + 2);\
82
	( exponent_ ) = DEREF_nat ( x482_ + 3 ) ;\
82
	(exponent_) = DEREF_nat(x482_ + 3);\
83
	( destroyer_ ) ( x482_, ( unsigned ) 4 ) ;\
83
	(destroyer_)(x482_, (unsigned)4);\
84
    }
84
    }
85
 
85
 
86
 
86
 
87
#endif
87
#endif