From b9c8a7e2c711c2bc1ac109330f5b7f1802e6a2e1 Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Tue, 26 Apr 2022 16:58:36 -0400 Subject: [PATCH] Input validation for cauchy Value: [0.01 to 0.08] Sam gets most of the credit --- .../rescript/Distributions/SymbolicDist/SymbolicDist.res | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/squiggle-lang/src/rescript/Distributions/SymbolicDist/SymbolicDist.res b/packages/squiggle-lang/src/rescript/Distributions/SymbolicDist/SymbolicDist.res index 92249eae..997506d9 100644 --- a/packages/squiggle-lang/src/rescript/Distributions/SymbolicDist/SymbolicDist.res +++ b/packages/squiggle-lang/src/rescript/Distributions/SymbolicDist/SymbolicDist.res @@ -86,9 +86,10 @@ module Exponential = { module Cauchy = { type t = cauchy - let make = (local, scale): result => Ok( - #Cauchy({local: local, scale: scale}), - ) + let make = (local, scale): result => + scale > 0.0 + ? Ok(#Cauchy({local: local, scale: scale})) + : Error("Cauchy distribution scale parameter must larger than 0.") let pdf = (x, t: t) => Jstat.Cauchy.pdf(x, t.local, t.scale) let cdf = (x, t: t) => Jstat.Cauchy.cdf(x, t.local, t.scale) let inv = (p, t: t) => Jstat.Cauchy.inv(p, t.local, t.scale)