diff --git a/build_linux64/default.inp b/build_linux64/default.inp index 9072cea..7cf528d 100644 --- a/build_linux64/default.inp +++ b/build_linux64/default.inp @@ -30,4 +30,8 @@ nthreads = 256 isjulia = 0 juliac = 0.0, 0.0, 0.0 exponent = 8.0 +fractaliter = 64 +threshhold = 2.0 +freezethresh = 10.0 + diff --git a/build_linux64/libamscudafractallevelset.linux64.a b/build_linux64/libamscudafractallevelset.linux64.a index 930c1c9..7ad5794 100644 Binary files a/build_linux64/libamscudafractallevelset.linux64.a and b/build_linux64/libamscudafractallevelset.linux64.a differ diff --git a/build_linux64/objstore/amscufracls_parseinputfile.o b/build_linux64/objstore/amscufracls_parseinputfile.o index a77cf24..d3e069c 100644 Binary files a/build_linux64/objstore/amscufracls_parseinputfile.o and b/build_linux64/objstore/amscufracls_parseinputfile.o differ diff --git a/build_linux64/test b/build_linux64/test index 97a5741..b90562a 100644 Binary files a/build_linux64/test and b/build_linux64/test differ diff --git a/include/amscudafractallevelset/amscfls_functiondefs.cuh b/include/amscudafractallevelset/amscfls_functiondefs.cuh index f6deff0..27e84b4 100644 --- a/include/amscudafractallevelset/amscfls_functiondefs.cuh +++ b/include/amscudafractallevelset/amscfls_functiondefs.cuh @@ -5,10 +5,31 @@ struct main_functionpars { public: + //if I need it to go faster, I should make a seperate cutdown version int fractaliter; float threshold; float freezethresh; + //these are included for flexibility and can be cut later + float exponent; + bool isjulia; + cuvec3f juliac; }; #endif +#ifdef AMSCLS_PPKFRACTAL +struct main_functionpars +{ + public: + //if I need it to go faster, I should make a seperate cutdown version + int fractaliter; + float threshold; + float freezethresh; + //these are included for flexibility and can be cut later + float scale; + bool isjulia; + cuvec3f juliac; +}; + +#endif + #endif \ No newline at end of file diff --git a/include/amscudafractallevelset/amscfls_parseinput.cuh b/include/amscudafractallevelset/amscfls_parseinput.cuh index 6150770..b379e13 100644 --- a/include/amscudafractallevelset/amscfls_parseinput.cuh +++ b/include/amscudafractallevelset/amscfls_parseinput.cuh @@ -17,9 +17,15 @@ namespace fractallevelset int nblockdiv; int nthreads; + //function parameters bool isjulia; cuvec3f juliac; float exponent; + int fractaliter; + float threshold; + float freezethresh; + + float scale; diff --git a/include/amscudafractallevelset/amscudafractallevelset.cuh b/include/amscudafractallevelset/amscudafractallevelset.cuh index f8a344d..e0f5ec3 100644 --- a/include/amscudafractallevelset/amscudafractallevelset.cuh +++ b/include/amscudafractallevelset/amscudafractallevelset.cuh @@ -39,7 +39,6 @@ class cuvec4f; // #endif #define AMSCLS_MANDELBROT -//#define AMSCLS_JULIA //#define AMSCLS_PPKFRACTAL diff --git a/src/amscudafractallevelset/amscufracls_parseinputfile.cu b/src/amscudafractallevelset/amscufracls_parseinputfile.cu index 00bc33c..2b071b0 100644 --- a/src/amscudafractallevelset/amscufracls_parseinputfile.cu +++ b/src/amscudafractallevelset/amscufracls_parseinputfile.cu @@ -170,10 +170,18 @@ namespace fractallevelset parsearch_int("Nz",&stringpars,&(pars->Nz)); parsearch_int("nblockdiv",&stringpars,&(pars->nblockdiv)); parsearch_int("nthreads",&stringpars,&(pars->nthreads)); - parsearch_bool("juliac",&stringpars,&(pars->isjulia)); parsearch_int("operatingmode",&stringpars,&(pars->operatingmode)); parsearch_int("verbosity",&stringpars,&(pars->verbosity)); + parsearch_bool("isjulia",&stringpars,&(pars->isjulia)); + parsearch_cuvec3f("juliac",&stringpars,&(pars->juliac)); + parsearch_float("exponent",&stringpars,&(pars->exponent)); + parsearch_int("fractaliter",&stringpars,&(pars->fractaliter)); + parsearch_float("threshold",&stringpars,&(pars->threshold)); + parsearch_float("freezethresh",&stringpars,&(pars->freezethresh)); + parsearch_float("scale",&stringpars,&(pars->scale)); + + return ret; } @@ -197,7 +205,8 @@ namespace fractallevelset if(argc<2) { - + printf("useage: (execname) [inputfile.inp] [optional outputfile.stl]\n"); + return; } else { @@ -205,6 +214,24 @@ namespace fractallevelset if(res<0) return; } + #ifdef AMSCLS_MANDELBROT + mfpars.isjulia = pars.isjulia; + mfpars.juliac = pars.juliac; + mfpars.exponent = pars.exponent; + mfpars.fractaliter = pars.fractaliter; + mfpars.threshold = pars.threshold; + mfpars.freezethresh = pars.freezethresh; + #endif + + #ifdef AMSCLS_PPKFRACTAL + mfpars.isjulia = pars.isjulia; + mfpars.juliac = pars.juliac; + mfpars.fractaliter = pars.fractaliter; + mfpars.threshold = pars.threshold; + mfpars.freezethresh = pars.freezethresh; + mfpars.scale = pars.scale; + #endif + //Fill operatingstructs mtpars.xyz_min = pars.xyz_min; mtpars.xyz_max = pars.xyz_max;