simple-squiggle

A restricted subset of Squiggle
Log | Files | Refs | README

product.js (314B)


      1 /** @param {number} i
      2  *  @param {number} n
      3  *  @returns {number} product of i to n
      4  */
      5 export function product(i, n) {
      6   if (n < i) {
      7     return 1;
      8   }
      9 
     10   if (n === i) {
     11     return n;
     12   }
     13 
     14   var half = n + i >> 1; // divide (n + i) by 2 and truncate to integer
     15 
     16   return product(i, half) * product(half + 1, n);
     17 }