1
1
의 미러 https://github.com/henrydcase/pqc.git synced 2024-11-22 15:39:07 +00:00

NTRU Prime: avoid unsigned unary negation

This commit is contained in:
John M. Schanck 2020-09-01 16:18:21 -04:00 committed by Kris Kwiatkowski
부모 191aed977f
커밋 4883bb44c0
9개의 변경된 파일9개의 추가작업 그리고 9개의 파일을 삭제

파일 보기

@ -16,7 +16,7 @@
static int int16_nonzero_mask(int16 x) {
uint16 u = (uint16) x; /* 0, else 1...65535 */
uint32 v = u; /* 0, else 1...65535 */
v = -v; /* 0, else 2^32-65535...2^32-1 */
v = ~v + 1; /* 0, else 2^32-65535...2^32-1 */
v >>= 31; /* 0, else 1 */
return -(int) v; /* 0, else -1 */
}

파일 보기

@ -15,7 +15,7 @@
static int int16_nonzero_mask(int16 x) {
uint16 u = (uint16) x; /* 0, else 1...65535 */
uint32 v = u; /* 0, else 1...65535 */
v = -v; /* 0, else 2^32-65535...2^32-1 */
v = ~v + 1; /* 0, else 2^32-65535...2^32-1 */
v >>= 31; /* 0, else 1 */
return -(int) v; /* 0, else -1 */
}

파일 보기

@ -14,7 +14,7 @@ typedef int8 small;
static int int16_nonzero_mask(int16 x) {
uint16 u = (uint16) x; /* 0, else 1...65535 */
uint32 v = u; /* 0, else 1...65535 */
v = -v; /* 0, else 2^32-65535...2^32-1 */
v = ~v + 1; /* 0, else 2^32-65535...2^32-1 */
v >>= 31; /* 0, else 1 */
return -(int) v; /* 0, else -1 */
}

파일 보기

@ -16,7 +16,7 @@
static int int16_nonzero_mask(int16 x) {
uint16 u = (uint16) x; /* 0, else 1...65535 */
uint32 v = u; /* 0, else 1...65535 */
v = -v; /* 0, else 2^32-65535...2^32-1 */
v = ~v + 1; /* 0, else 2^32-65535...2^32-1 */
v >>= 31; /* 0, else 1 */
return -(int) v; /* 0, else -1 */
}

파일 보기

@ -15,7 +15,7 @@
static int int16_nonzero_mask(int16 x) {
uint16 u = (uint16) x; /* 0, else 1...65535 */
uint32 v = u; /* 0, else 1...65535 */
v = -v; /* 0, else 2^32-65535...2^32-1 */
v = ~v + 1; /* 0, else 2^32-65535...2^32-1 */
v >>= 31; /* 0, else 1 */
return -(int) v; /* 0, else -1 */
}

파일 보기

@ -14,7 +14,7 @@ typedef int8 small;
static int int16_nonzero_mask(int16 x) {
uint16 u = (uint16) x; /* 0, else 1...65535 */
uint32 v = u; /* 0, else 1...65535 */
v = -v; /* 0, else 2^32-65535...2^32-1 */
v = ~v + 1; /* 0, else 2^32-65535...2^32-1 */
v >>= 31; /* 0, else 1 */
return -(int) v; /* 0, else -1 */
}

파일 보기

@ -16,7 +16,7 @@
static int int16_nonzero_mask(int16 x) {
uint16 u = (uint16) x; /* 0, else 1...65535 */
uint32 v = u; /* 0, else 1...65535 */
v = -v; /* 0, else 2^32-65535...2^32-1 */
v = ~v + 1; /* 0, else 2^32-65535...2^32-1 */
v >>= 31; /* 0, else 1 */
return -(int) v; /* 0, else -1 */
}

파일 보기

@ -15,7 +15,7 @@
static int int16_nonzero_mask(int16 x) {
uint16 u = (uint16) x; /* 0, else 1...65535 */
uint32 v = u; /* 0, else 1...65535 */
v = -v; /* 0, else 2^32-65535...2^32-1 */
v = ~v + 1; /* 0, else 2^32-65535...2^32-1 */
v >>= 31; /* 0, else 1 */
return -(int) v; /* 0, else -1 */
}

파일 보기

@ -14,7 +14,7 @@ typedef int8 small;
static int int16_nonzero_mask(int16 x) {
uint16 u = (uint16) x; /* 0, else 1...65535 */
uint32 v = u; /* 0, else 1...65535 */
v = -v; /* 0, else 2^32-65535...2^32-1 */
v = ~v + 1; /* 0, else 2^32-65535...2^32-1 */
v >>= 31; /* 0, else 1 */
return -(int) v; /* 0, else -1 */
}