Commit Graph

576 Commits

Author SHA1 Message Date
Umur Ozkul
2265254531 Filter arguments passed to mathjs calls by type so that error messages are not too weird 2022-05-21 18:05:55 +02:00
Ozzie Gooen
40bf7443c9 Simple FunctionRegistry cleanup 2022-05-21 11:41:12 -04:00
Ozzie Gooen
7e2437bfc0 Prettier 2022-05-20 22:54:15 -04:00
Ozzie Gooen
390ac2e2bb Renamed itype->frType, value-> frValue 2022-05-20 22:53:53 -04:00
Ozzie Gooen
c9d6302cbf Add better error message when wrong arguments passed 2022-05-20 18:05:45 -04:00
Ozzie Gooen
d9cbe37a5a Added main distributions 2022-05-20 17:36:40 -04:00
Umur Ozkul
feb0284a89 format 2022-05-20 18:20:00 +02:00
Umur Ozkul
a17ea3f5a1 simplify error messages 2022-05-20 18:07:10 +02:00
Umur Ozkul
a314cd46fb . became a post operator that can operate on any expression
Because of
    $x.y[0][0].w + $x.z + $u.v
2022-05-20 17:46:02 +02:00
Umur Ozkul
2a176fac26 $indentified defined. Assignment not allowed 2022-05-20 17:24:06 +02:00
Umur Ozkul
1557c197a0 renamed internal variables starting with $ so that they are not overriden by $ variables in Squigle 2022-05-20 17:11:32 +02:00
Umur Ozkul
870b0c9d4e hidden macros 2022-05-20 17:05:53 +02:00
Umur Ozkul
b165ccac9f floats in scientific notation and optional leading zero 2022-05-20 15:18:27 +02:00
Umur Ozkul
c1f269e9a4 fixed logical operator priority 2022-05-20 00:29:04 +02:00
Ozzie Gooen
2c0dc75403 Split FunctionRegistry into multiple files 2022-05-19 18:24:56 -04:00
Ozzie Gooen
0b85b12551 Moved matching functionality to dedicated module 2022-05-19 18:17:31 -04:00
Ozzie Gooen
c326d0b229 More cleaning 2022-05-19 18:09:37 -04:00
Ozzie Gooen
4b07226b45 Continuing cleanup of FunctionRegistry 2022-05-19 17:04:31 -04:00
Ozzie Gooen
58f1789cfe Refactored Normal and Lognormal functions 2022-05-19 15:12:36 -04:00
Umur Ozkul
a51e4be528 format 2022-05-19 20:25:18 +02:00
Umur Ozkul
57c2fba791 "credibleIntervalToDistribution" 2022-05-19 20:20:14 +02:00
Umur Ozkul
516627629f attempt to resolve "credibleIntervalToDistribution" 2022-05-19 20:12:46 +02:00
Umur Ozkul
986e7c744b pegjs->peggy 2022-05-19 19:10:14 +02:00
Umur Ozkul
749fba2877 pr fixes 2022-05-19 19:08:40 +02:00
Umur Ozkul
c496ae5cdd multi-line tests 2022-05-19 18:19:09 +02:00
Umur Ozkul
f547db9d0a multi line problem due to block and lambda ambiguity 2022-05-19 16:35:12 +02:00
Ozzie Gooen
50a5ef2498 Touchups for FunctionRegistry distTwo 2022-05-19 09:25:34 -04:00
Umur Ozkul
7b5fd2b101 Merge branch 'develop' into reducer-dev 2022-05-19 01:28:37 +02:00
Umur Ozkul
db050668d1 parser
toFunction

additive multiplicative

compact

whitespace

pow

relational equality

boolean

whitespace separator

left associative operators

expression

not

identifier

function call

array constructor

string

indexed values

ident

priority

block

outerBlock

optional final expression

statement separator

outerBlock

innerBlock

better errors

note xor

white space and record

unary minus

inner/outer block

statement

lambda

sort

lambda is a value constructor

lambdaCall

ternary

ternary

basicValue

cleanup

quotes

chained Functions

dot operators

unify unary operators

unify unary operatos

notes

notes

notes

notes

parser

priorities set

white space or newline defined

allow newlines

notes

function call has become a post operator

recordElement

recursive index

postOperatorToFunction

better integer

comments

notes

record priority

comment

atom

finalComment

generated parser

type cast

format

initiate test file

test initiated; todo nodeCall; nodeExpression

callIdentifier

recover extra

initiate testing

initial tests pass

tests pass

remove function node

ternary

test parse passed

to

tests pass

notes

sort

toExpression

format

notes

remove unused modules

remove unnecessary nodeLambdaCall

notes

note

fix construct array

comment test

todo

elixir pipe

fix toString

notes

initial to expression test

value test

parsing records

records

comments

ternary

ifthenelse

inner block passed

inner block

lambda

lambda

new parser tested

now test tricks

ternary in expression

to test lambda as argument

to test lambda in structures

Use peggy Parser

expectEvalError

macros tested

remove mathjs parse

reducer test

comparison operator
2022-05-19 01:23:43 +02:00
Ozzie Gooen
80a6c56efc Merge branch 'develop' into functionRegistry
* develop:
  ⬆️ Bump @types/node from 17.0.33 to 17.0.34
  ⬆️ Bump @babel/plugin-proposal-private-property-in-object
  Cleanup to samplesMap() code
  Cleanup and addition of toInternalSampleArray
  First simple version of samplesMap
2022-05-18 19:10:44 -04:00
Ozzie Gooen
69d962ce75 Wip, working on allowing distributions in normal 2022-05-18 19:10:34 -04:00
Ozzie Gooen
76bbfb2ef1 Added lognormal fn definitions 2022-05-18 18:42:28 -04:00
Ozzie Gooen
88ae0e25b4 Simple experiment of it working 2022-05-18 18:25:32 -04:00
Ozzie Gooen
b67c90eb06 Cleaned up FunctionRegistry to use Match type 2022-05-18 17:27:36 -04:00
Ozzie Gooen
f7f94cbcb1 First part of cleanup 2022-05-18 16:49:22 -04:00
Ozzie Gooen
c1de95b39a Added simple registry module 2022-05-18 16:22:11 -04:00
Ozzie Gooen
3085805a4d Experiment with function registry for normal distribution 2022-05-17 21:16:26 -04:00
Ozzie Gooen
f30de20c8d Refactored match() code 2022-05-17 20:45:32 -04:00
Ozzie Gooen
e0f4809ad7 Function registry first attempt 2022-05-17 18:54:31 -04:00
Ozzie Gooen
ab88b0d012 Merged with develop 2022-05-16 20:14:29 -04:00
Ozzie Gooen
eafdfdc7b7 Cleanup to samplesMap() code 2022-05-16 20:11:38 -04:00
Quinn Dougherty
9e7319ed57 More substantial CR; more named args
Value: [1e-6 to 1e-2]
2022-05-16 18:06:14 -04:00
Quinn Dougherty
1d2bb556de Minor CR comments
Value: [1e-6 to 1e-3]
2022-05-16 15:39:40 -04:00
Quinn Dougherty
81b2c74ac8 klDivergence with prior
Value: [1e-4 to 5e-23]
2022-05-16 13:18:01 -04:00
Quinn Dougherty
d00b82807c Merge remote-tracking branch 'origin/develop' into score-dist-on-scalar-resolution 2022-05-16 12:06:46 -04:00
Quinn Dougherty
3c3c88fb7b ...Resolution => ..Answer 2022-05-16 12:06:21 -04:00
Quinn Dougherty
30ab62e9b8 backed out of mutually recursive dispatch
Value: [1e-5 to 1e-3]
2022-05-16 12:03:37 -04:00
Ozzie Gooen
606f24ff24 Cleanup and addition of toInternalSampleArray 2022-05-15 21:34:36 -04:00
Ozzie Gooen
e0f505c8ea Add logistic distribution 2022-05-15 21:10:13 -04:00
Ozzie Gooen
432e5b9bca Formatted code 2022-05-15 19:42:43 -04:00
Ozzie Gooen
6156ae65d1 Cleanup 2022-05-15 19:42:10 -04:00
Ozzie Gooen
7216f8079f First attempt at adding bernoulli 2022-05-15 18:27:25 -04:00
Ozzie Gooen
15965b0b05 First simple version of samplesMap 2022-05-15 17:24:54 -04:00
Ozzie Gooen
4676026aa0 Ran formatter 2022-05-15 10:58:29 -04:00
Ozzie Gooen
47d7ef49cf Merged with master 2022-05-15 10:54:16 -04:00
Ozzie Gooen
b2b51c8f46 Added sampleN to interface 2022-05-15 10:52:35 -04:00
Quinn Dougherty
8710248a22 Merge remote-tracking branch 'origin/develop' into score-dist-on-scalar-resolution 2022-05-13 16:41:00 -04:00
Sam Nolan
95d0212ffc Remove redundant defaultEnv 2022-05-13 20:23:41 +00:00
Sam Nolan
80e05ea5be Pass environment down to GenericDist 2022-05-13 20:16:52 +00:00
Quinn Dougherty
bdbb86aa9e logScore on records now interprets almost every which way we're
interested in

Value: [1e-3 to 9e-1]
2022-05-13 16:15:04 -04:00
Quinn Dougherty
b4a1137019 Implemented correct math underlying logScoreWithPointResolution
Value: [1e-2 to 7e-1]

Realized that I need to switch argument order, put `prior` last maybe.
2022-05-13 15:43:59 -04:00
Quinn Dougherty
3eef57f855 proof of concept for records as arguments
Value: [1e-3 to 8e-1]
2022-05-13 13:18:52 -04:00
Quinn Dougherty
2ab395b4e5 Some minor CR
Value: [1e-10 to 1e-4]
2022-05-12 16:03:29 -04:00
Quinn Dougherty
65751e590a Fixed logScoreAgainstImproperPrior by finding how it was None
Value: [1e-4 to 8e-2]
2022-05-12 15:26:51 -04:00
Quinn Dougherty
51310819a1 logScore now in interface.
Value: [1e-4 to 1e-1]
2022-05-12 14:16:52 -04:00
Quinn Dougherty
978e149913 Initialized logScore and logScoreAgainstImproperPrior
Value: [1e-5 to 6e-3]
2022-05-12 13:11:51 -04:00
Quinn Dougherty
eee9a46c37 Improved comment for enrich
Value: [1e-9 to 1e-6]
2022-05-12 11:16:51 -04:00
Quinn Dougherty
f5e3701a79 Clean up for CR
Value: [1e-7 to 43-4]
2022-05-12 09:51:20 -04:00
Quinn Dougherty
26afc96495 Tests are as good as I can get them
Value: [1e-4 to 1e-2]
2022-05-11 15:12:36 -04:00
Sam Nolan
c13f49a7bc Lint fix 2022-05-11 14:19:45 -04:00
Sam Nolan
a3402a42a4 Add default environment as export 2022-05-11 14:19:45 -04:00
Sam Nolan
b2a972605d (rebase): Function charting 2022-05-11 14:19:36 -04:00
5c9f57a24a fix: Attain parity with previous implementation
This is achieved by not adding more points in between i
the points are already pretty close
2022-05-11 12:56:56 -04:00
599c14b32c tweak: Pass off to Quinn 2022-05-11 12:39:03 -04:00
4df4597ed3 fix: "Enrich" (add more x points) when integrating
in order to get more numerical precision.
Note: not complete yet.

Value: [1e-3 to 3e-1]
2022-05-11 12:23:36 -04:00
Quinn Dougherty
0b8da034c6 klDivergence on mixed distributions works for one test case
Value: [1e-4 to 5e-2]
2022-05-10 19:59:50 -04:00
Ozzie Gooen
3cca106079
Merge pull request #504 from quantified-uncertainty/function-charts
Function charting
2022-05-10 18:57:18 -04:00
Quinn Dougherty
b7e18b4f9d Simplified tree in squiggle-lang/src/rescript/Distributions
Value: [1e-8 to 1e-4]
2022-05-10 16:43:37 -04:00
Quinn Dougherty
465383205a Fixed lint
Value: [1e-10 to 1e-6]
2022-05-10 16:34:03 -04:00
Quinn Dougherty
216ede45b2 Fixed Bisect
Value: [1e-5 to 1e-3]
2022-05-10 16:27:34 -04:00
Sam Nolan
ccb6938ad4 Lint fix 2022-05-10 16:24:08 +00:00
Sam Nolan
930340e2f1 Add default environment as export 2022-05-10 16:20:31 +00:00
Quinn Dougherty
f7690c33e0 Some cleanup
Value: [1e-4 to 1e-2]
2022-05-10 11:56:13 -04:00
Sam Nolan
e058e315ad Function charting 2022-05-10 15:52:13 +00:00
Quinn Dougherty
15f1ebb429 KLDivergence on discretes is passing
Value: [1e-3 to 2e-1]
2022-05-10 11:27:59 -04:00
Quinn Dougherty
ccd55ef8f1 good evening, not working yet, but out of time for the night
Value: [1e-6 to 1e-4]
2022-05-09 19:17:27 -04:00
Quinn Dougherty
b2d80eef86 Removed negative infinity error handling
Value: [1e-5 to 1e-3]
2022-05-09 18:28:35 -04:00
Quinn Dougherty
59edd7122e wrapped error in function
Value: [1e-5 to 1e-3]
2022-05-09 15:24:46 -04:00
Quinn Dougherty
814a5f2c58 mx polymorphism
Value: [1e-3 to 2e-2]
2022-05-09 15:19:56 -04:00
Ozzie Gooen
d07c3e7e81
Merge pull request #495 from quantified-uncertainty/merge-bindings
Merge bindings function
2022-05-09 14:12:24 -04:00
Quinn Dougherty
06352357a2 response to CR
Value: [1e-5 to 5e-3]
2022-05-09 11:14:33 -04:00
Sam Nolan
2860f28e32 Merge bindings function
Value: [0.0001 to 0.005]
2022-05-09 14:18:50 +00:00
Quinn Dougherty
28cb6b9c88 Final cleanup, but typescript is still borked
Value: [1e-8 to 1e-6]
2022-05-06 15:09:00 -04:00
Quinn Dougherty
722bfc6366 All three tests pass
- `uniform` `toPointSet` method has been changed for numerical
stability.

Value: [1e-1 to 1.75e0]
2022-05-06 13:58:15 -04:00
d9a40c973a feat: Get KL divergence working except in case of numerical errors ()
- Quinn was of great help here.
- I also left some dead code, which still has to be cleaned up
- There are still very annoying numerical errors, so I left one test
failing. These are due to how the interpolation is done
- Quinn to pick up from here

Value: [0.6 to 2]
2022-05-06 12:26:51 -04:00
5dd272fb0c tweak: Add tests for combineAlongSupportOfSecondArgument 2022-05-06 11:45:11 -04:00
cc3db79a2a feat: kl function but no dealing with errors yet 2022-05-06 10:49:04 -04:00
b393af8762 tweak: start building new function from scratch 2022-05-06 10:04:41 -04:00
87d6f8d4f6 fix: change integrand check order in KL divergence code 2022-05-06 09:49:42 -04:00
Quinn Dougherty
fd17da83b8 Merge remote-tracking branch 'origin/develop' into log-score-attempt 2022-05-05 20:42:39 -04:00