Minor fix
This commit is contained in:
parent
02a760984d
commit
b5b29e99d6
|
@ -16,34 +16,44 @@ var $$Math = {
|
|||
divide: divide
|
||||
};
|
||||
|
||||
function run(company, year, param) {
|
||||
function sharesOutstanding(price, marketCap) {
|
||||
if (price !== undefined && marketCap !== undefined) {
|
||||
return divide(marketCap, price);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function run(company, year, param, otherSettings) {
|
||||
var match = company.currentPrice;
|
||||
var match$1 = company.marketCap;
|
||||
switch (param) {
|
||||
case /* SHARE_PRICE */0 :
|
||||
if (match !== undefined && year > 2019 && year < 2030) {
|
||||
var diffYears = year - 2020 | 0;
|
||||
var diffYears = year - otherSettings.currentYear | 0;
|
||||
return normal(match, diffYears * 0.1);
|
||||
} else {
|
||||
return ;
|
||||
}
|
||||
case /* SHARES_OUTSTANDING */1 :
|
||||
if (year > 2019 && year < 2030) {
|
||||
var price = run(company, year, /* SHARE_PRICE */0);
|
||||
var marketCap = run(company, year, /* MARKET_CAP */2);
|
||||
if (price !== undefined && marketCap !== undefined) {
|
||||
return divide(marketCap, price);
|
||||
} else {
|
||||
return ;
|
||||
}
|
||||
var price = run(company, year, /* SHARE_PRICE */0, otherSettings);
|
||||
var marketCap = run(company, year, /* MARKET_CAP */2, otherSettings);
|
||||
return sharesOutstanding(price, marketCap);
|
||||
} else {
|
||||
return ;
|
||||
}
|
||||
case /* MARKET_CAP */2 :
|
||||
if (match$1 !== undefined && year > 2019 && year < 2030) {
|
||||
var diffYears$1 = year - otherSettings.currentYear | 0;
|
||||
return normal(match$1, diffYears$1 * 0.1);
|
||||
} else {
|
||||
return ;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
exports.$$Math = $$Math;
|
||||
exports.sharesOutstanding = sharesOutstanding;
|
||||
exports.run = run;
|
||||
/* No side effect */
|
||||
|
|
42
src/Test2.re
42
src/Test2.re
|
@ -19,25 +19,37 @@ type param =
|
|||
type company = {
|
||||
name: string,
|
||||
currentPrice: option(float),
|
||||
marketCap: option(float),
|
||||
};
|
||||
|
||||
let rec run = (company: company, year: int, param: param) => {
|
||||
switch (param, year, company.currentPrice) {
|
||||
| (SHARE_PRICE, year, Some(price)) when year > 2019 && year < 2030 =>
|
||||
let diffYears = year - 2020;
|
||||
type otherSettings = {currentYear: int};
|
||||
|
||||
let sharesOutstanding = (price, marketCap) =>
|
||||
switch (price, marketCap) {
|
||||
| (Some(price), Some(marketCap)) => Some(Math.divide(marketCap, price))
|
||||
| _ => None
|
||||
};
|
||||
|
||||
let rec run =
|
||||
(
|
||||
company: company,
|
||||
year: int,
|
||||
param: param,
|
||||
otherSettings: otherSettings,
|
||||
) => {
|
||||
switch (param, year, company.currentPrice, company.marketCap) {
|
||||
| (SHARE_PRICE, year, Some(price), _) when year > 2019 && year < 2030 =>
|
||||
let diffYears = year - otherSettings.currentYear;
|
||||
let diffPerYear = 0.1;
|
||||
Some(Math.normal(price, float_of_int(diffYears) *. diffPerYear));
|
||||
|
||||
| (SHARES_OUTSTANDING, year, _) when year > 2019 && year < 2030 =>
|
||||
let price = run(company, year, SHARE_PRICE);
|
||||
let marketCap = run(company, year, MARKET_CAP);
|
||||
switch (price, marketCap) {
|
||||
| (Some(price), Some(marketCap)) =>
|
||||
Some(Math.divide(marketCap, price))
|
||||
|
||||
| _ => None
|
||||
};
|
||||
|
||||
| (MARKET_CAP, year, _, Some(price)) when year > 2019 && year < 2030 =>
|
||||
let diffYears = year - otherSettings.currentYear;
|
||||
let diffPerYear = 0.1;
|
||||
Some(Math.normal(price, float_of_int(diffYears) *. diffPerYear));
|
||||
| (SHARES_OUTSTANDING, year, _, _) when year > 2019 && year < 2030 =>
|
||||
let price = run(company, year, SHARE_PRICE, otherSettings);
|
||||
let marketCap = run(company, year, MARKET_CAP, otherSettings);
|
||||
sharesOutstanding(price, marketCap);
|
||||
| _ => None
|
||||
};
|
||||
};
|
Loading…
Reference in New Issue
Block a user