changeset 30028:374e68721324

betaincinv.m: Add BIST tests for extreme values of inputs. * betaincinv.m: Add BIST tests for extreme values of inputs.
author Rik <rik@octave.org>
date Fri, 20 Aug 2021 08:56:40 -0700
parents 85d8dfe7e483
children fa45724a7fc8
files scripts/specfun/betaincinv.m
diffstat 1 files changed, 19 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/specfun/betaincinv.m	Fri Aug 20 02:45:26 2021 -0400
+++ b/scripts/specfun/betaincinv.m	Fri Aug 20 08:56:40 2021 -0700
@@ -270,8 +270,25 @@
 %!assert (class (betaincinv (0.5, single (1), 1)), "single")
 %!assert (class (betaincinv (0.5, 1, single (1))), "single")
 
-%!assert <*60528> (betaincinv (1e-6, 1, 3), 3.3333344444450657e-07, 5*eps)
-%!assert <*60528> (betaincinv (1-1e-6, 3, 1), 0.999999666666556, 5*eps)
+## Extreme values for y, a, b that really test the algorithm
+%!assert (betaincinv ([0, 1], 1, 3), [0, 1])
+%!assert <*60528> (betaincinv (1e-6, 1, 3), 3.3333344444450657e-07, 2*eps)
+%!assert <*60528> (betaincinv (1-1e-6, 3, 1), 0.999999666666556, 2*eps)
+%!assert (betainc (betaincinv (0.9, 1e-3, 1), 1e-3, 1), 0.9, 2*eps)
+%!assert (betainc (betaincinv (.01, 1, 1e-3), 1, 1e-3), .01, 6*eps)
+%!assert (betainc (betaincinv (0.5, 100, 1), 100, 1), 0.5, 8*eps)
+%!assert (betainc (betaincinv (0.5, 1, 100), 1, 100), 0.5, 22*eps)
+%!assert (betaincinv ([0, 1], 1, 3, "upper"), [1, 0])
+%!assert <*60528> (betaincinv (1e-6, 1, 3, "upper"), 0.99, 2*eps)
+%!assert <*60528> (betaincinv (1-1e-6, 3, 1,"upper"), .01000000000003977, 2*eps)
+%!assert (betainc (betaincinv (0.1, 1e-3, 1, "upper"), 1e-3, 1, "upper"),
+%!        0.1, 2*eps)
+%!assert (betainc (betaincinv (.99, 1, 1e-3, "upper"), 1, 1e-3, "upper"),
+%!        .99, 6*eps)
+%!assert (betainc (betaincinv (0.5, 100, 1, "upper"), 100, 1, "upper"),
+%!        0.5, 8*eps)
+%!assert (betainc (betaincinv (0.5, 1, 100, "upper"), 1, 100, "upper"),
+%!        0.5, 22*eps)
 
 ## Test input validation
 %!error <Invalid call> betaincinv ()