time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

index.js (1384B)


      1 import { distributions, generateInt, generateFloatRange, } from "./generators.js";
      2 import { test, expectEqual } from "./lib.js";
      3 const checkDistributionSame = async (distribution, operation) => {
      4     await expectEqual(operation(distribution), operation(`PointSet.fromDist(${distribution})`));
      5     await expectEqual(operation(distribution), operation(`SampleSet.fromDist(${distribution})`));
      6 };
      7 Object.entries(distributions).map(([key, generator]) => {
      8     const distribution = generator();
      9     test(`mean is the same for ${key} distribution under all distribution types`, async () => await checkDistributionSame(distribution, (d) => `mean(${d})`));
     10     test(`cdf is the same for ${key} distribution under all distribution types`, async () => {
     11         const cdf_value = generateInt();
     12         await checkDistributionSame(distribution, (d) => `cdf(${d}, ${cdf_value})`);
     13     });
     14     test(`pdf is the same for ${key} distribution under all distribution types`, async () => {
     15         const pdf_value = generateInt();
     16         await checkDistributionSame(distribution, (d) => `pdf(${d}, ${pdf_value})`);
     17     });
     18     test(`inv is the same for ${key} distribution under all distribution types`, async () => {
     19         const inv_value = generateFloatRange(0, 1);
     20         await checkDistributionSame(distribution, (d) => `inv(${d}, ${inv_value})`);
     21     });
     22 });
     23 //# sourceMappingURL=index.js.map