handsontable / handsontable/hyperformula
ODFF 1.3 Medium Group Evaluator requirements
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.8k
- Forks
- 171
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 7
Description
Description
As a good extension to #61 the next major milestone should attempt to meet the Medium Group Evaluator requirements as described in section 2.3.3 of ODFF 1.3.
It extends #61 with a long list of additional functions (which are going to be implemented one way or another) and two important engine functionalities that we should focus on here:
- B) It shall implement the Infix Operator Reference Union ("~") 6.4.13
- C) It shall evaluate references with more than one area.
Requirements for Medium Group Evaluator
From ODFF 1.3:
- A) It shall implement the following functions as defined in this specification:
- ACCRINT 6.12.2
- ACCRINTM 6.12.3
- ACOSH 6.16.4
- ACOT 6.16.5
- ACOTH 6.16.6
- ADDRESS 6.14.2
- ASINH 6.16.8
- ATANH 6.16.11
- AVEDEV 6.18.2
- BESSELI 6.16.12
- BESSELJ 6.16.13
- BESSELK 6.16.14
- BESSELY 6.16.15
- BETADIST 6.18.7
- BETAINV 6.18.8
- BINOMDIST 6.18.10
- CEILING 6.17.1
- CHAR 6.20.3
- CLEAN 6.20.4
- CODE 6.20.5
- COLUMN 6.13.4
- COMBIN 6.16.16
- CONCATENATE 6.20.6
- CONFIDENCE 6.18.16
- CONVERT 6.16.18
- CORREL 6.18.17
- COSH 6.16.20
- COT 6.16.21
- COTH 6.16.22
- COUPDAYBS 6.12.5
- COUPDAYS 6.12.6
- COUPDAYSNC 6.12.7
- COUPNCD 6.12.7
- COUPNUM 6.12.9
- COUPPCD 6.12.10
- COVAR 6.18.18
- CRITBINOM 6.18.19
- CUMIPMT 6.12.11
- CUMPRINC 6.12.12
- DATEVALUE 6.10.4
- DAYS360 6.10.7
- DB 6.12.13
- DEVSQ 6.18.20
- DISC 6.12.15
- DOLLARDE 6.12.16
- DOLLARFR 6.12.17
- DURATION 6.12.18
- EFFECT 6.12.19
- EOMONTH 6.10.9
- ERF 6.16.27
- ERFC 6.16.28
- EXPONDIST 6.18.21
- FISHER 6.18.26
- FISHERINV 6.18.27
- FIXED 6.20.10
- FLOOR 6.17.3
- FORECAST 6.18.28
- FTEST 6.18.30
- GAMMADIST 6.18.31
- GAMMAINV 6.18.32
- GAMMALN 6.16.35
- GCD 6.16.36
- GEOMEAN 6.18.34
- HARMEAN 6.18.36
- HYPGEOMDIST 6.18.37
- INTERCEPT 6.18.38
- INTRATE 6.12.22
- ISEVEN 6.13.17
- ISODD 6.13.23
- ISOWEEKNUM 6.10.11
- KURT 6.18.39
- LARGE 6.18.40
- LCM 6.16.38
- LEGACY.CHIDIST 6.18.11
- LEGACY.CHIINV 6.18.13
- LEGACY.CHITEST 6.18.15
- LEGACY.FDIST 6.18.23
- LEGACY.FINV 6.18.25
- LEGACY.NORMSDIST 6.18.54
- LEGACY.NORMSINV 6.18.55
- LEGACY.TDIST 6.18.77
- LINEST 6.18.41
- LOGEST 6.18.42
- LOGINV 6.18.43
- LOGNORMDIST 6.18.44
- LOOKUP 6.14.8
- MDURATION 6.12.26
- MEDIAN 6.18.47
- MINVERSE 6.5.3
- MIRR 6.12.27
- MMULT 6.5.4
- MODE 6.18.50
- MROUND 6.17.4
- MULTINOMIAL 6.16.43
- NEGBINOMDIST 6.18.51
- NETWORKDAYS 6.10.14
- NOMINAL 6.12.28
- ODDFPRICE 6.12.31
- ODDFYIELD 6.12.32
- ODDLPRICE 6.12.33
- ODDLYIELD 6.12.34
- OFFSET 6.14.11
- PEARSON 6.18.56
- PERCENTILE 6.18.57
- PERCENTRANK 6.18.58
- PERMUT 6.18.59
- POISSON 6.18.62
- PRICE 6.12.38
- PRICEMAT 6.12.40
- PROB 6.18.63
- QUARTILE 6.18.64
- QUOTIENT 6.16.48
- RAND 6.16.50
- RANDBETWEEN 6.16.51
- RANK 6.18.65
- RECEIVED 6.12.43
- ROMAN 6.19.17
- ROUNDDOWN 6.17.6
- ROUNDUP 6.17.7
- ROW 6.13.29
- RSQ 6.18.66
- SERIESSUM 6.16.53
- SIGN 6.16.54
- SINH 6.16.56
- SKEW 6.18.67
- SKEWP 6.18.68
- SLOPE 6.18.69
- SMALL 6.18.70
- SQRTPI 6.16.59
- STANDARDIZE 6.18.71
- STDEVA 6.18.73
- STDEVPA 6.18.75
- STEYX 6.18.76
- SUBTOTAL 6.16.60
- SUMPRODUCT 6.16.64
- SUMSQ 6.16.65
- SUMX2MY2 6.16.66
- SUMX2PY2 6.16.67
- SUMXMY2 6.16.68
- TANH 6.16.70
- TBILLEQ 6.12.47
- TBILLPRICE 6.12.48
- TBILLYIELD 6.12.49
- TIMEVALUE 6.10.18
- TINV 6.18.78
- TRANSPOSE 6.5.6
- TREND 6.18.79
- TRIMMEAN 6.18.80
- TTEST 6.18.81
- TYPE 6.13.33
- VARA 6.18.83
- VDB 6.12.50
- WEEKNUM 6.10.21
- WEIBULL 6.18.86
- WORKDAY 6.10.22
- XIRR 6.12.51
- XNPV 6.12.52
- YEARFRAC 6.10.24
- YIELD 6.12.53
- YIELDDISC 6.12.54
- YIELDMAT 6.12.55
- ZTEST 6.18.87
- B) It shall implement the Infix Operator Reference Union ("~") 6.4.13
- C) It shall evaluate references with more than one area.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading ODFF 1.3 section 2.3.3 and the related work in issue #61, then separate the remaining function requirements from the two evaluator-engine requirements. Done means implementing the listed missing functions, the reference-union operator (~), and evaluation of references containing more than one area, with behavior matching the ODFF requirements.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100