xref: /aosp_15_r20/external/pffft/plots.sh (revision 3f1979aa0d7ad34fcf3763de7b7b8f8cd67e5bdd)
1*3f1979aaSAndroid Build Coastguard Worker#!/bin/bash
2*3f1979aaSAndroid Build Coastguard Worker
3*3f1979aaSAndroid Build Coastguard WorkerOUTPNG="1"
4*3f1979aaSAndroid Build Coastguard WorkerW="1024"
5*3f1979aaSAndroid Build Coastguard WorkerH="768"
6*3f1979aaSAndroid Build Coastguard WorkerPTS="20"
7*3f1979aaSAndroid Build Coastguard WorkerLWS="20"
8*3f1979aaSAndroid Build Coastguard Worker
9*3f1979aaSAndroid Build Coastguard Workerfor f in $(ls -1 *-4-*.csv *-6-*.csv); do
10*3f1979aaSAndroid Build Coastguard Worker  b=$(basename "$f" ".csv")
11*3f1979aaSAndroid Build Coastguard Worker  #echo $b
12*3f1979aaSAndroid Build Coastguard Worker  LASTCOL="$(head -n 1 $f |sed 's/,/,\n/g' |grep -c ',')"
13*3f1979aaSAndroid Build Coastguard Worker  echo "${b}: last column is $LASTCOL"
14*3f1979aaSAndroid Build Coastguard Worker  if [ $(echo "$b" |grep -c -- "-1-") -gt 0 ]; then
15*3f1979aaSAndroid Build Coastguard Worker    YL="duration in ms; less is better"
16*3f1979aaSAndroid Build Coastguard Worker  elif [ $(echo "$b" |grep -c -- "-4-") -gt 0 ]; then
17*3f1979aaSAndroid Build Coastguard Worker    YL="duration relative to pffft; less is better"
18*3f1979aaSAndroid Build Coastguard Worker  else
19*3f1979aaSAndroid Build Coastguard Worker    YL=""
20*3f1979aaSAndroid Build Coastguard Worker  fi
21*3f1979aaSAndroid Build Coastguard Worker
22*3f1979aaSAndroid Build Coastguard Worker  E=""
23*3f1979aaSAndroid Build Coastguard Worker  if [ "${OUTPNG}" = "1" ]; then
24*3f1979aaSAndroid Build Coastguard Worker    E="set terminal png size $W,$H"
25*3f1979aaSAndroid Build Coastguard Worker    E="${E} ; set output '${b}.png'"
26*3f1979aaSAndroid Build Coastguard Worker  fi
27*3f1979aaSAndroid Build Coastguard Worker  if [ -z "${E}" ]; then
28*3f1979aaSAndroid Build Coastguard Worker    E="set key outside"
29*3f1979aaSAndroid Build Coastguard Worker  else
30*3f1979aaSAndroid Build Coastguard Worker    E="${E} ; set key outside"
31*3f1979aaSAndroid Build Coastguard Worker  fi
32*3f1979aaSAndroid Build Coastguard Worker  E="${E} ; set datafile separator ','"
33*3f1979aaSAndroid Build Coastguard Worker  E="${E} ; set title '${b}'"
34*3f1979aaSAndroid Build Coastguard Worker  E="${E} ; set xlabel 'fft order: fft size N = 2\\^order'"
35*3f1979aaSAndroid Build Coastguard Worker  if [ ! -z "${YL}" ]; then
36*3f1979aaSAndroid Build Coastguard Worker    #echo "  setting  Y label to ${YL}"
37*3f1979aaSAndroid Build Coastguard Worker    E="${E} ; set ylabel '${YL}'"
38*3f1979aaSAndroid Build Coastguard Worker  fi
39*3f1979aaSAndroid Build Coastguard Worker  # unfortunately no effect for
40*3f1979aaSAndroid Build Coastguard Worker  #for LNO in $(seq 1 ${LASTCOL}) ; do
41*3f1979aaSAndroid Build Coastguard Worker  #  E="${E} ; set style line ${LNO} ps ${PTS} lw ${LWS}"
42*3f1979aaSAndroid Build Coastguard Worker  #done
43*3f1979aaSAndroid Build Coastguard Worker  E="${E} ; plot for [col=3:${LASTCOL}] '${f}' using 2:col with lines title columnhead"
44*3f1979aaSAndroid Build Coastguard Worker
45*3f1979aaSAndroid Build Coastguard Worker  if [ "${OUTPNG}" = "1" ]; then
46*3f1979aaSAndroid Build Coastguard Worker    gnuplot -e "${E}"
47*3f1979aaSAndroid Build Coastguard Worker  else
48*3f1979aaSAndroid Build Coastguard Worker    gnuplot -e "${E}" --persist
49*3f1979aaSAndroid Build Coastguard Worker  fi
50*3f1979aaSAndroid Build Coastguard Workerdone
51