#!/bin/sh
# display the frequency

#MODE=SIMPLE
MODE=SAMPLE

if [ $MODE = SIMPLE ];  then
    while : ; do
        DATE=`date '+%H:%M:%S'`
        FREQ=`sysctl -n dev.cpu.0.freq`
        Y=$((FREQ / 100))
        printf "%s " $DATE
        printf "%*s%s\n" $Y "" $FREQ | sed 's/ /=/g'
        sleep 1
    done
else
    N=4
    D=`echo 3k 1 $N / p | dc`

    while : ; do
        DATE=`date '+%H:%M:%S'`

        FREQ_TOT=0
        I=$N
        while [ $I -gt 0 ]; do
            FREQ=`sysctl -n dev.cpu.0.freq`
            FREQ_TOT=$((FREQ_TOT + FREQ))
            sleep $D
            I=$((I - 1))
        done
        FREQ_AVE=$((FREQ_TOT / N))
        Y=$((FREQ_AVE / 100))

        printf "%s " $DATE
        printf "%*s%s\n" $Y "" $FREQ_AVE | sed 's/ /=/g'
    done
fi