avutil/softfloat: add some asserts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-10-09 17:02:59 +02:00
parent 44198a728d
commit 99afec08f8
1 changed files with 4 additions and 0 deletions

View File

@ -24,6 +24,8 @@
#include <stdint.h>
#include "common.h"
#include "avassert.h"
#define MIN_EXP -126
#define MAX_EXP 126
#define ONE_BITS 29
@ -61,6 +63,7 @@ static inline av_const SoftFloat av_normalize1_sf(SoftFloat a){
a.exp++;
a.mant>>=1;
}
av_assert2(a.mant < 0x40000000 && a.mant > -0x40000000);
return a;
#elif 1
int t= a.mant + 0x40000000 < 0;
@ -78,6 +81,7 @@ static inline av_const SoftFloat av_normalize1_sf(SoftFloat a){
*/
static inline av_const SoftFloat av_mul_sf(SoftFloat a, SoftFloat b){
a.exp += b.exp;
av_assert2((int32_t)((a.mant * (int64_t)b.mant) >> ONE_BITS) == (a.mant * (int64_t)b.mant) >> ONE_BITS);
a.mant = (a.mant * (int64_t)b.mant) >> ONE_BITS;
return av_normalize1_sf(a);
}