Browse Source

remove globals

Konstantin Ladutenko 6 years ago
parent
commit
1f2cd981fd
2 changed files with 10 additions and 6 deletions
  1. 2 4
      examples/calc-spectra.py
  2. 8 2
      scattnlay/main.py

+ 2 - 4
examples/calc-spectra.py

@@ -35,7 +35,8 @@ import matplotlib.pyplot as plt
 import numpy as np
 import cmath
 
-#switch_to_multiple_precision()
+
+switch_to_multiple_precision()
 from_WL = 400
 to_WL = 800
 WL_points= 100
@@ -49,14 +50,11 @@ m = np.ones((1), dtype = np.complex128)
 core_r = 45000
 
 
-
 Qsca_vec = []
 core_r_vec = []
 an_vec = []
 bn_vec = []
 
-
-
 for WL in WLs:
     x[0] = 2.0*np.pi*core_r/WL#/4.0*3.0
     m[0] = index_NP

+ 8 - 2
scattnlay/main.py

@@ -32,15 +32,21 @@
 
 from scattnlay_ import scattcoeffs_, scattnlay_,  fieldnlay_
 import numpy as np
+import sys
+
 
 def switch_to_double_precision():
-    global scattcoeffs_, scattnlay_,  fieldnlay_
     from scattnlay_ import scattcoeffs_, scattnlay_,  fieldnlay_
+    sys.modules['scattnlay.main'].scattnlay_ = scattnlay_
+    sys.modules['scattnlay.main'].scattcoeffs_ = scattcoeffs_
+    sys.modules['scattnlay.main'].fieldnlay_ = fieldnlay_
 
 
 def switch_to_multiple_precision():
-    global scattcoeffs_, scattnlay_,  fieldnlay_
     from scattnlay_mp_ import scattcoeffs_, scattnlay_,  fieldnlay_
+    sys.modules['scattnlay.main'].scattnlay_ = scattnlay_
+    sys.modules['scattnlay.main'].scattcoeffs_ = scattcoeffs_
+    sys.modules['scattnlay.main'].fieldnlay_ = fieldnlay_
 
 
 def scattcoeffs(x, m, nmax=-1, pl=-1):