128 static jdouble f2d (jfloat x);
129 #endif // __SOFTFP__
130
131 // double trigonometrics and transcendentals
132 static jdouble dsin(jdouble x);
133 static jdouble dcos(jdouble x);
134 static jdouble dtan(jdouble x);
135 static jdouble dlog(jdouble x);
136 static jdouble dlog10(jdouble x);
137 static jdouble dexp(jdouble x);
138 static jdouble dpow(jdouble x, jdouble y);
139
140 #if defined(__SOFTFP__) || defined(E500V2)
141 static double dabs(double f);
142 #endif
143
144 #if defined(__SOFTFP__) || defined(PPC32)
145 static double dsqrt(double f);
146 #endif
147
148 #ifdef __SOFTFP__
149 // C++ compiler generates soft float instructions as well as passing
150 // float and double in registers.
151 static int fcmpl(float x, float y);
152 static int fcmpg(float x, float y);
153 static int dcmpl(double x, double y);
154 static int dcmpg(double x, double y);
155
156 static int unordered_fcmplt(float x, float y);
157 static int unordered_dcmplt(double x, double y);
158 static int unordered_fcmple(float x, float y);
159 static int unordered_dcmple(double x, double y);
160 static int unordered_fcmpge(float x, float y);
161 static int unordered_dcmpge(double x, double y);
162 static int unordered_fcmpgt(float x, float y);
163 static int unordered_dcmpgt(double x, double y);
164
165 static float fneg(float f);
166 static double dneg(double f);
167 #endif
|
128 static jdouble f2d (jfloat x);
129 #endif // __SOFTFP__
130
131 // double trigonometrics and transcendentals
132 static jdouble dsin(jdouble x);
133 static jdouble dcos(jdouble x);
134 static jdouble dtan(jdouble x);
135 static jdouble dlog(jdouble x);
136 static jdouble dlog10(jdouble x);
137 static jdouble dexp(jdouble x);
138 static jdouble dpow(jdouble x, jdouble y);
139
140 #if defined(__SOFTFP__) || defined(E500V2)
141 static double dabs(double f);
142 #endif
143
144 #if defined(__SOFTFP__) || defined(PPC32)
145 static double dsqrt(double f);
146 #endif
147
148 // Montgomery multiplication
149 static void montgomery_multiply(jint *a_ints, jint *b_ints, jint *n_ints,
150 jint len, jlong inv, unsigned long *scratch, jint *m_ints);
151
152 #ifdef __SOFTFP__
153 // C++ compiler generates soft float instructions as well as passing
154 // float and double in registers.
155 static int fcmpl(float x, float y);
156 static int fcmpg(float x, float y);
157 static int dcmpl(double x, double y);
158 static int dcmpg(double x, double y);
159
160 static int unordered_fcmplt(float x, float y);
161 static int unordered_dcmplt(double x, double y);
162 static int unordered_fcmple(float x, float y);
163 static int unordered_dcmple(double x, double y);
164 static int unordered_fcmpge(float x, float y);
165 static int unordered_dcmpge(double x, double y);
166 static int unordered_fcmpgt(float x, float y);
167 static int unordered_dcmpgt(double x, double y);
168
169 static float fneg(float f);
170 static double dneg(double f);
171 #endif
|