3 <UVECTOR ,ADD!-MIMOP ,SUB!-MIMOP ,AND!-MIMOP ,XOR!-MIMOP ,EQV!-MIMOP>>
5 <MSETG FT-ADDR <TYPE-CODE FALSE EXTWORD>>
9 ;<DEFINE FLOATCONVERT (CNS "AUX" RES)
10 #DECL ((CNS) <OR FIX FLOAT>)
11 <COND (<==? .CNS 0.0000000> 0)
14 <COND (<L? .CNS 0.0000000> <PUTBITS 0 <BITS 1 15> 1>)
16 <SET CNS <CHTYPE <ABS .CNS> FIX>>
17 <COND (<NOT <0? <CHTYPE <ANDB .CNS 4> FIX>>>
18 <SET CNS <+ .CNS 8>>)>
20 <PUTBITS .RES <BITS 8 7> <GET-FIELD .CNS <BITS 8 27>>>>
21 <SET RES <PUTBITS .RES <BITS 16 16>
22 <GET-FIELD .CNS <BITS 16 2>>>>
23 <CHTYPE <PUTBITS .RES <BITS 7> <GET-FIELD .CNS <BITS 7 19>>>
26 ;<DEFINE FLOAT-IMM (X) #DECL ((X) FIX)
27 <COND (<AND <0? <CHTYPE <ANDB .X *777777736017*> FIX>>
28 <NOT <0? <CHTYPE <ANDB .X *40000*> FIX>>>>
29 <MA-IMM <CHTYPE <GETBITS .X <BITS 6 4>> FIX>>)
32 ;<DEFINE FIX-CONSTANT? (CONST)
34 <COND (<TYPE? .CONST FLOAT> <FLOATCONVERT .CONST>)
35 (<==? <TYPEPRIM <TYPE .CONST>> FIX>
36 <SET CONST <CHTYPE .CONST FIX>>
37 <COND (<==? .CONST <CHTYPE <MIN> FIX>> ,32MIN)
38 (<==? .CONST <CHTYPE <MAX> FIX>> ,32MAX)
40 (<AND <==? <TYPEPRIM <TYPE .CONST>> LIST> <EMPTY? .CONST>> 0)>>