///|
/// Deterministic kernels used by the benchmark CLI and regression tests.
pub fn benchmark_distribution_kernel(
model : ReliabilityModel,
grid : Array[Double],
repetitions : Int,
) -> Double {
let mut checksum = 0.0
for _ in 0.. Double {
let mut checksum = 0.0
for _ in 0.. Double {
let mut checksum = 0.0
for _ in 0.. Double {
let mut checksum = 0.0
for _ in 0.. BenchmarkResult {
let throughput = if elapsed_micros <= 0 {
0.0
} else {
iterations.to_double() * 1.0e6 / elapsed_micros.to_double()
}
benchmark_result(
name~,
iterations~,
elapsed_micros~,
checksum~,
operations_per_second=throughput,
)
}
///|
pub fn benchmark_dataset(size : Int) -> Array[LifeObservation] {
let failures = sample_weibull(20260818, 100.0, 1.8, size)
failures.map(value => failure(value))
}
///|
pub fn benchmark_grid(size : Int) -> Array[Double] {
linspace(0.1, 500.0, size)
}