Lines Matching +full:src +full:- +full:2

3   fp_trig.c: floating-point math routines for the Linux-m68k
6 Copyright (c) 1998-1999 David Huggins-Daines / Roman Zippel.
25 extern struct fp_ext *fp_fadd(struct fp_ext *dest, const struct fp_ext *src);
26 extern struct fp_ext *fp_fdiv(struct fp_ext *dest, const struct fp_ext *src);
29 fp_fsqrt(struct fp_ext *dest, struct fp_ext *src) in fp_fsqrt() argument
36 fp_monadic_check(dest, src); in fp_fsqrt()
41 if (dest->sign) { in fp_fsqrt()
49 * sqrt(m) * 2^(p) , if e = 2*p in fp_fsqrt()
50 * sqrt(m*2^e) = in fp_fsqrt()
51 * sqrt(2*m) * 2^(p) , if e = 2*p + 1 in fp_fsqrt()
54 * use the m or 2*m. in fp_fsqrt()
57 * the integer part is assumed to be one, we place a 1 or 2 into in fp_fsqrt()
60 exp = dest->exp; in fp_fsqrt()
61 dest->exp = 0x3FFF; in fp_fsqrt()
63 dest->exp++; in fp_fsqrt()
68 * sqrt(x) = sqrt(a) + 1/(2*sqrt(a))*(x-a) + R in fp_fsqrt()
70 * sqrt(x) = 1 + 1/2*(x-1) in fp_fsqrt()
71 * = 1/2*(1+x) in fp_fsqrt()
74 dest->exp--; /* * 1/2 */ in fp_fsqrt()
78 * f(x) := x^2 - r in fp_fsqrt()
82 * x' := x - f(x)/f'(x) in fp_fsqrt()
83 * = x - (x^2 -r)/(2*x) in fp_fsqrt()
84 * = x - (x - r/x)/2 in fp_fsqrt()
85 * = (2*x - x + r/x)/2 in fp_fsqrt()
86 * = (x + r/x)/2 in fp_fsqrt()
93 dest->exp--; in fp_fsqrt()
96 dest->exp += (exp - 0x3FFF) / 2; in fp_fsqrt()
102 fp_fetoxm1(struct fp_ext *dest, struct fp_ext *src) in fp_fetoxm1() argument
106 fp_monadic_check(dest, src); in fp_fetoxm1()
112 fp_fetox(struct fp_ext *dest, struct fp_ext *src) in fp_fetox() argument
116 fp_monadic_check(dest, src); in fp_fetox()
122 fp_ftwotox(struct fp_ext *dest, struct fp_ext *src) in fp_ftwotox() argument
126 fp_monadic_check(dest, src); in fp_ftwotox()
132 fp_ftentox(struct fp_ext *dest, struct fp_ext *src) in fp_ftentox() argument
136 fp_monadic_check(dest, src); in fp_ftentox()
142 fp_flogn(struct fp_ext *dest, struct fp_ext *src) in fp_flogn() argument
146 fp_monadic_check(dest, src); in fp_flogn()
152 fp_flognp1(struct fp_ext *dest, struct fp_ext *src) in fp_flognp1() argument
156 fp_monadic_check(dest, src); in fp_flognp1()
162 fp_flog10(struct fp_ext *dest, struct fp_ext *src) in fp_flog10() argument
166 fp_monadic_check(dest, src); in fp_flog10()
172 fp_flog2(struct fp_ext *dest, struct fp_ext *src) in fp_flog2() argument
176 fp_monadic_check(dest, src); in fp_flog2()
182 fp_fgetexp(struct fp_ext *dest, struct fp_ext *src) in fp_fgetexp() argument
186 fp_monadic_check(dest, src); in fp_fgetexp()
195 fp_conv_long2ext(dest, (int)dest->exp - 0x3FFF); in fp_fgetexp()
203 fp_fgetman(struct fp_ext *dest, struct fp_ext *src) in fp_fgetman() argument
207 fp_monadic_check(dest, src); in fp_fgetman()
215 dest->exp = 0x3FFF; in fp_fgetman()