Doxygen Source Code Documentation
        
Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals   Search   
eis_rs.c
Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 #include "f2c.h"
00007 
00008  int rs_(integer *nm, integer *n, doublereal *a, doublereal *
00009         w, integer *matz, doublereal *z__, doublereal *fv1, doublereal *fv2, 
00010         integer *ierr)
00011 {
00012     
00013     integer a_dim1, a_offset, z_dim1, z_offset;
00014 
00015     
00016     extern  int tred1_(integer *, integer *, doublereal *, 
00017             doublereal *, doublereal *, doublereal *), tred2_(integer *, 
00018             integer *, doublereal *, doublereal *, doublereal *, doublereal *)
00019             , tqlrat_(integer *, doublereal *, doublereal *, integer *), 
00020             tql2_(integer *, integer *, doublereal *, doublereal *, 
00021             doublereal *, integer *);
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 
00042 
00043 
00044 
00045 
00046 
00047 
00048 
00049 
00050 
00051 
00052 
00053 
00054 
00055 
00056 
00057 
00058 
00059 
00060 
00061 
00062 
00063 
00064 
00065     
00066     --fv2;
00067     --fv1;
00068     z_dim1 = *nm;
00069     z_offset = z_dim1 + 1;
00070     z__ -= z_offset;
00071     --w;
00072     a_dim1 = *nm;
00073     a_offset = a_dim1 + 1;
00074     a -= a_offset;
00075 
00076     
00077     if (*n <= *nm) {
00078         goto L10;
00079     }
00080     *ierr = *n * 10;
00081     goto L50;
00082 
00083 L10:
00084     if (*matz != 0) {
00085         goto L20;
00086     }
00087 
00088     tred1_(nm, n, &a[a_offset], &w[1], &fv1[1], &fv2[1]);
00089     tqlrat_(n, &w[1], &fv2[1], ierr);
00090     goto L50;
00091 
00092 L20:
00093     tred2_(nm, n, &a[a_offset], &w[1], &fv1[1], &z__[z_offset]);
00094     tql2_(nm, n, &w[1], &fv1[1], &z__[z_offset], ierr);
00095 L50:
00096     return 0;
00097 } 
00098