fixed broken test case for blocklang
This commit is contained in:
parent
c0dad77577
commit
648c94cf79
2 changed files with 27 additions and 39 deletions
|
@ -92,11 +92,17 @@ impl DspNode for Code {
|
||||||
outputs: &mut [ProcBuf],
|
outputs: &mut [ProcBuf],
|
||||||
ctx_vals: LedPhaseVals,
|
ctx_vals: LedPhaseVals,
|
||||||
) {
|
) {
|
||||||
use crate::dsp::{at, denorm, inp, out};
|
use crate::dsp::{at, denorm, inp, out, out_idx};
|
||||||
// let clock = inp::TSeq::clock(inputs);
|
// let clock = inp::TSeq::clock(inputs);
|
||||||
// let trig = inp::TSeq::trig(inputs);
|
// let trig = inp::TSeq::trig(inputs);
|
||||||
// let cmode = at::TSeq::cmode(atoms);
|
// let cmode = at::TSeq::cmode(atoms);
|
||||||
let out = out::Code::sig(outputs);
|
let out = out::Code::sig(outputs);
|
||||||
|
let out_i = out_idx::Code::sig1();
|
||||||
|
let (sig, sig1) = outputs.split_at_mut(out_i);
|
||||||
|
let (sig1, sig2) = sig1.split_at_mut(1);
|
||||||
|
let sig = &mut sig[0];
|
||||||
|
let sig1 = &mut sig1[0];
|
||||||
|
let sig2 = &mut sig2[0];
|
||||||
|
|
||||||
#[cfg(feature = "synfx-dsp-jit")]
|
#[cfg(feature = "synfx-dsp-jit")]
|
||||||
{
|
{
|
||||||
|
@ -110,8 +116,9 @@ impl DspNode for Code {
|
||||||
|
|
||||||
for frame in 0..ctx.nframes() {
|
for frame in 0..ctx.nframes() {
|
||||||
let (s1, s2, ret) = backend.process(0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
|
let (s1, s2, ret) = backend.process(0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
|
||||||
println!("OUT: {}", ret);
|
sig.write(frame, ret);
|
||||||
out.write(frame, ret);
|
sig1.write(frame, s1);
|
||||||
|
sig2.write(frame, s2);
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx_vals[0].set(0.0);
|
ctx_vals[0].set(0.0);
|
||||||
|
|
|
@ -30,31 +30,28 @@ fn check_blocklang_1() {
|
||||||
{
|
{
|
||||||
let mut block_fun = block_fun.lock().expect("matrix lock");
|
let mut block_fun = block_fun.lock().expect("matrix lock");
|
||||||
block_fun.instanciate_at(0, 0, 1, "value", Some("0.3".to_string()));
|
block_fun.instanciate_at(0, 0, 1, "value", Some("0.3".to_string()));
|
||||||
// block_fun.instanciate_at(0, 1, 1, "set", Some("&sig1".to_string()));
|
block_fun.instanciate_at(0, 1, 1, "set", Some("&sig1".to_string()));
|
||||||
}
|
}
|
||||||
|
|
||||||
matrix.check_block_function(0).expect("no compile error");
|
matrix.check_block_function(0).expect("no compile error");
|
||||||
|
|
||||||
let res = run_for_ms(&mut node_exec, 25.0);
|
let res = run_for_ms(&mut node_exec, 25.0);
|
||||||
println!("RES: {:?}", res.1);
|
assert_decimated_feq!(res.0, 50, vec![0.3; 10]);
|
||||||
assert_decimated_feq!(
|
|
||||||
res.0,
|
|
||||||
50,
|
|
||||||
vec![
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
]
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// XXX: Test case with 3 outputs, where the first output writes a value used
|
||||||
|
// by the computation after the first but before the third output.
|
||||||
|
/*
|
||||||
|
0.3 ->3 set a
|
||||||
|
=> -> + set b
|
||||||
|
get a
|
||||||
|
=> -> - set a
|
||||||
|
get b
|
||||||
|
get a +
|
||||||
|
get b
|
||||||
|
*/
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn check_blocklang_2() {
|
fn check_blocklang_2() {
|
||||||
let (mut matrix, mut node_exec) = setup();
|
let (mut matrix, mut node_exec) = setup();
|
||||||
|
@ -95,21 +92,5 @@ fn check_blocklang_2() {
|
||||||
matrix.check_block_function(0).expect("no compile error");
|
matrix.check_block_function(0).expect("no compile error");
|
||||||
|
|
||||||
let res = run_for_ms(&mut node_exec, 25.0);
|
let res = run_for_ms(&mut node_exec, 25.0);
|
||||||
assert_decimated_feq!(
|
assert_decimated_feq!(res.0, 50, vec![0.2; 100]);
|
||||||
res.0,
|
|
||||||
50,
|
|
||||||
vec![
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
0.1,
|
|
||||||
]
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue