version 1.9, 2009/03/02 16:28:30 |
version 1.12, 2014/03/29 18:53:57 |
|
|
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* |
* |
* $OpenXM: OpenXM_contrib2/asir2000/asm/ddN.c,v 1.8 2007/09/15 10:17:07 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/asm/ddN.c,v 1.11 2013/11/05 02:55:02 noro Exp $ |
*/ |
*/ |
#ifndef FBASE |
#ifndef FBASE |
#define FBASE |
#define FBASE |
|
|
#include "base.h" |
#include "base.h" |
#include "inline.h" |
#include "inline.h" |
|
|
|
#if defined(__GNUC__) |
|
unsigned int divn_1(unsigned int *p,int s,unsigned int d,unsigned int *r) __attribute__ ((noinline)); |
|
void muln_1(unsigned int *p,int s,unsigned int d,unsigned int *r) __attribute__ ((noinline)); |
|
#endif |
|
|
void divn(N n1,N n2,N *nq,N *nr) |
void divn(N n1,N n2,N *nq,N *nr) |
{ |
{ |
int tmp,b; |
int tmp,b; |
Line 591 void muln(N n1,N n2,N *nr) |
|
Line 596 void muln(N n1,N n2,N *nr) |
|
|
|
void _muln(N n1,N n2,N nr) |
void _muln(N n1,N n2,N nr) |
{ |
{ |
unsigned int tmp,carry,mul; |
unsigned int carry=0,mul; |
unsigned int *p1,*pp,*m1,*m2; |
unsigned int *p1,*pp,*m1,*m2; |
int i,j,d1,d2; |
int i,j,d1,d2; |
|
|
Line 632 void divnmain(int d1,int d2,unsigned int *m1,unsigned |
|
Line 637 void divnmain(int d1,int d2,unsigned int *m1,unsigned |
|
{ |
{ |
int i,j; |
int i,j; |
UL r,ltmp; |
UL r,ltmp; |
unsigned int l,ur,tmp; |
unsigned int l,ur; |
unsigned int *n1,*n2; |
unsigned int *n1,*n2; |
unsigned int u,qhat; |
unsigned int u,qhat; |
unsigned int v1,v2; |
unsigned int v1,v2; |