///|
/// Deterministic native benchmark workload. Wall-clock timing is supplied by
/// the host shell so the package itself remains portable and dependency-free.
fn main {
let curve = try! @easings.Bezier::new(0.25, 0.1, 0.25, 1.0)
let tween = try! @easings.Tween::new(
0.0,
320.0,
1.0,
curve=@easings.Curve::bezier(curve),
)
let track = try! @easings.ScalarTrack::new([
try! @easings.keyframe(0.0, 0.0),
try! @easings.keyframe(
0.5,
1.0,
curve=@easings.Curve::builtin(@easings.SineInOut),
),
try! @easings.keyframe(1.0, 0.0),
])
let spline = try! @easings.Spline2D::new([
@easings.point2(x=0.0, y=0.0),
@easings.point2(x=2.0, y=4.0),
@easings.point2(x=5.0, y=0.0),
@easings.point2(x=8.0, y=3.0),
])
let config = try! @easings.AdaptiveSamplingConfig::new(0.00001, max_depth=12)
let adaptive = try! @easings.adaptive_sample(
fn(time) { time * time },
0.0,
1.0,
config,
)
let mut bezier_checksum = 0.0
let mut tween_checksum = 0.0
let mut track_checksum = 0.0
let mut spline_checksum = 0.0
let iterations = 200000
for index in 0.. \{sampled[sampled.length() - 1].value().to_string()}",
)
}