gonzui


Format: Advanced Search

SearchGoogle itResults 1 - 1 of 1 for funcall:word0 from t2ex/bsd_source/lib/libc/src_bsd/stdlib/strtod.c (0.01 seconds)
t2ex
bsd_source/lib/libc/src_bsd/stdlib/strtod.c - 41.4KB - 1,105 lines
73:         rv = ulp(x);
74:         if (!scale || (i = 2*P + 1 - ((word0(x) & Exp_mask) >> Exp_shift)) <= 0)
75:                 return rv; /* Is there an example where i <= 0 ? */
76:         word0(&u) = Exp_1 + (i << Exp_shift);
77:         word1(&u) = 0;
307: ++s; 308: word0(&rv) = 0x7ff00000; 309: word1(&rv) = 0;
319: == STRTOG_NaNbits) { 320: word0(&rv) = 0x7ff00000 | bits[1]; 321: word1(&rv) = bits[0];
324: #endif 325: word0(&rv) = NAN_WORD0; 326: word1(&rv) = NAN_WORD1;
402: vax_ovfl_check: 403: word0(&rv) -= P*Exp_msk1; 404: /* rv = */ rounded_product(dval(&rv), tens[e]); 405: if ((word0(&rv) & Exp_mask) 406: > Exp_msk1*(DBL_MAX_EXP+Bias-1-P)) 407: goto ovfl; 408: word0(&rv) += P*Exp_msk1; 409: #else
465: case 3: /* toward -infinity */ 466: word0(&rv) = Big0; 467: word1(&rv) = Big1;
469: default: 470: word0(&rv) = Exp_mask; 471: word1(&rv) = 0;
473: #else /*Honor_FLT_ROUNDS*/ 474: word0(&rv) = Exp_mask; 475: word1(&rv) = 0;
482: #else /*IEEE_Arith*/ 483: word0(&rv) = Big0; 484: word1(&rv) = Big1;
503: /* The last multiplication could overflow. */ 504: word0(&rv) -= P*Exp_msk1; 505: dval(&rv) *= bigtens[j]; 506: if ((z = word0(&rv) & Exp_mask) 507: > Exp_msk1*(DBL_MAX_EXP+Bias-P))
511: /* (Can't trust DBL_MAX) */ 512: word0(&rv) = Big0; 513: word1(&rv) = Big1;
515: else 516: word0(&rv) += P*Exp_msk1; 517: }
531: dval(&rv) *= tinytens[j]; 532: if (scale && (j = 2*P + 1 - ((word0(&rv) & Exp_mask) 533: >> Exp_shift)) > 0) {
537: if (j >= 53) 538: word0(&rv) = (P+2)*Exp_msk1; 539: else 540: word0(&rv) &= 0xffffffff << (j-32); 541: }
561: #ifndef Avoid_Underflow 562: word0(&rv) = Tiny0; 563: word1(&rv) = Tiny1;
707: if (!word1(&rv) 708: && !(word0(&rv) & Frac_mask)) { 709: y = word0(&rv) & Exp_mask; 710: #ifdef Avoid_Underflow
724: #ifdef Avoid_Underflow 725: if (scale && (y = word0(&rv) & Exp_mask) 726: <= 2*P*Exp_msk1) 727: word0(&adj) += (2*P+1)*Exp_msk1 - y; 728: #else 729: #ifdef Sudden_Underflow 730: if ((word0(&rv) & Exp_mask) <= 731: P*Exp_msk1) { 732: word0(&rv) += P*Exp_msk1; 733: dval(&rv) += adj*ulp(&rv); 734: word0(&rv) -= P*Exp_msk1; 735: }
755: #ifdef Avoid_Underflow 756: if (scale && (y = word0(&rv) & Exp_mask) <= 2*P*Exp_msk1) 757: word0(&adj) += (2*P+1)*Exp_msk1 - y; 758: #else 759: #ifdef Sudden_Underflow 760: if ((word0(&rv) & Exp_mask) <= P*Exp_msk1) { 761: word0(&rv) += P*Exp_msk1; 762: dval(&adj) *= ulp(&rv);
766: dval(&rv) -= adj; 767: word0(&rv) -= P*Exp_msk1; 768: goto cont;
773: if (dsign) { 774: if (word0(&rv) == Big0 && word1(&rv) == Big1) 775: goto ovfl;
787: */ 788: if (dsign || word1(&rv) || word0(&rv) & Bndry_mask 789: #ifdef IEEE_Arith 790: #ifdef Avoid_Underflow 791: || (word0(&rv) & Exp_mask) <= (2*P+1)*Exp_msk1 792: #else 793: || (word0(&rv) & Exp_mask) <= Exp_msk1 794: #endif
819: if (dsign) { 820: if ((word0(&rv) & Bndry_mask1) == Bndry_mask1 821: && word1(&rv) == ( 822: #ifdef Avoid_Underflow 823: (scale && (y = word0(&rv) & Exp_mask) <= 2*P*Exp_msk1) 824: ? (0xffffffff & (0xffffffff << (2*P+1-(y>>Exp_shift)))) :
827: /*boundary case -- increment exponent*/ 828: if (word0(&rv) == Big0 && word1(&rv) == Big1) 829: goto ovfl; 830: word0(&rv) = (word0(&rv) & Exp_mask) 831: + Exp_msk1
842: } 843: else if (!(word0(&rv) & Bndry_mask) && !word1(&rv)) { 844: drop_down:
846: #ifdef Sudden_Underflow /*{{*/ 847: L = word0(&rv) & Exp_mask; 848: #ifdef IBM
861: if (scale) { 862: L = word0(&rv) & Exp_mask; 863: if (L <= (2*P+1)*Exp_msk1) {
872: #endif /*Avoid_Underflow*/ 873: L = (word0(&rv) & Exp_mask) - Exp_msk1; 874: #endif /*Sudden_Underflow}}*/ 875: word0(&rv) = L | Bndry_mask1; 876: word1(&rv) = 0xffffffff;
885: if (Lsb1) { 886: if (!(word0(&rv) & Lsb1)) 887: break;
922: aadj = dval(&aadj1) = 1.; 923: else if (word1(&rv) || word0(&rv) & Bndry_mask) { 924: #ifndef Sudden_Underflow 925: if (word1(&rv) == Tiny1 && !word0(&rv)) 926: goto undfl;
958: } 959: y = word0(&rv) & Exp_mask; 960:
964: dval(&rv0) = dval(&rv); 965: word0(&rv) -= P*Exp_msk1; 966: dval(&adj) = dval(&aadj1) * ulp(&rv); 967: dval(&rv) += dval(&adj); 968: if ((word0(&rv) & Exp_mask) >= 969: Exp_msk1*(DBL_MAX_EXP+Bias-P)) { 970: if (word0(&rv0) == Big0 && word1(&rv0) == Big1) 971: goto ovfl; 972: word0(&rv) = Big0; 973: word1(&rv) = Big1;
976: else 977: word0(&rv) += P*Exp_msk1; 978: }
987: } 988: word0(&aadj1) += (2*P+1)*Exp_msk1 - y; 989: }
993: #ifdef Sudden_Underflow 994: if ((word0(&rv) & Exp_mask) <= P*Exp_msk1) { 995: dval(&rv0) = dval(&rv); 996: word0(&rv) += P*Exp_msk1; 997: dval(&adj) = dval(&aadj1) * ulp(&rv);
999: #ifdef IBM 1000: if ((word0(&rv) & Exp_mask) < P*Exp_msk1) 1001: #else 1002: if ((word0(&rv) & Exp_mask) <= P*Exp_msk1) 1003: #endif 1004: { 1005: if (word0(&rv0) == Tiny0 1006: && word1(&rv0) == Tiny1) 1007: goto undfl; 1008: word0(&rv) = Tiny0; 1009: word1(&rv) = Tiny1;
1012: else 1013: word0(&rv) -= P*Exp_msk1; 1014: }
1036: } 1037: z = word0(&rv) & Exp_mask; 1038: #ifndef SET_INEXACT
1046: /* The tolerances below are conservative. */ 1047: if (dsign || word1(&rv) || word0(&rv) & Bndry_mask) { 1048: if (aadj < .4999999 || aadj > .5000001)
1068: if (!oldinexact) { 1069: word0(&rv0) = Exp_1 + (70 << Exp_shift); 1070: word1(&rv0) = 0;
1078: if (scale) { 1079: word0(&rv0) = Exp_1 - 2*P*Exp_msk1; 1080: word1(&rv0) = 0;
1084: #ifdef IEEE_Arith 1085: if (!(word0(&rv) & Exp_mask)) 1086: #else 1087: if (word0(&rv) == 0 && word1(&rv) == 0) 1088: #endif
1093: #ifdef SET_INEXACT 1094: if (inexact && !(word0(&rv) & Exp_mask)) { 1095: /* set underflow bit */