int (32 비트)의 벡터에 스칼라 모듈 p (p는 소수 (2^32) -5)를 곱한 다음 빼기 코드를 최적화해야합니다. 다른 벡터로부터의 벡터 p.신속한 곱셈과 뺄셈을 기본으로 모듈화
public static void multiplyAndSubtract(long fragmentCoefficient, long[] equationToSubtractFrom, long[] equationToSubtract) {
for (int i = 0; i < equationToSubtractFrom.length; i++) {
equationToSubtractFrom[i] = modP(equationToSubtractFrom[i] - multiplyModP(fragmentCoefficient, equationToSubtract[i]));
}
}
자바 부호없는 정수를 지원하지 않기 때문에 내가 갈망을 사용하고 있지만 (모든 숫자가 0 < = X < 될 것으로 예상 할 수 있도록 두 벡터 모드 페이지입니다
코드는 다음과 같습니다 2^32) -5
최적의 아이디어? mod p 연산은 대부분의 실행 시간을 차지하므로,이를 최적화하는 한 가지 방법은 곱셈 후에 modP를 수행하지 않고 빼기 후에 만 수행 할 수 있습니다. 어떻게하는지에 대한 아이디어가 있습니까?
감사합니다. 곱셈 후에 mod p를 제거하려고 시도했지만 이제는 회귀 테스트가 실패합니다. 오버플로 오류의 일부 양식을 얻을 것 같아요. 나는 더 자세히 살펴볼 것입니다. – Yrlec