From b9ad26fa67df17109575b4adca2f5ed098ea177b Mon Sep 17 00:00:00 2001 From: jsteube Date: Tue, 19 Jan 2016 21:27:39 +0100 Subject: [PATCH 1/2] Fix algorithms based on 64 bit datatypes for older NV cards --- OpenCL/types_ocl.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/OpenCL/types_ocl.c b/OpenCL/types_ocl.c index c68ab90cc..137f67e09 100644 --- a/OpenCL/types_ocl.c +++ b/OpenCL/types_ocl.c @@ -282,6 +282,7 @@ static inline u32x rotl32 (const u32x a, const u32 n) return rotate (a, n); } +#if CUDA_ARCH >= 350 static inline u64 rotr64 (const u64 a, const u32 n) { u32 il; @@ -309,6 +310,12 @@ static inline u64 rotr64 (const u64 a, const u32 n) return r; } +#else +static inline u64 rotr64 (const u64 a, const u32 n) +{ + return rotate (a, (u64) 64 - n); +} +#endif static inline u64 rotl64 (const u64 a, const u32 n) { From 751a3641258c1f5f9606dde3cf1a5ee23776435f Mon Sep 17 00:00:00 2001 From: philsmd Date: Tue, 19 Jan 2016 22:32:20 +0100 Subject: [PATCH 2/2] #137: fixes padding for base64_encode () and base64_decode() --- src/shared.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/shared.c b/src/shared.c index 71f5972c7..fd8894959 100644 --- a/src/shared.c +++ b/src/shared.c @@ -448,13 +448,13 @@ int base32_encode (u8 (*f) (const u8), const u8 *in_buf, int in_len, u8 *out_buf out_ptr += 8; } - int out_len = (in_len * 8) / 5; + int out_len = (int) (((0.5 + (float) in_len) * 8) / 5); // ceil (in_len * 8 / 5) - for (int i = 0; i < (7 - (in_len % 7)); i++) + while (out_len % 8) { - out_len++; - out_buf[out_len] = '='; + + out_len++; } return out_len; @@ -515,13 +515,13 @@ int base64_encode (u8 (*f) (const u8), const u8 *in_buf, int in_len, u8 *out_buf out_ptr += 4; } - int out_len = (in_len * 8) / 6; + int out_len = (int) (((0.5 + (float) in_len) * 8) / 6); // ceil (in_len * 8 / 6) - for (int i = 0; i < (3 - (in_len % 3)); i++) + while (out_len % 4) { - out_len++; - out_buf[out_len] = '='; + + out_len++; } return out_len;