tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

mathMinMax.js (1088B)


      1 var nan = Number.NaN;
      2 var negative_zero = -0;
      3 
      4 function max(a, b) {
      5    return Math.max(a, b);
      6 }
      7 function min(a, b) {
      8    return Math.min(a, b);
      9 }
     10 
     11 function main() {
     12    for (var i = 0; i < 100; i++) {
     13        assertEq(max(negative_zero, 0), 0);
     14        assertEq(max(0, negative_zero), 0);
     15        assertEq(min(0, negative_zero), negative_zero);
     16        assertEq(min(negative_zero, 0), negative_zero);
     17 
     18        assertEq(min(negative_zero, negative_zero), negative_zero);
     19        assertEq(max(negative_zero, negative_zero), negative_zero);
     20 
     21        assertEq(max(nan, 0), nan);
     22        assertEq(min(nan, 0), nan);
     23 
     24        assertEq(max(0, nan), nan);
     25        assertEq(max(nan, 0), nan);
     26 
     27        assertEq(max(3, 5), 5);
     28        assertEq(max(5, 3), 5);
     29 
     30        assertEq(min(3, 5), 3);
     31        assertEq(min(5, 3), 3);
     32 
     33        assertEq(max(Infinity, -Infinity), Infinity);
     34        assertEq(min(Infinity, -Infinity), -Infinity);
     35        assertEq(max(Infinity, nan), nan);
     36 
     37        assertEq(max(negative_zero, -5), negative_zero);
     38        assertEq(min(negative_zero, -5), -5);
     39    }
     40 }
     41 
     42 main();