1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
#!/usr/bin/env bash
# make function to require argument count (e.g. sym)
mode=$1
nargs=$#
set -e
function require_num() {
local num=$1
if let $(($num != $nargs)); then
echo "mode $mode needs $num arguments (see -h)"
false
fi
}
case "$mode" in
################################
gr)
export MCLXIOVERBOSITY=2
shift 1
for mx in $@; do
echo $mx
echo -n " "
mcxdump -imx $mx --no-values --dump-rlines -o - \
| perl -ne '$x = s/(\w+)//g; print $x, "\n";' \
| sort -n | tr '\n' ' '
echo
done
;;
################################
sym)
require_num 3
mx=$2
check=$3
mcx /$mx lm tp -1 mul add /$check wm
;;
################################
grok)
require_num 5
cl=$2
mx=$3
nsm=$4
ccm=$5
mcx /$cl lm tp /$mx lm st mul dup st /$nsm wm pop exch mul st /$ccm wm
;;
################################
-h)
cat <<EOU
Usage:
clxdo gr <cl-file> # show size distribution (granularity)
clxdo sym <mx-file> <check-file> # check symmetry.
clxdo grok <cl-file> <mx-file> <nsm-name> <ccm-name> # node-cl and cl-cl
EOU
exit
;;
esac
|