Minor fixes

This commit is contained in:
Ozzie Gooen 2020-02-19 16:13:54 +00:00
parent 00301ec7d3
commit 7389fda068
5 changed files with 963 additions and 117 deletions

View File

@ -29,18 +29,23 @@
"@foretold/cdf": "1.0.15",
"@foretold/components": "0.0.3",
"@foretold/guesstimator": "1.0.10",
"@glennsl/bs-jest": "^0.4.9",
"antd": "3.17.0",
"autoprefixer": "9.7.4",
"babel-jest": "25.1.0",
"bs-ant-design-alt": "2.0.0-alpha.31",
"bs-css": "11.0.0",
"bs-moment": "0.4.4",
"bs-platform": "7.0.1",
"bs-reform": "9.7.1",
"bsb-js": "1.1.7",
"d3": "5.15.0",
"lenses-ppx": "5.1.0",
"gh-pages": "2.2.0",
"jest": "^25.1.0",
"lenses-ppx": "5.1.0",
"less": "3.10.3",
"lodash": "4.17.15",
"moduleserve": "0.9.1",
"moment": "2.24.0",
"parcel-bundler": "1.12.4",
"parcel-plugin-less-js-enabled": "1.0.2",
@ -50,10 +55,6 @@
"react-dom": "16.12.0",
"reason-react": ">=0.7.0",
"reschema": "1.3.0",
"bs-platform": "7.0.1",
"bsb-js": "1.1.7",
"gh-pages": "2.2.0",
"moduleserve": "0.9.1",
"tailwindcss": "1.2.0"
},
"alias": {

View File

@ -40,6 +40,8 @@ let distributions = () =>
<div>
<div>
<h2> {"Basic Mixed Distribution" |> ReasonReact.string} </h2>
<GenericDistributionChart dist=timeDist />
<h2> {"Simple Continuous" |> ReasonReact.string} </h2>
<GenericDistributionChart dist=mixedDist />
</div>
</div>;

View File

@ -1,71 +1,15 @@
module Continuous = {
module Mixed = {
[@react.component]
let make = (~data, ~
) => {
let make = (~data: DistributionTypes.mixedShape, ~unit) => {
let (x, setX) = React.useState(() => 0.);
let timeScale = unit |> DistributionTypes.DistributionUnit.toJson;
let chart =
React.useMemo1(
() =>
<CdfChart__Plain
data
timeScale
color={`hex("333")}
onHover={r => setX(_ => r)}
/>,
[|data|],
);
<div>
chart
<table className="table-auto">
<thead>
<tr>
<th className="px-4 py-2"> {"X Point" |> ReasonReact.string} </th>
<th className="px-4 py-2"> {"Y Pount" |> ReasonReact.string} </th>
<th className="px-4 py-2">
{"Y Integral to Point" |> ReasonReact.string}
</th>
</tr>
</thead>
<tbody>
<tr>
<th className="px-4 py-2 border ">
{x |> E.Float.toString |> ReasonReact.string}
</th>
<th className="px-4 py-2 border ">
{Shape.Continuous.findY(x, data)
|> E.Float.with2DigitsPrecision
|> ReasonReact.string}
</th>
<th className="px-4 py-2 border ">
{Shape.Continuous.findY(
x,
Shape.XYShape.Range.integrateWithTriangles(data)
|> E.O.toExt(""),
)
|> E.Float.with2DigitsPrecision
|> ReasonReact.string}
</th>
</tr>
</tbody>
</table>
<div />
</div>;
};
};
module Mixed = {
[@react.component]
let make = (~data: DistributionTypes.mixedShape) => {
let (x, setX) = React.useState(() => 0.);
let chart =
React.useMemo1(
() =>
<CdfChart__Plain
data={data.continuous}
color={`hex("333")}
timeScale
onHover={r => setX(_ => r)}
/>,
[|data|],
@ -116,21 +60,12 @@ let make = (~dist) => {
),
}) =>
<div>
<Continuous data={n |> Shape.Continuous.toPdf} unit />
<Continuous
unit
data={
n
|> Shape.XYShape.Range.integrateWithTriangles
|> E.O.toExt("")
|> Shape.XYShape.scaleCdfTo
}
/>
<Mixed
unit
data={
continuous:
n
|> Shape.Continuous.toCdf
|> Shape.XYShape.Range.integrateWithTriangles
|> E.O.toExt("")
|> Shape.XYShape.scaleCdfTo
|> Shape.Continuous.toPdf
@ -139,19 +74,6 @@ let make = (~dist) => {
discreteProbabilityMassFraction: f,
}
/>
<Continuous
unit
data={
n
|> Shape.XYShape.Range.integrateWithTriangles
|> E.O.toExt("")
|> Shape.XYShape.Range.derivative
|> E.O.toExt("")
|> Shape.XYShape.Range.integrateWithTriangles
|> E.O.toExt("")
}
/>
{d |> Shape.Discrete.scaleYToTotal(f) |> Shape.Discrete.render}
</div>
| _ => <div />
};

View File

@ -18,6 +18,7 @@ module Internals = {
let toContinous = (r: combined): DistributionTypes.continuousShape =>
continuousGet(r) |> CdfLibrary.JS.jsToDist;
let toDiscrete = (r: combined): DistributionTypes.discreteShape =>
discreteGet(r) |> jsToDistDiscrete;

978
yarn.lock

File diff suppressed because it is too large Load Diff