Michael Niedermayer
278fea3664
avutil/eval: Use even better PRNG
...
This is the 64bit version of Chris Doty-Humphreys SFC64
Compared to the LCGs these produce much better quality numbers.
Compared to LFGs this needs less state. (our LFG has 224 byte
state for its 32bit version) this has 32byte state
Also the initialization for our LFG is slower.
This is also much faster than KISS or PCG.
This commit replaces the broken LCG used before.
(broken as it had only a period ~200M due to being put in a double)
This changes the output from random() which is why libswresample.mak
is updated, update was done using the command in libswresample.mak
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
1 year ago
Michael Niedermayer
b50bd69516
avutil/eval-test: Check av_expr_parse_and_eval() for failure and also check it in the fate test
...
Fixes CID1361940
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Stefano Sabatini
f3e886c7df
lavu/eval: add clip function
11 years ago
Clément Bœsch
77f60f0011
lavu/eval: add between() function.
12 years ago
Stefano Sabatini
72a1257b5b
tests/eval: fix reference after b2098d2417
...
+10l to me, I blame the aliens.
12 years ago
Stefano Sabatini
b2098d2417
lavu/eval: add bitor and bitand functions
...
Warning note suggested by Reimar.
12 years ago
Michael Niedermayer
29c8619a49
fate: add print() to the tests of eval
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Stefano Sabatini
2ed0803c6c
lavu/eval: extend if/ifnot functions to accept a third parameter
...
Add support to an if/else construct, simplify logic in expressions.
12 years ago
Justin Ruggles
5312268b34
eval: treat dB as decibels instead of decibytes
12 years ago
Michael Niedermayer
25a21c587c
eval-test: add some otherwise untested functions.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Janne Grunau
2d497c141d
eval: add gt(), gte(), lt() and lte() fate tests
13 years ago
Max Lazarov
caac3ab6ef
eval: fix swapping of lt() and lte()
...
CC: libav-stable@libav.org
13 years ago
Martin Storsjö
143f1e9203
eval: Add the isinf() function and tests for it
...
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
maxlazarov
7a3df014b9
The lt and lte functions were swapped.
13 years ago
Michael Niedermayer
59affed23c
eval: add root() to solve f(x)=0
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
923092697a
eval: Allow specifying the variable id.
...
Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
43b1943a55
eval: Add taylor series evaluation support.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Stefano Sabatini
999495734b
lavu/eval: add if() and ifnot() eval functions
...
They allow to implement the if/then/else logic, which cannot be
implemented otherwise.
For example the expression:
A*B + not(A)*C
always evaluates to NaN if B is NaN, even in the case where A is 0.
13 years ago
Anton Khirnov
775af761a0
eval: test isnan(sqrt(-1)) instead of just sqrt(-1)
...
sqrt(-1) returns "some NaN", it's not specified which exactly.
14 years ago
Stefano Sabatini
8cee38a298
eval: implement not() expression
14 years ago
Stefano Sabatini
9bc393908a
eval: add sqrt function for computing the square root
14 years ago
Ronald S. Bultje
dfd8116986
eval: add missing comma to tests.
14 years ago
Michael Niedermayer
16a565d0cb
eval/fate: try to fix nan printing format failures.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Mans Rullgard
94350ab986
eval: clear Parser instances before using
...
This prevents random values from the stack being used as
"variables" in expressions.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
883fd9e393
eval: add fate test
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago