LCOV - code coverage report
Current view: top level - mentat - utils.ts (source / functions) Hit Total Coverage
Test: coverage.lcov Lines: 24 24 100.0 %
Date: 2021-03-12 10:43:40 Functions: 3 3 100.0 %

          Line data    Source code
       1             : /**
       2             :  * INFO: assorted mathematical utility functions
       3             :  */
       4           1 : export function range(n: number): Array<number> {
       5           4 :   return Array.from(Array(n).keys());
       6           1 : }
       7             : 
       8           1 : export function rep(s: Array<any>, v: any, k: number = 0) {
       9          12 :   if (typeof k === "undefined") k = 0;
      10          12 :   var n = s[k], ret = Array(n), i;
      11          12 :   if (k === s.length - 1) {
      12          22 :     for (i = n - 2; i >= 0; i -= 2) {
      13          72 :       ret[i + 1] = v;
      14          72 :       ret[i] = v;
      15          22 :     }
      16          22 :     if (i === -1) ret[0] = v;
      17          22 :     return ret;
      18          12 :   }
      19          13 :   for (i = n - 1; i >= 0; i--) ret[i] = rep(s, v, k + 1);
      20          13 :   return ret;
      21           1 : }
      22             : 
      23             : /**
      24             :  * Calculate the mean of an array
      25             :  * @param data Input data as an `Array`
      26             :  */
      27           1 : export function mean(data: Array<number>): number {
      28           2 :   var sum = 0.0;
      29           2 :   for (let i = 0; i < data.length; i++) {
      30       10002 :     sum += data[i];
      31           2 :   }
      32           2 :   return sum / data.length;
      33           1 : }

Generated by: LCOV version 1.15