Skip to content
This repository
Browse code

MAINT: arpack: disable single-precision eigs/eigsh routines on all pl…

…atforms.

Failures, hangs and crashes have been reported on both 64-bit OS X and multiple
Linux systems.  Until the cause of this is found, these routines should remain
disabled.
  • Loading branch information...
commit 8d749358d11849327c330ab7c15d2d060c74405d 1 parent 4227f33
Ralf Gommers authored February 04, 2012

Showing 1 changed file with 10 additions and 10 deletions. Show diff stats Hide diff stats

  1. 20  scipy/sparse/linalg/eigen/arpack/arpack.py
20  scipy/sparse/linalg/eigen/arpack/arpack.py
@@ -55,16 +55,16 @@
55 55
 from scipy.linalg.lapack import get_lapack_funcs
56 56
 
57 57
 
58  
-def _darwin_cast(typechar):
  58
+def _single_precision_cast(typechar):
59 59
     # This check is required, for now, because we have unresolved crashes
60  
-    # occurring in single precision Veclib routines, on 64-bit OSX.
61  
-    # When these crashes are resolved, this restriction can be removed.
62  
-    if sys.platform == 'darwin' or True:
63  
-        if typechar in ('f', 'F'):
64  
-            warnings.warn("Single-precision types in `eigs` and `eighs` "
65  
-                          "are not supported on the OSX platform currently. "
66  
-                          "Double precision routines are used instead.")
67  
-            return {'f': 'd', 'F': 'D'}[typechar]
  60
+    # occurring in single precision Veclib routines, on at least 64-bit OSX
  61
+    # and some Linux systems.  When these crashes are resolved, this
  62
+    # restriction can be removed.
  63
+    if typechar in ('f', 'F'):
  64
+        warnings.warn("Single-precision types in `eigs` and `eighs` "
  65
+                      "are not supported currently. "
  66
+                      "Double precision routines are used instead.")
  67
+        return {'f': 'd', 'F': 'D'}[typechar]
68 68
     return typechar
69 69
 
70 70
 
@@ -326,7 +326,7 @@ def __init__(self, n, k, tp, mode=1, sigma=None,
326 326
         if tp not in 'fdFD':
327 327
             raise ValueError("matrix type must be 'f', 'd', 'F', or 'D'")
328 328
 
329  
-        tp = _darwin_cast(tp)
  329
+        tp = _single_precision_cast(tp)
330 330
 
331 331
         if v0 is not None:
332 332
             # ARPACK overwrites its initial resid,  make a copy

0 notes on commit 8d74935

Please sign in to comment.
Something went wrong with that request. Please try again.