
math.h函数源代码
文章平均质量分 51
ammana_babi
这个作者很懒,什么都没留下…
展开
-
hypot ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】 /* hypot函数对于给定的直角三角形的两个直角边, 求其斜边的长度。*/ //一般的常规算法: double my_hypot01(double x, double y){ double hypotenuse; x = fabs(x); y原创 2006-12-08 22:13:00 · 5439 阅读 · 4 评论 -
modf ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* 将浮点数x分解成整数部分和小数部分。 返回小数部分,将整数部分存入* iptr所指内存中。*/double my_modf01(double x, double *iptr) { double ret = fmod(x,1.0); *iptr = x - ret;原创 2006-12-08 22:12:00 · 3019 阅读 · 0 评论 -
fmod ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* 计算x/y的余数。返回x-n*y,符号同y。 n=[x/y](向离开零的方向取整)*/double my_fmod01(double x, double y){ register double ret; __asm__( "1: fprem/n原创 2006-12-08 22:10:00 · 3221 阅读 · 0 评论 -
ldexp ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* 装载浮点数,v是尾数,e为指数。 如:x=ldexp(1.0,6);则表示要转载的浮点数是1.0*2^6*/double my_ldexp01(double v, int e){ double two = 2.0; if (e { e = -原创 2006-12-08 10:12:00 · 1457 阅读 · 0 评论 -
frexp ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】/* 把浮点数x分解成尾数和指数。x=m*2^exptr,m为规格化小数。 返回尾数m,并将指数存入exptr中。*/double my_frexp01(double x, int *exptr){ union { double d; uns原创 2006-12-07 22:04:00 · 2014 阅读 · 1 评论 -
tanh ( ) 【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_tanh(double x){ double ret,temp; if (x > 50) return 1; else if (x return -1; else { ret = exp(x);原创 2006-12-06 12:45:00 · 2281 阅读 · 0 评论 -
sinh ( ) 【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_sinh(double x){ double ret; if(x >= 0.0) { ret = exp(x); return (ret - 1.0/ret) / 2.0; } else { ret =原创 2006-12-06 12:44:00 · 1621 阅读 · 0 评论 -
cosh ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_cosh(double x){ double ret; ret = exp(fabs(x)); return (ret + 1.0/ret) / 2.0;}//计算x的双曲余弦值。int main(){ double a = 0.5; pr原创 2006-12-06 12:44:00 · 1412 阅读 · 0 评论 -
acos( ) 【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double atan2 (double x, double y){ register double ret; __asm__( "fpatan/n/t" "fld %%st(0)" : "=t" (ret) : "0" (y), "u"原创 2006-12-06 12:40:00 · 4652 阅读 · 0 评论 -
atan( ) 【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_atan(double x){ register double ret; __asm__( "fld1/n/t" "fpatan" : "=t" (ret) : "0" (x) ); retu原创 2006-12-06 12:40:00 · 3576 阅读 · 0 评论 -
asin ( ) 【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double atan2 (double x, double y){ register double ret; __asm__( "fpatan/n/t" "fld %%st(0)" : "=t" (ret) : "0" (y), "u"原创 2006-12-06 12:39:00 · 3583 阅读 · 0 评论 -
exp ( ) 【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_exp(double x){ register double ret, value; __asm__( "fldl2e;" "fmul %%st(1);" "fst %%st(1);/n/t" "frnd原创 2006-12-05 19:09:00 · 5156 阅读 · 0 评论 -
floor ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_floor(double x){ register double ret; unsigned short int temp1, temp2; __asm__("fnstcw %0" : "=m" (temp1)); temp2 = (temp1 & 0x原创 2006-12-05 17:56:00 · 4454 阅读 · 0 评论 -
ceil ( ) 【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_ceil(double x){ register double ret; unsigned short int temp1, temp2; __asm__("fnstcw %0" : "=m" (temp1)); temp2 = (temp1 & 0原创 2006-12-05 17:55:00 · 4750 阅读 · 2 评论 -
sqrt ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_sqrt(double x){ register double ret; __asm__( "fsqrt" : "=t" (ret) : "0" (x) ); return ret;}//计算x的平方原创 2006-12-05 17:23:00 · 6768 阅读 · 0 评论 -
pow10 ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_pow10(double x){ register double ret, value; __asm__( "fldl2t;/n/t" "fmul %%st(1);/n/t" "fst %%st(1);/n/t"原创 2006-12-05 16:52:00 · 3109 阅读 · 1 评论 -
pow ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_pow(double x, double y){ register double ret, value; double r = 1.0; long p = (long) y; if (x == 0.0 && y > 0.0) return原创 2006-12-05 16:50:00 · 13146 阅读 · 0 评论 -
log10 ( ) 【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_log10(double x){ register double ret; __asm__( "fldlg2/n/t" "fxch/n/t" "fyl2x" : "=t" (ret) : "0" (x)原创 2006-12-05 14:25:00 · 3908 阅读 · 0 评论 -
log2 ( ) 【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_log2(double x){ register double ret; __asm__( "fld1/n/t" "fxch/n/t" "fyl2x" : "=t" (ret) : "0" (x)原创 2006-12-05 14:24:00 · 9924 阅读 · 0 评论 -
log ( ) 【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_log(double x){ register double ret; __asm__( "fldln2/n/t" "fxch/n/t" "fyl2x" : "=t" (ret) : "0" (x)原创 2006-12-05 14:24:00 · 4104 阅读 · 1 评论 -
tan ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_tan(double x){ register double ret; register double value; __asm__( "fptan" : "=t" (value), "=u" (ret) :原创 2006-12-05 13:59:00 · 3175 阅读 · 0 评论 -
cos ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_cos (double x){ register double ret; __asm__( "fcos" : "=t" (ret) : "0" (x) ); return ret;}//计算x(弧度表示)的余弦值。原创 2006-12-05 13:58:00 · 2414 阅读 · 0 评论 -
sin ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】double my_sin(double x){ register double ret; __asm__ ( "fsin" : "=t" (ret) : "0" (x) ); return ret;}//计算x(弧度表示)的正弦值原创 2006-12-05 13:57:00 · 6796 阅读 · 0 评论 -
fabs ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】 float my_fabs01 (float fnumber){ float ret; __asm__ ( "fabs/n/r" : "=t" (ret) : "0" (fnumber) ); return ret;}//直接调用了原创 2006-12-05 13:56:00 · 6501 阅读 · 0 评论 -
labs ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】long int my_labs(long int number){ return (number>= 0 ? number : -number);} long int my_asmlabs(long int number){ __asm__( "mov %1,%%原创 2006-12-05 11:40:00 · 2558 阅读 · 0 评论 -
abs ( )【C语言库函数源代码】
【C语言库函数源代码】【本程序在Dev C++ 4.9.9.2 下编译通过】int my_abs(int number){ return (number>= 0 ? number : -number);}int my_asmabs(int number){ __asm__( "mov %1,%%eax; /n/r" //由输入寄存器 %1移动原创 2006-12-05 11:39:00 · 8120 阅读 · 0 评论