00001 /****************************** -*- mode: C -*- ******************************/ 00015 #ifndef C4E_POLY_H 00016 #define C4E_POLY_H 00017 00018 00019 /* INCLUDES ******************************************************************/ 00020 00021 #include "c4e_elements.h" 00022 00023 00024 #ifdef __cplusplus 00025 extern "C" { 00026 #endif 00027 00028 00029 /* TYPEDEFS ******************************************************************/ 00030 00031 00032 /* DEFINES *******************************************************************/ 00033 00034 00035 /* MACROS ********************************************************************/ 00036 00037 00038 /* PROTOTYPES ****************************************************************/ 00039 00040 00041 /* FUNCTION ******************************************************************/ 00058 C4eElemCmp c4e_poly_cmp(C4E_CONST C4eElement* a, C4E_CONST C4eElement* b); 00059 00060 00061 /* FUNCTION ******************************************************************/ 00075 void c4e_poly_add(C4E_CONST C4eElement* a, C4E_CONST C4eElement* b, 00076 C4eElement* c); 00077 00078 00079 /* FUNCTION ******************************************************************/ 00100 void c4e_poly_addshl(C4E_CONST C4eElement* a, C4E_CONST C4eElement* b, 00101 C4eArchSize shift, C4eElement* c); 00102 00103 00104 /* FUNCTION ******************************************************************/ 00132 void c4e_poly_mul(C4E_CONST C4eElement* C4E_RESTRICT a, 00133 C4E_CONST C4eElement* C4E_RESTRICT b, 00134 C4eElement* C4E_RESTRICT c); 00135 00136 00137 /* FUNCTION ******************************************************************/ 00177 void c4e_poly_sqr(C4E_CONST C4eElement* a, C4eElement* c); 00178 00179 00180 /* FUNCTION ******************************************************************/ 00220 void c4e_poly_mod(C4E_CONST C4eElement* C4E_RESTRICT a, 00221 C4E_CONST C4eElement* C4E_RESTRICT b, 00222 C4E_CONST C4eElement* C4E_RESTRICT m, 00223 C4eElement* C4E_RESTRICT c); 00224 00225 00226 /* FUNCTION ******************************************************************/ 00278 void c4e_poly_gcd(C4eElemTriple* a, C4eElemTriple* b); 00279 00280 00281 #ifdef __cplusplus 00282 } 00283 #endif 00284 00285 00286 #endif /* C4E_POLY_H */ 00287 00288 00289 /******************************************************************************/ 00290 /* END OF FILE */ 00291 /******************************************************************************/
1.6.1