/* Author: G. Jungman * RCS: $Id: eigen_sort.c,v 1.3 1999/10/19 19:46:06 jungman Exp $ */ #include #include #include #include "gsl_eigen.h" /* The eigen_sort_impl below is not very good, but it is * simple and self-contained. We can implement an * eigen_qsort_impl later by creating an array of * struct { val, index } and sorting those using * standard library qsort(). */ int gsl_eigen_sort_impl(gsl_vector * eval, gsl_matrix * evec, gsl_eigen_sort_t sort_type) { if(eval == 0 || evec == 0) { return GSL_EFAULT; } else if(evec->size1 != evec->size2 || eval->size != evec->size1) { return GSL_EBADLEN; } else { int N = eval->size; int i; for(i=0; i