summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/main.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/asymptote/main.cc')
-rw-r--r--Build/source/utils/asymptote/main.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/Build/source/utils/asymptote/main.cc b/Build/source/utils/asymptote/main.cc
index 4361e3dce42..c2b7b627bba 100644
--- a/Build/source/utils/asymptote/main.cc
+++ b/Build/source/utils/asymptote/main.cc
@@ -44,6 +44,10 @@
#include "interact.h"
#include "fileio.h"
+#ifdef HAVE_LIBFFTW3
+#include "fftw++.h"
+#endif
+
#ifdef HAVE_LSP
#include "lspserv.h"
#endif
@@ -114,6 +118,9 @@ void signalHandler(int)
void interruptHandler(int)
{
+#ifdef HAVE_LIBFFTW3
+ fftwpp::saveWisdom();
+#endif
em.Interrupt(true);
}
@@ -140,6 +147,7 @@ void *asymain(void *A)
setsignal(signalHandler);
Args *args=(Args *) A;
fpu_trap(trap());
+ fftwpp::wisdomName=".wisdom";
if(interactive) {
Signal(SIGINT,interruptHandler);
@@ -193,9 +201,10 @@ void *asymain(void *A)
} else {
for(int ind=0; ind < n; ind++) {
string name=(getArg(ind));
- if(name == stripExt(name)+".v3d") {
+ string prefix=stripExt(name);
+ if(name == prefix+".v3d") {
interact::uptodate=false;
- runString("import v3d; defaultfilename=\""+stripDir(name)+
+ runString("import v3d; defaultfilename=\""+stripDir(prefix)+
"\"; importv3d(\""+name+"\");");
} else
processFile(name,n > 1);