X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tools%2Fctsimtext.cpp;h=be55b6ac8bcb36401cf29cb34d94935eb78c91ea;hb=d6553a81511f34757633399daec36cbe6ebd86ba;hp=ae89495cc2fe5232bbaffe30125609416cb812c5;hpb=8a7697ce57b56cdc43698cd1241ad98d49f9b5ac;p=ctsim.git diff --git a/tools/ctsimtext.cpp b/tools/ctsimtext.cpp index ae89495..be55b6a 100644 --- a/tools/ctsimtext.cpp +++ b/tools/ctsimtext.cpp @@ -117,7 +117,7 @@ int ctsimtext_main (int argc, char * argv[]) { int iReturn = 0; - + if (argc > 1 && (strcmp(s_szProgramName, fileBasename (argv[0])) == 0 || strcmp(s_szProgramName2, fileBasename (argv[0])) == 0 || strcmp(s_szProgramName3, fileBasename (argv[0])) == 0)) { argv++; argc--; @@ -291,9 +291,41 @@ processCommand (int argc, char* const argv[]) int main (int argc, char* argv[]) { - int retval = 1; +#if defined(HAVE_FFTW) && defined(HAVE_GETENV) + const char* const pszHome = getenv("HOME"); + char* pszWisdom = NULL; + + if (pszHome) { + const char szFileBase[] = ".fftw3-wisdom"; + int nHome = strlen(pszHome); + int nBase = strlen(szFileBase); + int len = nHome + nBase + 1; + pszWisdom = new char [ len + 1 ]; + strcpy (pszWisdom, pszHome); + pszWisdom[nHome] = '/'; + strcpy(pszWisdom+nHome+1,szFileBase); + pszWisdom[nHome+nBase+2] = 0; + + FILE *wisdom = fopen(pszWisdom,"r"); + if (wisdom) { + fftw_import_wisdom_from_file(wisdom); + fclose(wisdom); + } + } +#endif + + int retval = ctsimtext_main(argc, argv); - retval = ctsimtext_main(argc, argv); +#if defined(HAVE_FFTW) && defined(HAVE_GETENV) + if (pszWisdom) { + FILE* wisdom = fopen(pszWisdom,"w+"); + if (wisdom) { + fftw_export_wisdom_to_file(wisdom); + fclose(wisdom); + delete [] pszWisdom; + } + } +#endif return retval; }