Lines Matching refs:ind
126 int ind;
145 ind = x - 1; // 0 <= ind <= 16
146 C = C + midpoint64[ind];
147 // kx ~= 10^(-x), kx = Kx64[ind] * 2^(-Ex), 0 <= ind <= 16
150 __mul_64x64_to_128MACH (P128, C, Kx64[ind]);
154 shift = Ex64m64[ind]; // in [3, 56]
156 fstar.w[1] = P128.w[1] & mask64[ind];
158 // the top Ex bits of 10^(-x) are T* = ten2mxtrunc64[ind], e.g.
175 if (fstar.w[1] > half64[ind] ||
176 (fstar.w[1] == half64[ind] && fstar.w[0])) {
179 tmp64 = fstar.w[1] - half64[ind];
180 if (tmp64 || fstar.w[0] > ten2mxtrunc64[ind]) { // f* - 1/2 > 10^(-x)
187 if (fstar.w[1] == 0 && fstar.w[0] <= ten2mxtrunc64[ind]) {
202 ind = q - x; // 1 <= ind <= q - 1
203 if (Cstar == ten2k64[ind]) { // if Cstar = 10^(q-x)
204 Cstar = ten2k64[ind - 1]; // Cstar = 10^(q-x-1)
229 int ind;
256 ind = x - 1; // 0 <= ind <= 36
257 if (ind <= 18) { // if 0 <= ind <= 18
259 C.w[0] = C.w[0] + midpoint64[ind];
262 } else { // if 19 <= ind <= 37
264 C.w[0] = C.w[0] + midpoint128[ind - 19].w[0];
268 C.w[1] = C.w[1] + midpoint128[ind - 19].w[1];
270 // kx ~= 10^(-x), kx = Kx128[ind] * 2^(-Ex), 0 <= ind <= 36
273 __mul_128x128_to_256 (P256, C, Kx128[ind]);
277 shift = Ex128m128[ind]; // in [2, 63] but have to consider two cases
278 if (ind <= 18) { // if 0 <= ind <= 18
283 fstar.w[2] = P256.w[2] & mask128[ind];
285 } else { // if 19 <= ind <= 37
291 fstar.w[3] = P256.w[3] & mask128[ind];
293 // the top Ex bits of 10^(-x) are T* = ten2mxtrunc64[ind], e.g.
310 if (ind <= 18) { // if 0 <= ind <= 18
311 if (fstar.w[2] > half128[ind] ||
312 (fstar.w[2] == half128[ind] && (fstar.w[1] || fstar.w[0]))) {
315 tmp64 = fstar.w[2] - half128[ind];
316 if (tmp64 || fstar.w[1] > ten2mxtrunc128[ind].w[1] || (fstar.w[1] == ten2mxtrunc128[ind].w[1] && fstar.w[0] > ten2mxtrunc128[ind].w[0])) { // f* - 1/2 > 10^(-x)
322 } else { // if 19 <= ind <= 37
323 if (fstar.w[3] > half128[ind] || (fstar.w[3] == half128[ind] &&
328 tmp64 = fstar.w[3] - half128[ind];
329 if (tmp64 || fstar.w[2] || fstar.w[1] > ten2mxtrunc128[ind].w[1] || (fstar.w[1] == ten2mxtrunc128[ind].w[1] && fstar.w[0] > ten2mxtrunc128[ind].w[0])) { // f* - 1/2 > 10^(-x)
338 (fstar.w[1] < ten2mxtrunc128[ind].w[1] ||
339 (fstar.w[1] == ten2mxtrunc128[ind].w[1] &&
340 fstar.w[0] <= ten2mxtrunc128[ind].w[0]))) {
358 ind = q - x; // 1 <= ind <= q - 1
359 if (ind <= 19) {
360 if (Cstar.w[1] == 0x0ULL && Cstar.w[0] == ten2k64[ind]) {
362 Cstar.w[0] = ten2k64[ind - 1]; // Cstar = 10^(q-x-1)
367 } else if (ind == 20) {
368 // if ind = 20
378 } else { // if 21 <= ind <= 37
379 if (Cstar.w[1] == ten2k128[ind - 20].w[1] &&
380 Cstar.w[0] == ten2k128[ind - 20].w[0]) {
382 Cstar.w[0] = ten2k128[ind - 21].w[0]; // Cstar = 10^(q-x-1)
383 Cstar.w[1] = ten2k128[ind - 21].w[1];
410 int ind;
433 ind = x - 1; // 0 <= ind <= 55
434 if (ind <= 18) { // if 0 <= ind <= 18
436 C.w[0] = C.w[0] + midpoint64[ind];
443 } else if (ind <= 37) { // if 19 <= ind <= 37
445 C.w[0] = C.w[0] + midpoint128[ind - 19].w[0];
453 C.w[1] = C.w[1] + midpoint128[ind - 19].w[1];
457 } else { // if 38 <= ind <= 57 (actually ind <= 55)
459 C.w[0] = C.w[0] + midpoint192[ind - 38].w[0];
467 C.w[1] = C.w[1] + midpoint192[ind - 38].w[1];
471 C.w[2] = C.w[2] + midpoint192[ind - 38].w[2];
473 // kx ~= 10^(-x), kx = Kx192[ind] * 2^(-Ex), 0 <= ind <= 55
476 __mul_192x192_to_384 (P384, C, Kx192[ind]);
480 shift = Ex192m192[ind]; // in [1, 63] but have to consider three cases
481 if (ind <= 18) { // if 0 <= ind <= 18
487 fstar.w[3] = P384.w[3] & mask192[ind];
491 } else if (ind <= 37) { // if 19 <= ind <= 37
496 fstar.w[4] = P384.w[4] & mask192[ind];
501 } else { // if 38 <= ind <= 57
505 fstar.w[5] = P384.w[5] & mask192[ind];
513 // the top Ex bits of 10^(-x) are T* = ten2mxtrunc192[ind], e.g. if x=1,
530 if (ind <= 18) { // if 0 <= ind <= 18
531 if (fstar.w[3] > half192[ind] || (fstar.w[3] == half192[ind] &&
536 tmp64 = fstar.w[3] - half192[ind];
537 if (tmp64 || fstar.w[2] > ten2mxtrunc192[ind].w[2] || (fstar.w[2] == ten2mxtrunc192[ind].w[2] && fstar.w[1] > ten2mxtrunc192[ind].w[1]) || (fstar.w[2] == ten2mxtrunc192[ind].w[2] && fstar.w[1] == ten2mxtrunc192[ind].w[1] && fstar.w[0] > ten2mxtrunc192[ind].w[0])) { // f* - 1/2 > 10^(-x)
543 } else if (ind <= 37) { // if 19 <= ind <= 37
544 if (fstar.w[4] > half192[ind] || (fstar.w[4] == half192[ind] &&
549 tmp64 = fstar.w[4] - half192[ind];
550 if (tmp64 || fstar.w[3] || fstar.w[2] > ten2mxtrunc192[ind].w[2] || (fstar.w[2] == ten2mxtrunc192[ind].w[2] && fstar.w[1] > ten2mxtrunc192[ind].w[1]) || (fstar.w[2] == ten2mxtrunc192[ind].w[2] && fstar.w[1] == ten2mxtrunc192[ind].w[1] && fstar.w[0] > ten2mxtrunc192[ind].w[0])) { // f* - 1/2 > 10^(-x)
556 } else { // if 38 <= ind <= 55
557 if (fstar.w[5] > half192[ind] || (fstar.w[5] == half192[ind] &&
563 tmp64 = fstar.w[5] - half192[ind];
564 if (tmp64 || fstar.w[4] || fstar.w[3] || fstar.w[2] > ten2mxtrunc192[ind].w[2] || (fstar.w[2] == ten2mxtrunc192[ind].w[2] && fstar.w[1] > ten2mxtrunc192[ind].w[1]) || (fstar.w[2] == ten2mxtrunc192[ind].w[2] && fstar.w[1] == ten2mxtrunc192[ind].w[1] && fstar.w[0] > ten2mxtrunc192[ind].w[0])) { // f* - 1/2 > 10^(-x)
573 (fstar.w[2] < ten2mxtrunc192[ind].w[2] ||
574 (fstar.w[2] == ten2mxtrunc192[ind].w[2] &&
575 fstar.w[1] < ten2mxtrunc192[ind].w[1]) ||
576 (fstar.w[2] == ten2mxtrunc192[ind].w[2] &&
577 fstar.w[1] == ten2mxtrunc192[ind].w[1] &&
578 fstar.w[0] <= ten2mxtrunc192[ind].w[0]))) {
599 ind = q - x; // 1 <= ind <= q - 1
600 if (ind <= 19) {
602 Cstar.w[0] == ten2k64[ind]) {
604 Cstar.w[0] = ten2k64[ind - 1]; // Cstar = 10^(q-x-1)
609 } else if (ind == 20) {
610 // if ind = 20
620 } else if (ind <= 38) { // if 21 <= ind <= 38
621 if (Cstar.w[2] == 0x0ULL && Cstar.w[1] == ten2k128[ind - 20].w[1] &&
622 Cstar.w[0] == ten2k128[ind - 20].w[0]) {
624 Cstar.w[0] = ten2k128[ind - 21].w[0]; // Cstar = 10^(q-x-1)
625 Cstar.w[1] = ten2k128[ind - 21].w[1];
630 } else if (ind == 39) {
641 } else { // if 40 <= ind <= 56
642 if (Cstar.w[2] == ten2k256[ind - 39].w[2] &&
643 Cstar.w[1] == ten2k256[ind - 39].w[1] &&
644 Cstar.w[0] == ten2k256[ind - 39].w[0]) {
646 Cstar.w[0] = ten2k256[ind - 40].w[0]; // Cstar = 10^(q-x-1)
647 Cstar.w[1] = ten2k256[ind - 40].w[1];
648 Cstar.w[2] = ten2k256[ind - 40].w[2];
676 int ind;
700 ind = x - 1; // 0 <= ind <= 74
701 if (ind <= 18) { // if 0 <= ind <= 18
703 C.w[0] = C.w[0] + midpoint64[ind];
713 } else if (ind <= 37) { // if 19 <= ind <= 37
715 C.w[0] = C.w[0] + midpoint128[ind - 19].w[0];
726 C.w[1] = C.w[1] + midpoint128[ind - 19].w[1];
733 } else if (ind <= 57) { // if 38 <= ind <= 57
735 C.w[0] = C.w[0] + midpoint192[ind - 38].w[0];
746 C.w[1] = C.w[1] + midpoint192[ind - 38].w[1];
754 C.w[2] = C.w[2] + midpoint192[ind - 38].w[2];
758 } else { // if 58 <= ind <= 76 (actually 58 <= ind <= 74)
760 C.w[0] = C.w[0] + midpoint256[ind - 58].w[0];
771 C.w[1] = C.w[1] + midpoint256[ind - 58].w[1];
779 C.w[2] = C.w[2] + midpoint256[ind - 58].w[2];
783 C.w[3] = C.w[3] + midpoint256[ind - 58].w[3];
785 // kx ~= 10^(-x), kx = Kx256[ind] * 2^(-Ex), 0 <= ind <= 74
788 __mul_256x256_to_512 (P512, C, Kx256[ind]);
792 shift = Ex256m256[ind]; // in [0, 63] but have to consider four cases
793 if (ind <= 18) { // if 0 <= ind <= 18
801 fstar.w[4] = P512.w[4] & mask256[ind];
806 } else if (ind <= 37) { // if 19 <= ind <= 37
813 fstar.w[5] = P512.w[5] & mask256[ind];
819 } else if (ind <= 56) { // if 38 <= ind <= 56
825 fstar.w[6] = P512.w[6] & mask256[ind];
832 } else if (ind == 57) {
845 } else { // if 58 <= ind <= 74
850 fstar.w[7] = P512.w[7] & mask256[ind];
860 // the top Ex bits of 10^(-x) are T* = ten2mxtrunc256[ind], e.g. if x=1,
878 if (ind <= 18) { // if 0 <= ind <= 18
879 if (fstar.w[4] > half256[ind] || (fstar.w[4] == half256[ind] &&
884 tmp64 = fstar.w[4] - half256[ind];
885 if (tmp64 || fstar.w[3] > ten2mxtrunc256[ind].w[2] || (fstar.w[3] == ten2mxtrunc256[ind].w[3] && fstar.w[2] > ten2mxtrunc256[ind].w[2]) || (fstar.w[3] == ten2mxtrunc256[ind].w[3] && fstar.w[2] == ten2mxtrunc256[ind].w[2] && fstar.w[1] > ten2mxtrunc256[ind].w[1]) || (fstar.w[3] == ten2mxtrunc256[ind].w[3] && fstar.w[2] == ten2mxtrunc256[ind].w[2] && fstar.w[1] == ten2mxtrunc256[ind].w[1] && fstar.w[0] > ten2mxtrunc256[ind].w[0])) { // f* - 1/2 > 10^(-x)
891 } else if (ind <= 37) { // if 19 <= ind <= 37
892 if (fstar.w[5] > half256[ind] || (fstar.w[5] == half256[ind] &&
898 tmp64 = fstar.w[5] - half256[ind];
899 if (tmp64 || fstar.w[4] || fstar.w[3] > ten2mxtrunc256[ind].w[3] || (fstar.w[3] == ten2mxtrunc256[ind].w[3] && fstar.w[2] > ten2mxtrunc256[ind].w[2]) || (fstar.w[3] == ten2mxtrunc256[ind].w[3] && fstar.w[2] == ten2mxtrunc256[ind].w[2] && fstar.w[1] > ten2mxtrunc256[ind].w[1]) || (fstar.w[3] == ten2mxtrunc256[ind].w[3] && fstar.w[2] == ten2mxtrunc256[ind].w[2] && fstar.w[1] == ten2mxtrunc256[ind].w[1] && fstar.w[0] > ten2mxtrunc256[ind].w[0])) { // f* - 1/2 > 10^(-x)
905 } else if (ind <= 57) { // if 38 <= ind <= 57
906 if (fstar.w[6] > half256[ind] || (fstar.w[6] == half256[ind] &&
912 tmp64 = fstar.w[6] - half256[ind];
913 if (tmp64 || fstar.w[5] || fstar.w[4] || fstar.w[3] > ten2mxtrunc256[ind].w[3] || (fstar.w[3] == ten2mxtrunc256[ind].w[3] && fstar.w[2] > ten2mxtrunc256[ind].w[2]) || (fstar.w[3] == ten2mxtrunc256[ind].w[3] && fstar.w[2] == ten2mxtrunc256[ind].w[2] && fstar.w[1] > ten2mxtrunc256[ind].w[1]) || (fstar.w[3] == ten2mxtrunc256[ind].w[3] && fstar.w[2] == ten2mxtrunc256[ind].w[2] && fstar.w[1] == ten2mxtrunc256[ind].w[1] && fstar.w[0] > ten2mxtrunc256[ind].w[0])) { // f* - 1/2 > 10^(-x)
919 } else { // if 58 <= ind <= 74
920 if (fstar.w[7] > half256[ind] || (fstar.w[7] == half256[ind] &&
927 tmp64 = fstar.w[7] - half256[ind];
928 if (tmp64 || fstar.w[6] || fstar.w[5] || fstar.w[4] || fstar.w[3] > ten2mxtrunc256[ind].w[3] || (fstar.w[3] == ten2mxtrunc256[ind].w[3] && fstar.w[2] > ten2mxtrunc256[ind].w[2]) || (fstar.w[3] == ten2mxtrunc256[ind].w[3] && fstar.w[2] == ten2mxtrunc256[ind].w[2] && fstar.w[1] > ten2mxtrunc256[ind].w[1]) || (fstar.w[3] == ten2mxtrunc256[ind].w[3] && fstar.w[2] == ten2mxtrunc256[ind].w[2] && fstar.w[1] == ten2mxtrunc256[ind].w[1] && fstar.w[0] > ten2mxtrunc256[ind].w[0])) { // f* - 1/2 > 10^(-x)
938 (fstar.w[3] < ten2mxtrunc256[ind].w[3] ||
939 (fstar.w[3] == ten2mxtrunc256[ind].w[3] &&
940 fstar.w[2] < ten2mxtrunc256[ind].w[2]) ||
941 (fstar.w[3] == ten2mxtrunc256[ind].w[3] &&
942 fstar.w[2] == ten2mxtrunc256[ind].w[2] &&
943 fstar.w[1] < ten2mxtrunc256[ind].w[1]) ||
944 (fstar.w[3] == ten2mxtrunc256[ind].w[3] &&
945 fstar.w[2] == ten2mxtrunc256[ind].w[2] &&
946 fstar.w[1] == ten2mxtrunc256[ind].w[1] &&
947 fstar.w[0] <= ten2mxtrunc256[ind].w[0]))) {
971 ind = q - x; // 1 <= ind <= q - 1
972 if (ind <= 19) {
974 Cstar.w[1] == 0x0ULL && Cstar.w[0] == ten2k64[ind]) {
976 Cstar.w[0] = ten2k64[ind - 1]; // Cstar = 10^(q-x-1)
981 } else if (ind == 20) {
982 // if ind = 20
993 } else if (ind <= 38) { // if 21 <= ind <= 38
995 Cstar.w[1] == ten2k128[ind - 20].w[1] &&
996 Cstar.w[0] == ten2k128[ind - 20].w[0]) {
998 Cstar.w[0] = ten2k128[ind - 21].w[0]; // Cstar = 10^(q-x-1)
999 Cstar.w[1] = ten2k128[ind - 21].w[1];
1004 } else if (ind == 39) {
1016 } else if (ind <= 57) { // if 40 <= ind <= 57
1017 if (Cstar.w[3] == 0x0ULL && Cstar.w[2] == ten2k256[ind - 39].w[2] &&
1018 Cstar.w[1] == ten2k256[ind - 39].w[1] &&
1019 Cstar.w[0] == ten2k256[ind - 39].w[0]) {
1021 Cstar.w[0] = ten2k256[ind - 40].w[0]; // Cstar = 10^(q-x-1)
1022 Cstar.w[1] = ten2k256[ind - 40].w[1];
1023 Cstar.w[2] = ten2k256[ind - 40].w[2];
1028 // else if (ind == 58) is not needed becauae we do not have ten2k192[] yet
1029 } else { // if 58 <= ind <= 77 (actually 58 <= ind <= 74)
1030 if (Cstar.w[3] == ten2k256[ind - 39].w[3] &&
1031 Cstar.w[2] == ten2k256[ind - 39].w[2] &&
1032 Cstar.w[1] == ten2k256[ind - 39].w[1] &&
1033 Cstar.w[0] == ten2k256[ind - 39].w[0]) {
1035 Cstar.w[0] = ten2k256[ind - 40].w[0]; // Cstar = 10^(q-x-1)
1036 Cstar.w[1] = ten2k256[ind - 40].w[1];
1037 Cstar.w[2] = ten2k256[ind - 40].w[2];
1038 Cstar.w[3] = ten2k256[ind - 40].w[3];