comparison liboctave/dMatrix.cc @ 1195:0da1cc2c1947

[project @ 1995-03-31 16:11:43 by jwe]
author jwe
date Fri, 31 Mar 1995 16:16:34 +0000
parents b6360f2d4fa6
children 8302fab9fe24
comparison
equal deleted inserted replaced
1194:621fef7bcca1 1195:0da1cc2c1947
581 double *z = new double [nr]; 581 double *z = new double [nr];
582 double *tmp_data = dup (data (), len); 582 double *tmp_data = dup (data (), len);
583 583
584 F77_FCN (dgeco) (tmp_data, &nr, &nc, ipvt, &rcond, z); 584 F77_FCN (dgeco) (tmp_data, &nr, &nc, ipvt, &rcond, z);
585 585
586 volatile double tmp_rcond = rcond; 586 volatile double rcond_plus_one = rcond + 1.0;
587 if (tmp_rcond + 1.0 == 1.0) 587 if (rcond_plus_one == 1.0)
588 { 588 {
589 info = -1; 589 info = -1;
590 copy (tmp_data, data (), len); // Restore matrix contents. 590 copy (tmp_data, data (), len); // Restore matrix contents.
591 } 591 }
592 else 592 else
852 double *z = new double [nr]; 852 double *z = new double [nr];
853 double *tmp_data = dup (data (), length ()); 853 double *tmp_data = dup (data (), length ());
854 854
855 F77_FCN (dgeco) (tmp_data, &nr, &nr, ipvt, &rcond, z); 855 F77_FCN (dgeco) (tmp_data, &nr, &nr, ipvt, &rcond, z);
856 856
857 volatile double tmp_rcond = rcond; 857 volatile double rcond_plus_one = rcond + 1.0;
858 if (tmp_rcond + 1.0 == 1.0) 858 if (rcond_plus_one == 1.0)
859 { 859 {
860 info = -1; 860 info = -1;
861 retval = DET (); 861 retval = DET ();
862 } 862 }
863 else 863 else
911 double *z = new double [nr]; 911 double *z = new double [nr];
912 double *tmp_data = dup (data (), length ()); 912 double *tmp_data = dup (data (), length ());
913 913
914 F77_FCN (dgeco) (tmp_data, &nr, &nr, ipvt, &rcond, z); 914 F77_FCN (dgeco) (tmp_data, &nr, &nr, ipvt, &rcond, z);
915 915
916 volatile double tmp_rcond = rcond; 916 volatile double rcond_plus_one = rcond + 1.0;
917 if (tmp_rcond + 1.0 == 1.0) 917 if (rcond_plus_one == 1.0)
918 { 918 {
919 info = -2; 919 info = -2;
920 } 920 }
921 else 921 else
922 { 922 {
993 double *z = new double [nr]; 993 double *z = new double [nr];
994 double *tmp_data = dup (data (), length ()); 994 double *tmp_data = dup (data (), length ());
995 995
996 F77_FCN (dgeco) (tmp_data, &nr, &nr, ipvt, &rcond, z); 996 F77_FCN (dgeco) (tmp_data, &nr, &nr, ipvt, &rcond, z);
997 997
998 volatile double tmp_rcond = rcond; 998 volatile double rcond_plus_one = rcond + 1.0;
999 if (tmp_rcond + 1.0 == 1.0) 999 if (rcond_plus_one == 1.0)
1000 { 1000 {
1001 info = -2; 1001 info = -2;
1002 } 1002 }
1003 else 1003 else
1004 { 1004 {