Mark Poliakov 7a0d528cda Add 'lib/runtime/' from commit 'db5cddbec10c4b7c086eda716d48d4711632901f'
git-subtree-dir: lib/runtime
git-subtree-mainline: 566a2341f5b726d86f5d42a72beb9c70b83f31b6
git-subtree-split: db5cddbec10c4b7c086eda716d48d4711632901f
2024-03-12 15:54:48 +02:00

46 lines
1.2 KiB
C

#include <stdint.h>
#include "private.h"
float
powf(float x, float y) /* wrapper powf */
{
// #ifdef _IEEE_LIBM
return __ieee754_powf(x,y);
// #else
// float z;
// z=__ieee754_powf(x,y);
// if(_LIB_VERSION == _IEEE_|| isnanf(y)) return z;
// if(isnanf(x)) {
// if(y==(float)0.0)
// /* powf(NaN,0.0) */
// return (float)__kernel_standard((double)x,(double)y,142);
// else
// return z;
// }
// if(x==(float)0.0){
// if(y==(float)0.0)
// /* powf(0.0,0.0) */
// return (float)__kernel_standard((double)x,(double)y,120);
// if(finitef(y)&&y<(float)0.0)
// /* powf(0.0,negative) */
// return (float)__kernel_standard((double)x,(double)y,123);
// return z;
// }
// if(!finitef(z)) {
// if(finitef(x)&&finitef(y)) {
// if(isnanf(z))
// /* powf neg**non-int */
// return (float)__kernel_standard((double)x,(double)y,124);
// else
// /* powf overflow */
// return (float)__kernel_standard((double)x,(double)y,121);
// }
// }
// if(z==(float)0.0&&finitef(x)&&finitef(y))
// /* powf underflow */
// return (float)__kernel_standard((double)x,(double)y,122);
// return z;
// #endif
}