Minor fix

This commit is contained in:
Ozzie Gooen 2020-02-05 22:14:59 +00:00
parent 02a760984d
commit b5b29e99d6
2 changed files with 47 additions and 25 deletions

View File

@ -16,34 +16,44 @@ var $$Math = {
divide: divide 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 = company.currentPrice;
var match$1 = company.marketCap;
switch (param) { switch (param) {
case /* SHARE_PRICE */0 : case /* SHARE_PRICE */0 :
if (match !== undefined && year > 2019 && year < 2030) { if (match !== undefined && year > 2019 && year < 2030) {
var diffYears = year - 2020 | 0; var diffYears = year - otherSettings.currentYear | 0;
return normal(match, diffYears * 0.1); return normal(match, diffYears * 0.1);
} else { } else {
return ; return ;
} }
case /* SHARES_OUTSTANDING */1 : case /* SHARES_OUTSTANDING */1 :
if (year > 2019 && year < 2030) { if (year > 2019 && year < 2030) {
var price = run(company, year, /* SHARE_PRICE */0); var price = run(company, year, /* SHARE_PRICE */0, otherSettings);
var marketCap = run(company, year, /* MARKET_CAP */2); var marketCap = run(company, year, /* MARKET_CAP */2, otherSettings);
if (price !== undefined && marketCap !== undefined) { return sharesOutstanding(price, marketCap);
return divide(marketCap, price);
} else {
return ;
}
} else { } else {
return ; return ;
} }
case /* MARKET_CAP */2 : case /* MARKET_CAP */2 :
return ; 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.$$Math = $$Math;
exports.sharesOutstanding = sharesOutstanding;
exports.run = run; exports.run = run;
/* No side effect */ /* No side effect */

View File

@ -19,25 +19,37 @@ type param =
type company = { type company = {
name: string, name: string,
currentPrice: option(float), currentPrice: option(float),
marketCap: option(float),
}; };
let rec run = (company: company, year: int, param: param) => { type otherSettings = {currentYear: int};
switch (param, year, company.currentPrice) {
| (SHARE_PRICE, year, Some(price)) when year > 2019 && year < 2030 => let sharesOutstanding = (price, marketCap) =>
let diffYears = year - 2020; 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; let diffPerYear = 0.1;
Some(Math.normal(price, float_of_int(diffYears) *. diffPerYear)); Some(Math.normal(price, float_of_int(diffYears) *. diffPerYear));
| (MARKET_CAP, year, _, Some(price)) when year > 2019 && year < 2030 =>
| (SHARES_OUTSTANDING, year, _) when year > 2019 && year < 2030 => let diffYears = year - otherSettings.currentYear;
let price = run(company, year, SHARE_PRICE); let diffPerYear = 0.1;
let marketCap = run(company, year, MARKET_CAP); Some(Math.normal(price, float_of_int(diffYears) *. diffPerYear));
switch (price, marketCap) { | (SHARES_OUTSTANDING, year, _, _) when year > 2019 && year < 2030 =>
| (Some(price), Some(marketCap)) => let price = run(company, year, SHARE_PRICE, otherSettings);
Some(Math.divide(marketCap, price)) let marketCap = run(company, year, MARKET_CAP, otherSettings);
sharesOutstanding(price, marketCap);
| _ => None
};
| _ => None | _ => None
}; };
}; };