Open demisjohn opened 6 years ago
A workaround may be to use the number 3 instead of "full", as I believe this is just an enumerated enum
in C or something.
See camfr_wrap.cpp
, and search for full
30415335d12ad3bc2ea304a3b76d37845a38a9e3 fixes the numpy *
stomping on full
ModeSolver option.
Still have a few more include files to remove the global numpy import from, and also must runs testsuite to confirm it didn't break anything.
The last global import is in __init__.py
, where it calls from pylab import *
. Not sure which modules use this.
This does actually generate a full()
function from numpy, but _camfr.so
is loaded afterwards, so CAMFR stomps on numpy's full
function, so CAMFR works as expected when run with import camfr as *
.
Should remove this line, but find out where it is used first to see if it'll break anything.
From @demisjohn on February 28, 2018 9:38
the module repeatedly calls
from numpy import *
, which, aside from being bad practice, actually has stomped on one of it's own functions.The camfr function
full()
, as inset_mode_correct(full)
, has been replaced bynumpy.full()
(which presumably didn't exist in ~2005). This now pops an error.Must go thru the python files and replace the import statement with
import numpy as np
and go through to prepend all numpy functions withnp.
!Copied from original issue: demisjohn/CAMFR#5