- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
// https://github.com/alpertron/calculators/blob/15607feafb0ddb1c075bb326dc6ea2224a4c50bb/siqs.c#L3720
switch (NumberLengthA)
{
case 7:
dRem = (double)*(piDividend + 6) * (double)rowPrimeTrialDivisionData->exp6 +
(double)*(piDividend + 5) * (double)rowPrimeTrialDivisionData->exp5 +
(double)*(piDividend + 4) * (double)rowPrimeTrialDivisionData->exp4 +
(double)*(piDividend + 3) * (double)rowPrimeTrialDivisionData->exp3 +
(double)*(piDividend + 2) * (double)rowPrimeTrialDivisionData->exp2 +
(double)*(piDividend + 1) * (double)rowPrimeTrialDivisionData->exp1;
break;
case 6:
dRem = (double)*(piDividend + 5) * (double)rowPrimeTrialDivisionData->exp5 +
(double)*(piDividend + 4) * (double)rowPrimeTrialDivisionData->exp4 +
(double)*(piDividend + 3) * (double)rowPrimeTrialDivisionData->exp3 +
(double)*(piDividend + 2) * (double)rowPrimeTrialDivisionData->exp2 +
(double)*(piDividend + 1) * (double)rowPrimeTrialDivisionData->exp1;
break;
case 5:
dRem = (double)*(piDividend + 4) * (double)rowPrimeTrialDivisionData->exp4 +
(double)*(piDividend + 3) * (double)rowPrimeTrialDivisionData->exp3 +
(double)*(piDividend + 2) * (double)rowPrimeTrialDivisionData->exp2 +
(double)*(piDividend + 1) * (double)rowPrimeTrialDivisionData->exp1;
break;
case 4:
dRem = (double)*(piDividend + 3) * (double)rowPrimeTrialDivisionData->exp3 +
(double)*(piDividend + 2) * (double)rowPrimeTrialDivisionData->exp2 +
(double)*(piDividend + 1) * (double)rowPrimeTrialDivisionData->exp1;
break;
default:
dRem = (double)*(piDividend + 2) * (double)rowPrimeTrialDivisionData->exp2 +
(double)*(piDividend + 1) * (double)rowPrimeTrialDivisionData->exp1;
break;
}
j123123 22.02.2019 10:25 # 0
и rowPrimeTrialDivisionData->exp1, rowPrimeTrialDivisionData->exp2, итд ... имеют тип int
Ну т.е. их вообще нахуй не надо в плавучку пихать, это блядь бессмысленно.
bormand 22.02.2019 11:01 # 0
З.Ы. Хотя, с другой стороны, из-за плавучки там всё уплывёт и получится кривой ответ. int64 с проверкой на переполнения после каждой операции всяко будет лучше дабла...
bormand 22.02.2019 10:51 # 0
j123123 22.02.2019 11:28 # 0
bormand 22.02.2019 11:36 # 0
И чтобы выжившие после финального GC объекты падали в секцию констант. Было бы удобно.
j123123 22.02.2019 11:28 # 0