blob: 179bc3678a98f552682db4022d188b41fcbc5f1c [file] [log] [blame]
// Copyright 2025 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
use crate::{Generate, generate_vec, make_rng};
use {fidl_next_test_benchmark as ftb_next, fidl_test_benchmark as ftb};
impl_generate! {
for ftb::Vector3, ftb_next::Vector3 => rng {
Self { x: rng.random(), y: rng.random(), z: rng.random() }
}
}
impl_generate! {
for ftb::Triangle, ftb_next::Triangle => rng {
Self {
v0: Generate::generate(rng),
v1: Generate::generate(rng),
v2: Generate::generate(rng),
normal: Generate::generate(rng),
}
}
}
pub fn generate_input_rust(input_size: usize) -> ftb::Mesh {
let mut rng = make_rng();
ftb::Mesh { triangles: generate_vec(&mut rng, input_size) }
}
pub fn generate_input_rust_next(input_size: usize) -> ftb_next::Mesh {
let mut rng = make_rng();
ftb_next::Mesh { triangles: generate_vec(&mut rng, input_size) }
}