|
|
1.1 root 1: //////////
2: / /usr/src/libm/i387/hypot.s
3: / i387 mathematics library
4: / cabs(z), hypot(x, y)
5: //////////
6:
7: RASIZE = 4
8:
9: .globl cabs
10: .globl hypot
11:
12: //////////
13: / double
14: / cabs(z)
15: / CPX z;
16: /
17: / hypot(x, y)
18: / double x, y;
19: //////////
20:
21: x = RASIZE / x arg offset
22: y = RASIZE+8 / y arg offset
23:
24: cabs:
25: hypot:
26: fldl x(%esp) / x
27: fmul %st, %st / x*x
28: fldl y(%esp) / y, x*x
29: fmul %st, %st / y*y, x*x
30: fadd / x*x + y*y
31: fsqrt / result = sqrt(x*x + y*y)
32:
33: ret
34:
35: / end of hypot87.s
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.