Lines Matching +full:0 +full:x7c000000
50 /* 1=little-endian, 0=big-endian */
52 #define DECLITEND 0
58 #define DECUSE64 1 /* 1=use int64s, 0=int32 & smaller only */
60 /* Conditional check flags -- set these to 0 for best performance */
61 #define DECCHECK 0 /* 1 to enable robust checking */
62 #define DECALLOC 0 /* 1 to enable memory accounting */
63 #define DECTRACE 0 /* 1 to trace certain internals, etc. */
92 #define DECNOINT 0 /* 1 to check no internal use of 'int' */
103 extern const uShort DPD2BIN[1024]; /* DPD -> 0-999 */
104 extern const uShort BIN2DPD[1000]; /* 0-999 -> DPD */
105 extern const uInt DPD2BINK[1024]; /* DPD -> 0-999000 */
106 extern const uInt DPD2BINM[1024]; /* DPD -> 0-999000000 */
108 extern const uByte BIN2BCD8[4000]; /* 0-999 -> ddd + len */
109 extern const uShort BCD2DPD[2458]; /* 0-0x999 -> DPD (0x999=2457)*/
118 u0=u & 0xffff; u1=u>>16; \
119 v0=v & 0xffff; v1=v>>16; \
122 w1=t & 0xffff; w2=t>>16; \
151 /* CHARMASK: 0x30303030 for ASCII/UTF8; 0xF0F0F0F0 for EBCDIC */
152 #define CHARMASK ((((((((uInt)'0')<<8)+'0')<<8)+'0')<<8)+'0')
178 #define D2UTABLE {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17, \
184 #define D2UTABLE {0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10, \
189 #define D2UTABLE {0,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7, \
194 #define D2UTABLE {0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6, \
199 #define D2UTABLE {0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5, \
204 #define D2UTABLE {0,1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,4,4, \
209 #define D2UTABLE {0,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3, \
214 #define D2UTABLE {0,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3, \
219 #define D2UTABLE {0,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,3,3,3, \
261 /* integer u at column cut (counting from the right, LSD=0) and */
268 *(c)='0'; \
292 uInt sign; /* 0=positive, DECFLOAT_Sign=negative */
304 /* (array) notation (the 0 word or byte contains the sign bit), */
320 #define DFISSIGNED(df) (DFWORD(df, 0)&0x80000000)
321 #define DFISSPECIAL(df) ((DFWORD(df, 0)&0x78000000)==0x78000000)
322 #define DFISINF(df) ((DFWORD(df, 0)&0x7c000000)==0x78000000)
323 #define DFISNAN(df) ((DFWORD(df, 0)&0x7c000000)==0x7c000000)
324 #define DFISQNAN(df) ((DFWORD(df, 0)&0x7e000000)==0x7c000000)
325 #define DFISSNAN(df) ((DFWORD(df, 0)&0x7e000000)==0x7e000000)
342 #define SINGLEZERO 0x22500000
343 #define DOUBLEZERO 0x22380000
344 #define QUADZERO 0x22080000
350 /* DFISCC01 -- test for coefficient contains only 0s and 1s */
351 /* DFISINT -- test for finite and exponent q=0 */
352 /* DFISUINT01 -- test for sign=0, finite, exponent q=0, and */
353 /* MSD=0 or 1 */
364 #define DFISZERO(df) ((DFWORD(df, 0)&0x1c0fffff)==0 \
365 && (DFWORD(df, 0)&0x60000000)!=0x60000000)
368 #define DFISZERO(df) ((DFWORD(df, 1)==0 \
369 && (DFWORD(df, 0)&0x1c03ffff)==0 \
370 && (DFWORD(df, 0)&0x60000000)!=0x60000000))
371 #define DFISINT(df) ((DFWORD(df, 0)&0x63fc0000)==0x22380000 \
372 ||(DFWORD(df, 0)&0x7bfc0000)==0x6a380000)
373 #define DFISUINT01(df) ((DFWORD(df, 0)&0xfbfc0000)==0x22380000)
374 #define DFISCCZERO(df) (DFWORD(df, 1)==0 \
375 && (DFWORD(df, 0)&0x0003ffff)==0)
376 #define DFISCC01(df) ((DFWORD(df, 0)&~0xfffc9124)==0 \
377 && (DFWORD(df, 1)&~0x49124491)==0)
380 #define DFISZERO(df) ((DFWORD(df, 3)==0 \
381 && DFWORD(df, 2)==0 \
382 && DFWORD(df, 1)==0 \
383 && (DFWORD(df, 0)&0x1c003fff)==0 \
384 && (DFWORD(df, 0)&0x60000000)!=0x60000000))
385 #define DFISINT(df) ((DFWORD(df, 0)&0x63ffc000)==0x22080000 \
386 ||(DFWORD(df, 0)&0x7bffc000)==0x6a080000)
387 #define DFISUINT01(df) ((DFWORD(df, 0)&0xfbffc000)==0x22080000)
388 #define DFISCCZERO(df) (DFWORD(df, 3)==0 \
389 && DFWORD(df, 2)==0 \
390 && DFWORD(df, 1)==0 \
391 && (DFWORD(df, 0)&0x00003fff)==0)
393 #define DFISCC01(df) ((DFWORD(df, 0)&~0xffffc912)==0 \
394 && (DFWORD(df, 1)&~0x44912449)==0 \
395 && (DFWORD(df, 2)&~0x12449124)==0 \
396 && (DFWORD(df, 3)&~0x49124491)==0)
401 /* declet is at offset 0 (from the right) in a uInt: */
402 #define CANONDPD(dpd) (((dpd)&0x300)==0 || ((dpd)&0x6e)!=0x6e)
404 #define CANONDPDOFF(dpd, k) (((dpd)&(0x300<<(k)))==0 \
405 || ((dpd)&(((uInt)0x6e)<<(k)))!=(((uInt)0x6e)<<(k)))
408 #define CANONDPDTWO(hi, lo, k) (((hi)&(0x300>>(32-(k))))==0 \
409 || ((hi)&(0x6e>>(32-(k))))!=(0x6e>>(32-(k))) \
410 || ((lo)&(((uInt)0x6e)<<(k)))!=(((uInt)0x6e)<<(k)))
416 #define ISCOEFFZERO(u) (UINTAT((u)+DECPMAX-4)==0 \
417 && UINTAT((u)+DECPMAX-7)==0)
419 #define ISCOEFFZERO(u) (UINTAT((u)+DECPMAX-4)==0 \
421 +UINTAT((u)+DECPMAX-16))==0)
423 #define ISCOEFFZERO(u) (UINTAT((u)+DECPMAX-4)==0 \
427 +UINTAT((u)+DECPMAX-32)+USHORTAT((u)+DECPMAX-34))==0)
432 #define GETECON(df) ((Int)((DFWORD((df), 0)&0x03ffffff)>>(32-6-DECECONL)))
434 #define GETWECON(df) ((Int)((DFWWORD((df), 0)&0x03ffffff)>>(32-6-DECWECONL)))
436 #define GETEXP(df) ((Int)(DECCOMBEXP[DFWORD((df), 0)>>26]+GETECON(df)))
440 #define GETMSD(df) (DECCOMBMSD[DFWORD((df), 0)>>26])
444 #define ECONMASK ((0x03ffffff>>(32-6-DECECONL))<<(32-6-DECECONL))
446 #define ECONNANMASK ((0x01ffffff>>(32-6-DECECONL))<<(32-6-DECECONL))
457 UINTAT(u)=UINTAT(&DPD2BCD8[((dpd)&0x3ff)*4]);}
460 *(u)=DPD2BCD8[((dpd)&0x3ff)*4]; \
461 *(u+1)=DPD2BCD8[((dpd)&0x3ff)*4+1]; \
462 *(u+2)=DPD2BCD8[((dpd)&0x3ff)*4+2];}
480 uInt sourhi=DFWORD(df, 0); \
485 uInt sourhi=DFWWORD(df, 0); \
496 uInt sourhi=DFWORD(df, 0); \
505 uInt sourhi=DFWWORD(df, 0); \
524 uInt sourhi=DFWORD(df, 0); \
546 /* 0-999999999 'digit' at offset 0. */
553 /* code for 0 through 9 is the identity. */
558 uInt sourhi=DFWORD(df, 0); \
559 (buf)[0]=DPD2BIN0[sourhi&0x3ff] \
560 +DPD2BINK[(sourhi>>10)&0x3ff] \
567 (buf)[0]=DPD2BIN0[sourlo&0x3ff] \
568 +DPD2BINK[(sourlo>>10)&0x3ff] \
569 +DPD2BINM[(sourlo>>20)&0x3ff]; \
570 sourhi=DFWORD(df, 0); \
571 (buf)[1]=DPD2BIN0[((sourhi<<2) | (sourlo>>30))&0x3ff] \
572 +DPD2BINK[(sourhi>>8)&0x3ff] \
579 (buf)[0]=DPD2BIN0[sourlo&0x3ff] \
580 +DPD2BINK[(sourlo>>10)&0x3ff] \
581 +DPD2BINM[(sourlo>>20)&0x3ff]; \
583 (buf)[1]=DPD2BIN0[((sourml<<2) | (sourlo>>30))&0x3ff] \
584 +DPD2BINK[(sourml>>8)&0x3ff] \
585 +DPD2BINM[(sourml>>18)&0x3ff]; \
587 (buf)[2]=DPD2BIN0[((sourmh<<4) | (sourml>>28))&0x3ff] \
588 +DPD2BINK[(sourmh>>6)&0x3ff] \
589 +DPD2BINM[(sourmh>>16)&0x3ff]; \
590 sourhi=DFWORD(df, 0); \
591 (buf)[3]=DPD2BIN0[((sourhi<<6) | (sourmh>>26))&0x3ff] \
592 +DPD2BINK[(sourhi>>4)&0x3ff] \
598 /* a base-thousand uInt array, with the least-significant 0-999 */
599 /* 'digit' at offset 0. */
605 uInt sourhi=DFWORD(df, 0); \
606 (buf)[0]=DPD2BIN[sourhi&0x3ff]; \
607 (buf)[1]=DPD2BIN[(sourhi>>10)&0x3ff]; \
614 (buf)[0]=DPD2BIN[sourlo&0x3ff]; \
615 (buf)[1]=DPD2BIN[(sourlo>>10)&0x3ff]; \
616 (buf)[2]=DPD2BIN[(sourlo>>20)&0x3ff]; \
617 sourhi=DFWORD(df, 0); \
618 (buf)[3]=DPD2BIN[((sourhi<<2) | (sourlo>>30))&0x3ff]; \
619 (buf)[4]=DPD2BIN[(sourhi>>8)&0x3ff]; \
626 (buf)[0]=DPD2BIN[sourlo&0x3ff]; \
627 (buf)[1]=DPD2BIN[(sourlo>>10)&0x3ff]; \
628 (buf)[2]=DPD2BIN[(sourlo>>20)&0x3ff]; \
630 (buf)[3]=DPD2BIN[((sourml<<2) | (sourlo>>30))&0x3ff]; \
631 (buf)[4]=DPD2BIN[(sourml>>8)&0x3ff]; \
632 (buf)[5]=DPD2BIN[(sourml>>18)&0x3ff]; \
634 (buf)[6]=DPD2BIN[((sourmh<<4) | (sourml>>28))&0x3ff]; \
635 (buf)[7]=DPD2BIN[(sourmh>>6)&0x3ff]; \
636 (buf)[8]=DPD2BIN[(sourmh>>16)&0x3ff]; \
637 sourhi=DFWORD(df, 0); \
638 (buf)[9]=DPD2BIN[((sourhi<<6) | (sourmh>>26))&0x3ff]; \
639 (buf)[10]=DPD2BIN[(sourhi>>4)&0x3ff]; \
647 {DFWORD(df, 0)=0x77f3fcff;}
650 {DFWORD(df, 0)=0x77fcff3f; \
651 DFWORD(df, 1)=0xcff3fcff;}
654 {DFWORD(df, 0)=0x77ffcff3; \
655 DFWORD(df, 1)=0xfcff3fcf; \
656 DFWORD(df, 2)=0xf3fcff3f; \
657 DFWORD(df, 3)=0xcff3fcff;}