#!/bin/sh

# Test vtfilter eqmap and mixer

. ./testlib

cleanup(){
   rm -f $TMP.eqmap
}

vtmix_test(){
   t=$1
   m=$2
   r=$3
   a=$4

   F=2000
   set -- `vtgen -r48000 -sa=1.0,f=$F,p=00 -Tnow,+3 -c2 |
           vtmix -c$m |
           vtnspec -f $F -r 0.25 |
           awk '{printf( "%.1f %.3e\n", 1e-6 + atan2( $3, $2) * 180/3.14159, $4 )}'`

   test "$1" = $r
   result "${t}a $1"

   test "$2" = "$a"
   result "${t}b $2"
}

vtmix_test tv1 1,1 0.0 1.414e+00
vtmix_test tv2 1.5,j 33.7 1.275e+00
vtmix_test tv3 -j,1.5 -33.7 1.275e+00
vtmix_test tv4 -j,j 0.0 0.000e+00
vtmix_test tv5 0,1/45 45.0 7.071e-01

echo "0    1/-5
      2000 1/-5
      3000 j
      4000 j
      5000 -j
      6000 -j
      7000 1/40
      8000 1/40
      24000 1" > $TMP.eqmap

eqmap_test(){
   t=$1
   F=$2
   r=$3
   set -- `vtgen -r48000 -sa=1.0,f=$F,p=00 -Tnow,+3 |
           vtfilter -e $TMP.eqmap |
           vtnspec -f $F -r 0.25 |
           awk '{printf( "%.1f %.3e\n", atan2( $3, $2) * 180/3.14159, $4 )}'`

   test "$1" = $r
   result "${t}a $1"

   test "$2" = "7.071e-01"
   result "${t}b $2"
}

eqmap_test te1 1000 -5.0
eqmap_test te2 3500 90.0
eqmap_test te3 5500 -90.0
eqmap_test te3 7500 40.0

cleanup

