mirror of https://git.ffmpeg.org/ffmpeg.git
avutil/softfloat: add some asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
44198a728d
commit
99afec08f8
|
@ -24,6 +24,8 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
|
#include "avassert.h"
|
||||||
|
|
||||||
#define MIN_EXP -126
|
#define MIN_EXP -126
|
||||||
#define MAX_EXP 126
|
#define MAX_EXP 126
|
||||||
#define ONE_BITS 29
|
#define ONE_BITS 29
|
||||||
|
@ -61,6 +63,7 @@ static inline av_const SoftFloat av_normalize1_sf(SoftFloat a){
|
||||||
a.exp++;
|
a.exp++;
|
||||||
a.mant>>=1;
|
a.mant>>=1;
|
||||||
}
|
}
|
||||||
|
av_assert2(a.mant < 0x40000000 && a.mant > -0x40000000);
|
||||||
return a;
|
return a;
|
||||||
#elif 1
|
#elif 1
|
||||||
int t= a.mant + 0x40000000 < 0;
|
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){
|
static inline av_const SoftFloat av_mul_sf(SoftFloat a, SoftFloat b){
|
||||||
a.exp += b.exp;
|
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;
|
a.mant = (a.mant * (int64_t)b.mant) >> ONE_BITS;
|
||||||
return av_normalize1_sf(a);
|
return av_normalize1_sf(a);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue