[FFmpeg-cvslog] lls: use av_lfg instead of rand() in test program
Mans Rullgard
git at videolan.org
Tue Jul 12 01:44:23 CEST 2011
ffmpeg | branch: master | Mans Rullgard <mans at mansr.com> | Fri Jul 8 15:01:05 2011 +0100| [7ce914fb5a4ae974985368ce98db4031c034d513] | committer: Mans Rullgard
lls: use av_lfg instead of rand() in test program
Signed-off-by: Mans Rullgard <mans at mansr.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7ce914fb5a4ae974985368ce98db4031c034d513
---
libavutil/lls.c | 13 ++++++++-----
1 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/libavutil/lls.c b/libavutil/lls.c
index eba7375..b29fc96 100644
--- a/libavutil/lls.c
+++ b/libavutil/lls.c
@@ -118,24 +118,27 @@ double av_evaluate_lls(LLSModel *m, double *param, int order)
#ifdef TEST
-#include <stdlib.h>
#include <stdio.h>
+#include <limits.h>
+#include "lfg.h"
int main(void)
{
LLSModel m;
int i, order;
+ AVLFG lfg;
+ av_lfg_init(&lfg, 1);
av_init_lls(&m, 3);
for (i = 0; i < 100; i++) {
double var[4];
double eval;
- var[0] = (rand() / (double) RAND_MAX - 0.5) * 2;
- var[1] = var[0] + rand() / (double) RAND_MAX - 0.5;
- var[2] = var[1] + rand() / (double) RAND_MAX - 0.5;
- var[3] = var[2] + rand() / (double) RAND_MAX - 0.5;
+ var[0] = (av_lfg_get(&lfg) / (double) UINT_MAX - 0.5) * 2;
+ var[1] = var[0] + av_lfg_get(&lfg) / (double) UINT_MAX - 0.5;
+ var[2] = var[1] + av_lfg_get(&lfg) / (double) UINT_MAX - 0.5;
+ var[3] = var[2] + av_lfg_get(&lfg) / (double) UINT_MAX - 0.5;
av_update_lls(&m, var, 0.99);
av_solve_lls(&m, 0.001, 0);
for (order = 0; order < 3; order++) {
More information about the ffmpeg-cvslog
mailing list