I have made a start with creating the bindings for the HSEQR functions for LAPACK.  They are not complete; I was hoping someone could provide some feedback and advice.  Currently I have implemented only one (double) of the four (float, double, complex<float>, complex<double>) versions.  I have tried to follow the example in the geev.hpp file for much of my work.  

My current problem is trying to differentiate between the different types (e.g. double vs. complex<double>).  I know this can be handled with templates, but I'm not exactly sure how this should be taken care of.  Can someone look at my attempt and either tell me to give up or how to proceed?

I have attached a diff file from my version to the current svn version as well as my added hseqr.hpp file and a simple test main.  

Thanks,
Jeremy Conlin