#!/bin/bash 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 \"multi_array_header.h\"" >> ${file} echo "#include \"high_level_operation.h\"" >> ${file} echo "" >> ${file} echo "namespace MultiArrayTools" >> ${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 ${fff} echo "#include \"multi_array_header.h\"" >> ${file} echo "#include \"high_level_operation.h\"" >> ${file} echo "" >> ${file} echo "namespace MultiArrayTools" >> ${file} echo "{" >> ${file} echo " template class HighLevelOp,2>;" >> ${file} echo " template class HighLevelOp,2>;" >> ${file} echo "}" >> ${file} done