/uspace/trunk/softfloat/include/mul.h |
---|
33,7 → 33,7 |
float64 mulFloat64(float64 a, float64 b); |
void mul64integers(__u64 a,__u64 b, __u64 *lo, __u64 *hi); |
void mul64integers(uint64_t a,uint64_t b, uint64_t *lo, uint64_t *hi); |
#endif |
/uspace/trunk/softfloat/include/sftypes.h |
---|
29,22 → 29,22 |
#ifndef __SFTYPES_H__ |
#define __SFTYPES_H__ |
#include <types.h> |
#include <arch.h> |
#include <endian.h> |
#include <stdint.h> |
typedef union { |
float f; |
__u32 binary; |
uint32_t binary; |
struct { |
#ifdef __BIG_ENDIAN__ |
__u32 sign:1; |
__u32 exp:8; |
__u32 fraction:23; |
#elif defined __LITTLE_ENDIAN__ |
__u32 fraction:23; |
__u32 exp:8; |
__u32 sign:1; |
#if __BYTE_ORDER == __BIG_ENDIAN |
uint32_t sign:1; |
uint32_t exp:8; |
uint32_t fraction:23; |
#elif __BYTE_ORDER == __LITTLE_ENDIAN |
uint32_t fraction:23; |
uint32_t exp:8; |
uint32_t sign:1; |
#else |
#error "Unknown endians." |
#endif |
53,17 → 53,17 |
typedef union { |
double d; |
__u64 binary; |
uint64_t binary; |
struct { |
#ifdef __BIG_ENDIAN__ |
__u64 sign:1; |
__u64 exp:11; |
__u64 fraction:52; |
#elif defined __LITTLE_ENDIAN__ |
__u64 fraction:52; |
__u64 exp:11; |
__u64 sign:1; |
#if __BYTE_ORDER == __BIG_ENDIAN |
uint64_t sign:1; |
uint64_t exp:11; |
uint64_t fraction:52; |
#elif __BYTE_ORDER == __LITTLE_ENDIAN |
uint64_t fraction:52; |
uint64_t exp:11; |
uint64_t sign:1; |
#else |
#error "Unknown endians." |
#endif |
/uspace/trunk/softfloat/include/softfloat.h |
---|
157,6 → 157,8 |
int __gtdf2(double a, double b); |
int __gttf2(long double a, long double b); |
/* Not implemented yet*/ |
float __powisf2(float a, int b); |
#endif |
/uspace/trunk/softfloat/include/div.h |
---|
32,7 → 32,7 |
float32 divFloat32(float32 a, float32 b); |
float64 divFloat64(float64 a, float64 b); |
__u64 divFloat64estim(__u64 a, __u64 b); |
uint64_t divFloat64estim(uint64_t a, uint64_t b); |
#endif |
/uspace/trunk/softfloat/include/conversion.h |
---|
33,29 → 33,29 |
float32 convertFloat64ToFloat32(float64 a); |
__u32 float32_to_uint32(float32 a); |
__s32 float32_to_int32(float32 a); |
uint32_t float32_to_uint32(float32 a); |
int32_t float32_to_int32(float32 a); |
__u64 float32_to_uint64(float32 a); |
__s64 float32_to_int64(float32 a); |
uint64_t float32_to_uint64(float32 a); |
int64_t float32_to_int64(float32 a); |
__u64 float64_to_uint64(float64 a); |
__s64 float64_to_int64(float64 a); |
uint64_t float64_to_uint64(float64 a); |
int64_t float64_to_int64(float64 a); |
__u32 float64_to_uint32(float64 a); |
__s32 float64_to_int32(float64 a); |
uint32_t float64_to_uint32(float64 a); |
int32_t float64_to_int32(float64 a); |
float32 uint32_to_float32(__u32 i); |
float32 int32_to_float32(__s32 i); |
float32 uint32_to_float32(uint32_t i); |
float32 int32_to_float32(int32_t i); |
float32 uint64_to_float32(__u64 i); |
float32 int64_to_float32(__s64 i); |
float32 uint64_to_float32(uint64_t i); |
float32 int64_to_float32(int64_t i); |
float64 uint32_to_float64(__u32 i); |
float64 int32_to_float64(__s32 i); |
float64 uint32_to_float64(uint32_t i); |
float64 int32_to_float64(int32_t i); |
float64 uint64_to_float64(__u64 i); |
float64 int64_to_float64(__s64 i); |
float64 uint64_to_float64(uint64_t i); |
float64 int64_to_float64(int64_t i); |
#endif |
/uspace/trunk/softfloat/include/common.h |
---|
31,13 → 31,13 |
#include<sftypes.h> |
float64 finishFloat64(__s32 cexp, __u64 cfrac, char sign); |
float64 finishFloat64(int32_t cexp, uint64_t cfrac, char sign); |
int countZeroes64(__u64 i); |
int countZeroes32(__u32 i); |
int countZeroes8(__u8 i); |
int countZeroes64(uint64_t i); |
int countZeroes32(uint32_t i); |
int countZeroes8(uint8_t i); |
void roundFloat32(__s32 *exp, __u32 *fraction); |
void roundFloat64(__s32 *exp, __u64 *fraction); |
void roundFloat32(int32_t *exp, uint32_t *fraction); |
void roundFloat64(int32_t *exp, uint64_t *fraction); |
#endif |