?? msqrt.c
字號:
#include <mp.h>msqrt(a,b,r) MINT *a,*b,*r;{ MINT x,junk,y; int j; x.len=junk.len=y.len=0; if(a->len<0) fatal("msqrt: neg arg"); if(a->len==0) { b->len=0; r->len=0; return(0); } if(a->len%2==1) x.len=(1+a->len)/2; else x.len=1+a->len/2; x.val=xalloc(x.len,"msqrt"); for(j=0;j<x.len;x.val[j++]=0); if(a->len%2==1) x.val[x.len-1]=0400; else x.val[x.len-1]=1; xfree(r);loop: mdiv(a,&x,&y,&junk); xfree(&junk); madd(&x,&y,&y); sdiv(&y,2,&y,(short *)&j); if(mcmp(&x,&y)>0) { xfree(&x); move(&y,&x); xfree(&y); goto loop; } xfree(&y); move(&x,b); mult(&x,&x,&x); msub(a,&x,r); xfree(&x); return(r->len);}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -