Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: MiniTLS-HTTPS-Example
fp_mul_comba_6.c
00001 #define TFM_DEFINES 00002 #include "fp_mul_comba.c" 00003 00004 #ifdef TFM_MUL6 00005 void fp_mul_comba6(fp_int *A, fp_int *B, fp_int *C) 00006 { 00007 fp_digit c0, c1, c2, at[12]; 00008 00009 memcpy(at, A->dp, 6 * sizeof(fp_digit)); 00010 memcpy(at+6, B->dp, 6 * sizeof(fp_digit)); 00011 COMBA_START; 00012 00013 COMBA_CLEAR; 00014 /* 0 */ 00015 MULADD(at[0], at[6]); 00016 COMBA_STORE(C->dp[0]); 00017 /* 1 */ 00018 COMBA_FORWARD; 00019 MULADD(at[0], at[7]); MULADD(at[1], at[6]); 00020 COMBA_STORE(C->dp[1]); 00021 /* 2 */ 00022 COMBA_FORWARD; 00023 MULADD(at[0], at[8]); MULADD(at[1], at[7]); MULADD(at[2], at[6]); 00024 COMBA_STORE(C->dp[2]); 00025 /* 3 */ 00026 COMBA_FORWARD; 00027 MULADD(at[0], at[9]); MULADD(at[1], at[8]); MULADD(at[2], at[7]); MULADD(at[3], at[6]); 00028 COMBA_STORE(C->dp[3]); 00029 /* 4 */ 00030 COMBA_FORWARD; 00031 MULADD(at[0], at[10]); MULADD(at[1], at[9]); MULADD(at[2], at[8]); MULADD(at[3], at[7]); MULADD(at[4], at[6]); 00032 COMBA_STORE(C->dp[4]); 00033 /* 5 */ 00034 COMBA_FORWARD; 00035 MULADD(at[0], at[11]); MULADD(at[1], at[10]); MULADD(at[2], at[9]); MULADD(at[3], at[8]); MULADD(at[4], at[7]); MULADD(at[5], at[6]); 00036 COMBA_STORE(C->dp[5]); 00037 /* 6 */ 00038 COMBA_FORWARD; 00039 MULADD(at[1], at[11]); MULADD(at[2], at[10]); MULADD(at[3], at[9]); MULADD(at[4], at[8]); MULADD(at[5], at[7]); 00040 COMBA_STORE(C->dp[6]); 00041 /* 7 */ 00042 COMBA_FORWARD; 00043 MULADD(at[2], at[11]); MULADD(at[3], at[10]); MULADD(at[4], at[9]); MULADD(at[5], at[8]); 00044 COMBA_STORE(C->dp[7]); 00045 /* 8 */ 00046 COMBA_FORWARD; 00047 MULADD(at[3], at[11]); MULADD(at[4], at[10]); MULADD(at[5], at[9]); 00048 COMBA_STORE(C->dp[8]); 00049 /* 9 */ 00050 COMBA_FORWARD; 00051 MULADD(at[4], at[11]); MULADD(at[5], at[10]); 00052 COMBA_STORE(C->dp[9]); 00053 /* 10 */ 00054 COMBA_FORWARD; 00055 MULADD(at[5], at[11]); 00056 COMBA_STORE(C->dp[10]); 00057 COMBA_STORE2(C->dp[11]); 00058 C->used = 12; 00059 C->sign = A->sign ^ B->sign; 00060 fp_clamp(C); 00061 COMBA_FINI; 00062 } 00063 #endif
Generated on Wed Jul 13 2022 00:22:54 by
1.7.2