2019-06-03 20:51:05 +01:00
|
|
|
#ifndef _BLAS_U32_H_
|
|
|
|
#define _BLAS_U32_H_
|
2019-06-03 16:58:59 +01:00
|
|
|
/// @file blas_u32.h
|
|
|
|
/// @brief Inlined functions for implementing basic linear algebra functions for uint32 arch.
|
|
|
|
///
|
|
|
|
|
2019-06-16 11:28:32 +01:00
|
|
|
#include "rainbow_config.h"
|
2019-06-03 16:58:59 +01:00
|
|
|
#include <stdint.h>
|
|
|
|
|
2019-06-14 14:53:08 +01:00
|
|
|
void PQCLEAN_RAINBOWIACLASSIC_CLEAN_gf256v_predicated_add_u32(uint8_t *accu_b, uint8_t predicate, const uint8_t *a, unsigned _num_byte);
|
2019-06-16 11:28:32 +01:00
|
|
|
void PQCLEAN_RAINBOWIACLASSIC_CLEAN_gf256v_add_u32(uint8_t *accu_b, const uint8_t *a, unsigned _num_byte);
|
|
|
|
|
|
|
|
#ifdef _USE_GF16
|
|
|
|
|
|
|
|
void PQCLEAN_RAINBOWIACLASSIC_CLEAN_gf16v_madd_u32(uint8_t *accu_c, const uint8_t *a, uint8_t gf16_b, unsigned _num_byte);
|
2019-06-14 14:53:08 +01:00
|
|
|
void PQCLEAN_RAINBOWIACLASSIC_CLEAN_gf16v_mul_scalar_u32(uint8_t *a, uint8_t gf16_b, unsigned _num_byte);
|
2019-06-16 11:28:32 +01:00
|
|
|
uint8_t PQCLEAN_RAINBOWIACLASSIC_CLEAN_gf16v_dot_u32(const uint8_t *a, const uint8_t *b, unsigned _num_byte);
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
2019-06-14 14:53:08 +01:00
|
|
|
void PQCLEAN_RAINBOWIACLASSIC_CLEAN_gf256v_mul_scalar_u32(uint8_t *a, uint8_t b, unsigned _num_byte);
|
|
|
|
void PQCLEAN_RAINBOWIACLASSIC_CLEAN_gf256v_madd_u32(uint8_t *accu_c, const uint8_t *a, uint8_t gf256_b, unsigned _num_byte);
|
2019-06-16 11:28:32 +01:00
|
|
|
|
|
|
|
#endif
|
2019-06-03 16:58:59 +01:00
|
|
|
|
|
|
|
#endif // _BLAS_U32_H_
|
|
|
|
|