Skip to main content

Batch sampling from a Distribution

Name

UxHwDoubleSampleBatch, UxHwFloatSampleBatch Store a batch of samples from a distribution to a destination array.

Synopsis

#include <stddef.h>
#include <uxhw.h>

void UxHwDoubleSampleBatch(double value, double * destSampleArray, size_t numberOfRandomSamples);
void UxHwFloatSampleBatch(float value, float * destSampleArray, size_t numberOfRandomSamples);

Description

The UxHwDoubleSampleBatch() function, on architectures that associate distributional information with floating-point values, draws numberOfRandomSamples random samples from the distribution associated with value and stores them in the destination array destSampleArray.

Parameters

  • value The distributional value to draw samples from.
  • destSampleArray The destination array where the samples will be stored.
  • numberOfRandomSamples The number of samples to be drawn and stored.

Return Values

The UxHwDoubleSampleBatch() function does not return a value.

  Examples

#include <stddef.h>
#include <stdio.h>
#include <uxhw.h>

enum
{
N = 10,
};

int
main(void)
{
size_t i;
double a;
double samples[N] = {0};

a = UxHwDoubleUniformDist(10.0, 20.0);

UxHwDoubleSampleBatch(a, samples, N);

for (i = 0; i < 10; i++)
{
printf("Sample %d of %lf is %lf\n", i, a, samples[i]);
}

return 0;
}