#!/bin/bash mkdir -p hl_ops for x in $(cat ../include/extensions/math.h) ; do test "${x}" = "#ifdef" && continue test "${x}" = "#endif" && continue test "${x}" = "regFunc1" && continue xx=${x#regFunc1\(} fff=${xx%\)} file=hl_ops/${fff}.cc test -f ${file} && rm -f ${file} echo "#include \"cnorxz.h\"" >> ${file} echo "#include \"hl_cnorxz.h\"" >> ${file} echo "" >> ${file} echo "namespace CNORXZ" >> ${file} echo "{" >> ${file} echo " template class HighLevelOp,1>;" >> ${file} echo " template class HighLevelOp,1>;" >> ${file} echo " template HighLevelOpHolder hl_${fff} (const HighLevelOpHolder& in);" >> ${file} echo " template HighLevelOpHolder hl_${fff} (const HighLevelOpHolder& in);" >> ${file} echo "}" >> ${file} done for fff in plus minus multiplies divides ; do file=hl_ops/${fff}.cc test -f ${file} && rm -f ${file} echo "#include \"cnorxz.h\"" >> ${file} echo "#include \"hl_cnorxz.h\"" >> ${file} echo "" >> ${file} echo "namespace CNORXZ" >> ${file} echo "{" >> ${file} echo " template class HighLevelOp,2>;" >> ${file} echo " template class HighLevelOp,2>;" >> ${file} echo "}" >> ${file} done for fff in negate ; do file=hl_ops/${fff}.cc test -f ${file} && rm -f ${file} echo "#include \"cnorxz.h\"" >> ${file} echo "#include \"hl_cnorxz.h\"" >> ${file} echo "" >> ${file} echo "namespace CNORXZ" >> ${file} echo "{" >> ${file} echo " template class HighLevelOp,1>;" >> ${file} echo " template class HighLevelOp,1>;" >> ${file} echo "}" >> ${file} done