#ifndef SHA3_CU_H
#define SHA3_CU_H
#include "sha3_ctx.h"
#include <stddef.h>
#include <stdint.h>
#ifndef KECCAKF_ROUNDS
#define KECCAKF_ROUNDS 24
#endif
#ifndef ROTL64
#define ROTL64(x, y) (((x) << (y)) | ((x) >> (64 - (y))))
#endif
__device__ void sha3_keccakf_cu(uint64_t st[25]);
__device__ int sha3_init_cu(sha3_ctx_t *c,
int mdlen); __device__ int sha3_update_cu(sha3_ctx_t *c, const void *data, size_t len);
__device__ int sha3_final_cu(void *md, sha3_ctx_t *c);
__device__ void *sha3_cu(const void *in, size_t inlen, void *md, int mdlen);
#endif