mirror of
https://github.com/JayDDee/cpuminer-opt.git
synced 2025-09-17 23:44:27 +00:00
v3.11.3
This commit is contained in:
@@ -1,19 +1,16 @@
|
||||
#include "jha-gate.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "algo/blake/sph_blake.h"
|
||||
#include "algo/jh/sph_jh.h"
|
||||
#include "algo/keccak/sph_keccak.h"
|
||||
#include "algo/skein/sph_skein.h"
|
||||
|
||||
#ifdef NO_AES_NI
|
||||
#include "algo/groestl/sph_groestl.h"
|
||||
#else
|
||||
#ifdef __AES__
|
||||
#include "algo/groestl/aes_ni/hash-groestl.h"
|
||||
#else
|
||||
#include "algo/groestl/sph_groestl.h"
|
||||
#endif
|
||||
|
||||
static __thread sph_keccak512_context jha_kec_mid __attribute__ ((aligned (64)));
|
||||
@@ -28,12 +25,12 @@ void jha_hash(void *output, const void *input)
|
||||
{
|
||||
uint8_t _ALIGN(128) hash[64];
|
||||
|
||||
#ifdef NO_AES_NI
|
||||
sph_groestl512_context ctx_groestl;
|
||||
#ifdef __AES__
|
||||
hashState_groestl ctx_groestl;
|
||||
#else
|
||||
hashState_groestl ctx_groestl;
|
||||
sph_groestl512_context ctx_groestl;
|
||||
#endif
|
||||
sph_blake512_context ctx_blake;
|
||||
sph_blake512_context ctx_blake;
|
||||
sph_jh512_context ctx_jh;
|
||||
sph_keccak512_context ctx_keccak;
|
||||
sph_skein512_context ctx_skein;
|
||||
@@ -46,36 +43,36 @@ void jha_hash(void *output, const void *input)
|
||||
for (int round = 0; round < 3; round++)
|
||||
{
|
||||
if (hash[0] & 0x01)
|
||||
{
|
||||
#ifdef NO_AES_NI
|
||||
sph_groestl512_init(&ctx_groestl);
|
||||
sph_groestl512(&ctx_groestl, hash, 64 );
|
||||
sph_groestl512_close(&ctx_groestl, hash );
|
||||
{
|
||||
#ifdef __AES__
|
||||
init_groestl( &ctx_groestl, 64 );
|
||||
update_and_final_groestl( &ctx_groestl, (char*)hash,
|
||||
(char*)hash, 512 );
|
||||
#else
|
||||
init_groestl( &ctx_groestl, 64 );
|
||||
update_and_final_groestl( &ctx_groestl, (char*)hash,
|
||||
(char*)hash, 512 );
|
||||
sph_groestl512_init(&ctx_groestl);
|
||||
sph_groestl512(&ctx_groestl, hash, 64 );
|
||||
sph_groestl512_close(&ctx_groestl, hash );
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
sph_skein512_init(&ctx_skein);
|
||||
sph_skein512(&ctx_skein, hash, 64);
|
||||
sph_skein512_close(&ctx_skein, hash );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sph_skein512_init(&ctx_skein);
|
||||
sph_skein512(&ctx_skein, hash, 64);
|
||||
sph_skein512_close(&ctx_skein, hash );
|
||||
}
|
||||
|
||||
if (hash[0] & 0x01)
|
||||
{
|
||||
sph_blake512_init(&ctx_blake);
|
||||
sph_blake512(&ctx_blake, hash, 64);
|
||||
sph_blake512_close(&ctx_blake, hash );
|
||||
}
|
||||
else
|
||||
{
|
||||
sph_jh512_init(&ctx_jh);
|
||||
sph_jh512(&ctx_jh, hash, 64 );
|
||||
sph_jh512_close(&ctx_jh, hash );
|
||||
}
|
||||
if (hash[0] & 0x01)
|
||||
{
|
||||
sph_blake512_init(&ctx_blake);
|
||||
sph_blake512(&ctx_blake, hash, 64);
|
||||
sph_blake512_close(&ctx_blake, hash );
|
||||
}
|
||||
else
|
||||
{
|
||||
sph_jh512_init(&ctx_jh);
|
||||
sph_jh512(&ctx_jh, hash, 64 );
|
||||
sph_jh512_close(&ctx_jh, hash );
|
||||
}
|
||||
}
|
||||
|
||||
memcpy(output, hash, 32);
|
||||
|
Reference in New Issue
Block a user