parent
6ade49b750
commit
417bf50cf7
@ -0,0 +1,65 @@ |
||||
#pragma once |
||||
/**
|
||||
@file |
||||
@brief prototype of asm function |
||||
@author MITSUNARI Shigeo(@herumi) |
||||
@license modified new BSD license |
||||
http://opensource.org/licenses/BSD-3-Clause
|
||||
*/ |
||||
#include <mcl/op.hpp> |
||||
|
||||
#define MCL_FP_DEF_FUNC_SUB(n, suf) \ |
||||
void mcl_fp_add ## n ## suf(mcl::fp::Unit* z, const mcl::fp::Unit* x, const mcl::fp::Unit* y, const mcl::fp::Unit* p); \
|
||||
void mcl_fp_sub ## n ## suf(mcl::fp::Unit* z, const mcl::fp::Unit* x, const mcl::fp::Unit* y, const mcl::fp::Unit* p); \
|
||||
mcl::fp::Unit mcl_fp_addPre ## n ## suf(mcl::fp::Unit* z, const mcl::fp::Unit* x, const mcl::fp::Unit* y); \
|
||||
mcl::fp::Unit mcl_fp_subPre ## n ## suf(mcl::fp::Unit* z, const mcl::fp::Unit* x, const mcl::fp::Unit* y); \
|
||||
void mcl_fp_mulUnitPre ## n ## suf(mcl::fp::Unit* z, const mcl::fp::Unit* x, mcl::fp::Unit y); \
|
||||
void mcl_fpDbl_mulPre ## n ## suf(mcl::fp::Unit* z, const mcl::fp::Unit* x, const mcl::fp::Unit* y); \
|
||||
void mcl_fpDbl_sqrPre ## n ## suf(mcl::fp::Unit* y, const mcl::fp::Unit* x); \
|
||||
void mcl_fp_mont ## n ## suf(mcl::fp::Unit* z, const mcl::fp::Unit* x, const mcl::fp::Unit* y, const mcl::fp::Unit* p); \
|
||||
void mcl_fp_montRed ## n ## suf(mcl::fp::Unit* z, const mcl::fp::Unit* xy, const mcl::fp::Unit* p); \
|
||||
void mcl_fpDbl_add ## n ## suf(mcl::fp::Unit* z, const mcl::fp::Unit* x, const mcl::fp::Unit* y, const mcl::fp::Unit* p); \
|
||||
void mcl_fpDbl_sub ## n ## suf(mcl::fp::Unit* z, const mcl::fp::Unit* x, const mcl::fp::Unit* y, const mcl::fp::Unit* p); |
||||
|
||||
#define MCL_FP_DEF_FUNC(n) \ |
||||
MCL_FP_DEF_FUNC_SUB(n, L) \
|
||||
MCL_FP_DEF_FUNC_SUB(n, A) |
||||
|
||||
#define MCL_FP_DEF_FUNC_SPECIAL(suf) \ |
||||
void mcl_fpDbl_mod_NIST_P192 ## suf(mcl::fp::Unit* z, const mcl::fp::Unit* xy, const mcl::fp::Unit* /* dummy */); \
|
||||
void mcl_fp_mulNIST_P192 ## suf(mcl::fp::Unit* z, const mcl::fp::Unit* x, const mcl::fp::Unit* y, const mcl::fp::Unit* /* dummy */); \
|
||||
void mcl_fp_sqr_NIST_P192 ## suf(mcl::fp::Unit* y, const mcl::fp::Unit* x, const mcl::fp::Unit* /* dummy */); \
|
||||
void mcl_fpDbl_mod_NIST_P521 ## suf(mcl::fp::Unit* z, const mcl::fp::Unit* xy, const mcl::fp::Unit* /* dummy */); |
||||
|
||||
extern "C" { |
||||
|
||||
MCL_FP_DEF_FUNC(1) |
||||
MCL_FP_DEF_FUNC(2) |
||||
MCL_FP_DEF_FUNC(3) |
||||
MCL_FP_DEF_FUNC(4) |
||||
MCL_FP_DEF_FUNC(5) |
||||
MCL_FP_DEF_FUNC(6) |
||||
MCL_FP_DEF_FUNC(7) |
||||
MCL_FP_DEF_FUNC(8) |
||||
MCL_FP_DEF_FUNC(9) |
||||
#if CYBOZU_OS_BIT == 32 || MCL_MAX_BIT_SIZE == 768 |
||||
MCL_FP_DEF_FUNC(10) |
||||
MCL_FP_DEF_FUNC(11) |
||||
MCL_FP_DEF_FUNC(12) |
||||
#endif |
||||
#if CYBOZU_OS_BIT == 32 |
||||
MCL_FP_DEF_FUNC(13) |
||||
MCL_FP_DEF_FUNC(14) |
||||
MCL_FP_DEF_FUNC(15) |
||||
MCL_FP_DEF_FUNC(16) |
||||
MCL_FP_DEF_FUNC(17) |
||||
#endif |
||||
|
||||
MCL_FP_DEF_FUNC_SPECIAL(L) |
||||
MCL_FP_DEF_FUNC_SPECIAL(A) |
||||
|
||||
} |
||||
|
||||
#undef MCL_FP_DEF_FUNC_SUB |
||||
#undef MCL_FP_DEF_FUNC |
||||
|
Loading…
Reference in new issue