Subversion Repositories HelenOS

Rev

Rev 1787 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1787 Rev 1882
Line 43... Line 43...
43
 
43
 
44
#define E_10e8  271828182
44
#define E_10e8  271828182
45
#define PI_10e8 314159265
45
#define PI_10e8 314159265
46
 
46
 
47
 
47
 
48
#ifdef __ia32_ARCH_H__
48
#ifdef KERN_ia32_ARCH_H_
49
static inline double sqrt(double x) { double v; __asm__ ("fsqrt\n" : "=t" (v) : "0" (x)); return v; }
49
static inline double sqrt(double x) { double v; __asm__ ("fsqrt\n" : "=t" (v) : "0" (x)); return v; }
50
#endif
50
#endif
51
 
51
 
52
#ifdef __amd64_ARCH_H__
52
#ifdef KERN_amd64_ARCH_H_
53
static inline double sqrt(double x) { double v; __asm__ ("fsqrt\n" : "=t" (v) : "0" (x)); return v; }
53
static inline double sqrt(double x) { double v; __asm__ ("fsqrt\n" : "=t" (v) : "0" (x)); return v; }
54
#endif
54
#endif
55
 
55
 
56
#ifdef __ia64_ARCH_H__
56
#ifdef KERN_ia64_ARCH_H_
57
static inline long double sqrt(long double a)
57
static inline long double sqrt(long double a)
58
{  
58
{  
59
    long double x = 1;
59
    long double x = 1;
60
    long double lx = 0;
60
    long double lx = 0;
61
 
61
 
Line 103... Line 103...
103
}
103
}
104
 
104
 
105
static void pi(void *data)
105
static void pi(void *data)
106
{
106
{
107
 
107
 
108
#ifdef __ia64_ARCH_H__
108
#ifdef KERN_ia64_ARCH_H_
109
#undef PI_10e8  
109
#undef PI_10e8  
110
#define PI_10e8 3141592
110
#define PI_10e8 3141592
111
#endif
111
#endif
112
 
112
 
113
 
113
 
Line 132... Line 132...
132
            ad = sqrt(ab*ab/4 + cd*cd);
132
            ad = sqrt(ab*ab/4 + cd*cd);
133
            lpi = pi;
133
            lpi = pi;
134
            pi = 2 * n * ad;
134
            pi = 2 * n * ad;
135
        }
135
        }
136
 
136
 
137
#ifdef __ia64_ARCH_H__
137
#ifdef KERN_ia64_ARCH_H_
138
        if((int)(1000000*pi)!=PI_10e8)
138
        if((int)(1000000*pi)!=PI_10e8)
139
            panic("tid%d: pi*10e8=%zd should be %zd\n", THREAD->tid, (unative_t) (1000000*pi),(unative_t) (PI_10e8/100));
139
            panic("tid%d: pi*10e8=%zd should be %zd\n", THREAD->tid, (unative_t) (1000000*pi),(unative_t) (PI_10e8/100));
140
#else
140
#else
141
        if((int)(100000000*pi)!=PI_10e8)
141
        if((int)(100000000*pi)!=PI_10e8)
142
            panic("tid%d: pi*10e8=%zd should be %zd\n", THREAD->tid, (unative_t) (100000000*pi),(unative_t) PI_10e8);
142
            panic("tid%d: pi*10e8=%zd should be %zd\n", THREAD->tid, (unative_t) (100000000*pi),(unative_t) PI_10e8);