Annotation of coherent/b/lib/libm/i8087/sqrt87.m, revision 1.1.1.1

1.1       root        1: //////////
                      2: / libm 8087
                      3: / sqrt(d)
                      4: //////////
                      5: 
                      6: #include "larges.h"
                      7: #include "ifno8087.h"
                      8: 
                      9:        .globl  sqrt_
                     10:        .globl  tstcc
                     11:        .globl  edomain
                     12: 
                     13: //////////
                     14: / double
                     15: / sqrt(d)
                     16: / double d;
                     17: //////////
                     18: 
                     19: d      =       RASIZE          / arg offset
                     20: 
                     21: sqrt_:
                     22:        ifno8087(_sqrt_)
                     23:        mov     bx, sp
                     24:        fdld    Pss d(bx)       / Load argument d.
                     25: 
                     26:        Gcall   tstcc           / Test if d < 0.
                     27:        jae     0f              / d >= 0.
                     28:        Gjmp    edomain         / Issue EDOM error and return 0.
                     29: 
                     30: 0:     fsqrt                   / result = sqrt(d)
                     31:        Gret

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.