Rev 8687 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
8687 | turbocat | 1 | /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ |
2 | |||
3 | .data |
||
4 | .align 2 |
||
5 | nan: |
||
6 | .long 0xffffffff |
||
7 | .byte 0xff |
||
8 | .byte 0xff |
||
9 | .byte 0xff |
||
10 | .byte 0x7f |
||
11 | |||
12 | .text |
||
13 | |||
14 | .global atan2; |
||
15 | |||
16 | atan2: |
||
17 | fldl 4(%esp) |
||
18 | fldl 12(%esp) |
||
19 | ftst |
||
20 | fnstsw %ax |
||
21 | sahf |
||
22 | jne doit |
||
23 | fxch %st(1) |
||
24 | ftst |
||
25 | fnstsw %ax |
||
26 | sahf |
||
27 | je isanan |
||
28 | fxch %st(1) |
||
29 | doit: |
||
30 | fpatan |
||
31 | ret |
||
32 | isanan: |
||
8787 | turbocat | 33 | movl $1, _errno |
8687 | turbocat | 34 | fstp %st(0) |
35 | fstp %st(0) |
||
36 | fldl nan |
||
37 | ret |