diff src/DLD-FUNCTIONS/colamd.cc @ 5451:ed08548b9054

[project @ 2005-09-15 19:52:50 by jwe]
author jwe
date Thu, 15 Sep 2005 19:52:50 +0000
parents b73d469ef0c9
children b4cfbb0ec8c4
line wrap: on
line diff
--- a/src/DLD-FUNCTIONS/colamd.cc	Thu Sep 15 15:36:26 2005 +0000
+++ b/src/DLD-FUNCTIONS/colamd.cc	Thu Sep 15 19:52:50 2005 +0000
@@ -40,10 +40,7 @@
 #include "ov-re-sparse.h"
 #include "ov-cx-sparse.h"
 
-// External COLAMD functions in C
-extern "C" {
-#include "COLAMD/colamd.h"
-}
+#include "oct-sparse.h"
 
 #ifdef IDX_TYPE_LONG
 #define COLAMD_NAME(name) colamd_l ## name
@@ -270,11 +267,14 @@
 @seealso{colperm, symamd}")
 {
   octave_value_list retval;
+
+#ifdef HAVE_COLAMD
+
   int nargin = args.length ();
   int spumoni = 0;
  
   if (nargout < 0 || nargout > 2 || nargin < 0 || nargin > 2)
-    usage ("colamd: incorrect number of input and/or output arguments");
+    print_usage ("colamd");
   else
     {
       // Get knobs
@@ -428,6 +428,12 @@
 	}
     }
 
+#else
+
+  error ("colamd: not available in this version of Octave");
+
+#endif
+
   return retval;
 }
 
@@ -497,11 +503,14 @@
 @seealso{colperm, colamd}")
 {
   octave_value_list retval;
+
+#ifdef HAVE_COLAMD
+
   int nargin = args.length ();
   int spumoni = 0;
  
   if (nargout < 0 || nargout > 2 || nargin < 0 || nargin > 2)
-    usage ("symamd: incorrect number of input and/or output arguments");
+    print_usage ("symamd");
   else
     {
       // Get knobs
@@ -616,6 +625,12 @@
 	}
     }
 
+#else
+
+  error ("symamd: not available in this version of Octave");
+
+#endif
+
   return retval;
 }
 
@@ -640,7 +655,7 @@
   int nargin = args.length ();
 
   if (nargout < 0 || nargout > 2 || nargin < 0 || nargin > 2)
-    usage ("etree: incorrect number of input and/or output arguments");
+    print_usage ("etree");
   else
     {
       octave_idx_type n_row, n_col, nnz;