blangSDK
blangSDK copied to clipboard
Some error messages not shown in command line mode
E.g.
package assignments
model Growth {
param IntVar current ?: latentInt
random IntVar next ?: latentInt
laws {
logf(current, next) {
if (next == current - 1) return log(1.0/5.0)
else if (next == current) return log(7.0/10.0)
else if (next == current + 1) return log(2.0/10.0)
else return NEGATIVE_INFINITY
}
}
generate (rand) {
val int flip = Generators::categorical(rand, #[1.0/5.0, 7.0/10.0, 2.0/10.0])
return flip - 1
}
}
masks the error
java.lang.RuntimeException: The number 1.0 was expected to be close to 1.0999999999999999 (+/- 1.0E-6)
at bayonet.math.NumericalUtils.checkIsClose(NumericalUtils.java:42)
at bayonet.math.NumericalUtils.checkIsClose(NumericalUtils.java:47)
at bayonet.distributions.Random.nextCategorical(Random.java:87)
at bayonet.distributions.Random.nextCategorical(Random.java:64)
at blang.distributions.Generators.categorical(Generators.java:51)
at blang.validation.internals.fixtures.Growth.$generated__3(Growth.java:173)
at blang.validation.internals.fixtures.Growth.generate(Growth.java:209)
at blang.runtime.SampledModel.forwardSample(SampledModel.java:205)
at blang.runtime.SampledModel.<init>(SampledModel.java:114)
at blang.runtime.Runner.run(Runner.java:187)
at blang.inits.experiments.Experiment.start(Experiment.java:150)
at blang.runtime.Runner.start(Runner.java:138)
at blang.runtime.Runner.main(Runner.java:122)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at ca.ubc.stat.blang.StaticJavaUtils.callRunner(StaticJavaUtils.java:19)
at blang.validation.internals.fixtures.Growth.main(Growth.java:104)
executionMilliseconds : 52
outputFolder : /Users/bouchard/w/blangSDK/results/all/2017-12-18-21-38-47-PPmJKkbp.exec