use super::*;
use f2rust_std::*;
const LBCELL: i32 = -5;
const MAXVAL: i32 = 20000;
pub fn F_WIN(OK: &mut bool, ctx: &mut Context) -> f2rust_std::Result<()> {
let mut MSG = [b' '; 320 as usize];
let mut RESULT = ActualArray::<f64>::new(LBCELL..=MAXVAL);
let mut M: i32 = 0;
let mut MEAS: f64 = 0.0;
let mut AVG: f64 = 0.0;
let mut STDDEV: f64 = 0.0;
let mut SHORT: i32 = 0;
let mut LONG: i32 = 0;
testutil::TOPEN(b"F_WIN", ctx)?;
testutil::TCASE(b"Check ZZWNINSD error cases", ctx)?;
spicelib::SSIZED(MAXVAL, RESULT.as_slice_mut(), ctx)?;
spicelib::SCARDD(0, RESULT.as_slice_mut(), ctx)?;
spicelib::ZZWNINSD(0.0, -1.0, b"TEST_STRING_1", RESULT.as_slice_mut(), ctx)?;
spicelib::GETMSG(b"LONG", &mut MSG, ctx)?;
testutil::CHCKXC(true, b"SPICE(BADENDPOINTS)", OK, ctx)?;
M = spicelib::POS(&MSG, b"TEST_STRING_1", 1);
testutil::CHCKSI(b"TEST_STRING_1", M, b"=", 115, 0, OK, ctx)?;
spicelib::SSIZED(0, RESULT.as_slice_mut(), ctx)?;
spicelib::SCARDD(0, RESULT.as_slice_mut(), ctx)?;
spicelib::ZZWNINSD(0.0, 1.0, b"TEST_STRING_2", RESULT.as_slice_mut(), ctx)?;
spicelib::GETMSG(b"LONG", &mut MSG, ctx)?;
testutil::CHCKXC(true, b"SPICE(WINDOWEXCESS)", OK, ctx)?;
M = spicelib::POS(&MSG, b"TEST_STRING_2", 1);
testutil::CHCKSI(b"TEST_STRING_2", M, b"=", 90, 0, OK, ctx)?;
testutil::TCASE(b"Check WNSUMD error case", ctx)?;
spicelib::SSIZED(MAXVAL, RESULT.as_slice_mut(), ctx)?;
spicelib::SCARDD(13, RESULT.as_slice_mut(), ctx)?;
spicelib::WNSUMD(
RESULT.as_slice(),
&mut MEAS,
&mut AVG,
&mut STDDEV,
&mut SHORT,
&mut LONG,
ctx,
)?;
testutil::CHCKXC(true, b"SPICE(INVALIDCARDINALITY)", OK, ctx)?;
testutil::T_SUCCESS(OK, ctx);
Ok(())
}