"Fossies" - the Fresh Open Source Software Archive

Member "jitsi-meet-7313/react/features/base/util/math.ts" (2 Jun 2023, 917 Bytes) of package /linux/misc/jitsi-meet-7313.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) TypeScript source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 /**
    2  * Compute the greatest common divisor using Euclid's algorithm.
    3  *
    4  * @param {number} num1 - First number.
    5  * @param {number} num2 - Second number.
    6  * @returns {number}
    7  */
    8 export function greatestCommonDivisor(num1: number, num2: number) {
    9     let number1: number = num1;
   10     let number2: number = num2;
   11 
   12     while (number1 !== number2) {
   13         if (number1 > number2) {
   14             number1 = number1 - number2;
   15         } else {
   16             number2 = number2 - number1;
   17         }
   18     }
   19 
   20     return number2;
   21 }
   22 
   23 /**
   24  * Calculate least common multiple using gcd.
   25  *
   26  * @param {number} num1 - First number.
   27  * @param {number} num2 - Second number.
   28  * @returns {number}
   29  */
   30 export function leastCommonMultiple(num1: number, num2: number) {
   31     const number1: number = num1;
   32     const number2: number = num2;
   33 
   34     const gcd: number = greatestCommonDivisor(number1, number2);
   35 
   36     return (number1 * number2) / gcd;
   37 }