├── .clang-format ├── .editorconfig ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ └── cmake.yml ├── .gitignore ├── .gitmodules ├── .mailmap ├── CMakeLists.txt ├── CMakePresets.json ├── LICENSE.txt ├── ReadMe.md ├── Style.md ├── cmake ├── misc_target.cmake ├── set_cxx_standard.cmake ├── target_folder.cmake └── vs_startup_project.cmake ├── config ├── CMakeLists.txt ├── driver_types.h.in ├── fdio.fcntl.h.in ├── fdio.io.h.in ├── filelength.io.h.in ├── filelength.stat.h.in ├── getpid.process.h.in ├── getpid.unistd.h.in ├── include │ └── config │ │ ├── port.h │ │ └── string_case_compare.h ├── path_limits.manual.h.in ├── path_limits.stdlib.h.in ├── port_config.h.in ├── string_case_compare.cpp ├── string_lower.cpp ├── string_lower.manual.h.in ├── string_lower.string.h.in └── tests │ ├── CMakeLists.txt │ └── test_string_case_compare.cpp ├── doc ├── CMakeLists.txt ├── ToDo.md ├── debug-flags.md ├── help-compiler.md └── known-bugs.md ├── hc ├── AsciiDocCompiler.cpp ├── AsciiDocCompiler.h ├── CMakeLists.txt ├── Compiler.cpp ├── Compiler.h ├── HelpCompiler.cpp ├── HelpCompiler.h ├── HelpSource.cpp ├── HelpSource.h ├── Options.cpp ├── Options.h ├── hc.cpp ├── messages.cpp ├── messages.h ├── modes.h ├── src │ ├── CMakeLists.txt │ ├── help.src │ ├── help2.src │ ├── help3.src │ ├── help4.src │ ├── help5.src │ └── images │ │ ├── thumbnails │ │ ├── type-barnsleyj1.png │ │ ├── type-barnsleyj2.png │ │ ├── type-barnsleyj3.png │ │ ├── type-barnsleym1.png │ │ ├── type-barnsleym2.png │ │ ├── type-barnsleym3.png │ │ ├── type-bif-eq-sinpi.png │ │ ├── type-bif-plus-sinpi.png │ │ ├── type-biflambda.png │ │ ├── type-bifmay.png │ │ ├── type-bifstewart.png │ │ ├── type-bifurcation.png │ │ ├── type-burning-ship.png │ │ ├── type-cellular.png │ │ ├── type-circle.png │ │ ├── type-cmplxmarksjul.png │ │ ├── type-cmplxmarksmand.png │ │ ├── type-complexbasin.png │ │ ├── type-complexnewton.png │ │ ├── type-diffusion.png │ │ ├── type-dividebrot5.png │ │ ├── type-dynamic.png │ │ ├── type-escher_julia.png │ │ ├── type-fn-mul-fn.png │ │ ├── type-fn-mul-z-plus-z.png │ │ ├── type-fn-plus-fn.png │ │ ├── type-fn-zsqr.png │ │ ├── type-fnz-plus-fnpixel.png │ │ ├── type-frothybasin.png │ │ ├── type-gingerbreadman.png │ │ ├── type-halley.png │ │ ├── type-henon.png │ │ ├── type-hopalong.png │ │ ├── type-hypercomplex.png │ │ ├── type-hypercomplexj.png │ │ ├── type-icons.png │ │ ├── type-icons3d.png │ │ ├── type-julfn-plus-exp.png │ │ ├── type-julfn-plus-zsqrd.png │ │ ├── type-julia-fn-or-fn.png │ │ ├── type-julia.png │ │ ├── type-julia4.png │ │ ├── type-julia_inverse.png │ │ ├── type-julibrot.png │ │ ├── type-julzpower.png │ │ ├── type-julzzpwr.png │ │ ├── type-kamtorus.png │ │ ├── type-kamtorus3d.png │ │ ├── type-lambda-fn-or-fn.png │ │ ├── type-lambda.png │ │ ├── type-lambdafn.png │ │ ├── type-latoocarfian.png │ │ ├── type-lorenz.png │ │ ├── type-lorenz3d.png │ │ ├── type-lyapunov.png │ │ ├── type-magnet1j.png │ │ ├── type-magnet1m.png │ │ ├── type-magnet2j.png │ │ ├── type-magnet2m.png │ │ ├── type-mandel-fn-or-fn.png │ │ ├── type-mandel.png │ │ ├── type-mandel4.png │ │ ├── type-mandelbrotmix4.png │ │ ├── type-mandelcloud.png │ │ ├── type-mandelfn.png │ │ ├── type-mandellambda.png │ │ ├── type-mandphoenix.png │ │ ├── type-mandphoenixclx.png │ │ ├── type-manfn-plus-exp.png │ │ ├── type-manfn-plus-zsqrd.png │ │ ├── type-manlam-fn-or-fn.png │ │ ├── type-manowar.png │ │ ├── type-manzpower.png │ │ ├── type-manzzpwr.png │ │ ├── type-marksjulia.png │ │ ├── type-marksmandel.png │ │ ├── type-marksmandelpwr.png │ │ ├── type-martin.png │ │ ├── type-newtbasin.png │ │ ├── type-newton.png │ │ ├── type-phoenix.png │ │ ├── type-phoenixcplx.png │ │ ├── type-pickover.png │ │ ├── type-plasma.png │ │ ├── type-popcorn.png │ │ ├── type-popcornjul.png │ │ ├── type-quat.png │ │ ├── type-quatjul.png │ │ ├── type-rossler3d.png │ │ ├── type-sierpinski.png │ │ ├── type-spider.png │ │ ├── type-sqr-1-over-fn.png │ │ ├── type-sqr-fn.png │ │ ├── type-tetrate.png │ │ ├── type-tims_error.png │ │ ├── type-unity.png │ │ └── type-volterra-lotka.png │ │ ├── type-barnsleyj1.png │ │ ├── type-barnsleyj2.png │ │ ├── type-barnsleyj3.png │ │ ├── type-barnsleym1.png │ │ ├── type-barnsleym2.png │ │ ├── type-barnsleym3.png │ │ ├── type-bif-eq-sinpi.png │ │ ├── type-bif-plus-sinpi.png │ │ ├── type-biflambda.png │ │ ├── type-bifmay.png │ │ ├── type-bifstewart.png │ │ ├── type-bifurcation.png │ │ ├── type-burning-ship.png │ │ ├── type-cellular.png │ │ ├── type-circle.png │ │ ├── type-cmplxmarksjul.png │ │ ├── type-cmplxmarksmand.png │ │ ├── type-complexbasin.png │ │ ├── type-complexnewton.png │ │ ├── type-diffusion.png │ │ ├── type-dividebrot5.png │ │ ├── type-dynamic.png │ │ ├── type-escher_julia.png │ │ ├── type-fn-mul-fn.png │ │ ├── type-fn-mul-z-plus-z.png │ │ ├── type-fn-plus-fn.png │ │ ├── type-fn-zsqr.png │ │ ├── type-fnz-plus-fnpixel.png │ │ ├── type-frothybasin.png │ │ ├── type-gingerbreadman.png │ │ ├── type-halley.png │ │ ├── type-henon.png │ │ ├── type-hopalong.png │ │ ├── type-hypercomplex.png │ │ ├── type-hypercomplexj.png │ │ ├── type-icons.png │ │ ├── type-icons3d.png │ │ ├── type-julfn-plus-exp.png │ │ ├── type-julfn-plus-zsqrd.png │ │ ├── type-julia-fn-or-fn.png │ │ ├── type-julia.png │ │ ├── type-julia4.png │ │ ├── type-julia_inverse.png │ │ ├── type-julibrot.png │ │ ├── type-julzpower.png │ │ ├── type-julzzpwr.png │ │ ├── type-kamtorus.png │ │ ├── type-kamtorus3d.png │ │ ├── type-lambda-fn-or-fn.png │ │ ├── type-lambda.png │ │ ├── type-lambdafn.png │ │ ├── type-latoocarfian.png │ │ ├── type-lorenz.png │ │ ├── type-lorenz3d.png │ │ ├── type-lyapunov.png │ │ ├── type-magnet1j.png │ │ ├── type-magnet1m.png │ │ ├── type-magnet2j.png │ │ ├── type-magnet2m.png │ │ ├── type-mandel-fn-or-fn.png │ │ ├── type-mandel.png │ │ ├── type-mandel4.png │ │ ├── type-mandelbrotmix4.png │ │ ├── type-mandelcloud.png │ │ ├── type-mandelfn.png │ │ ├── type-mandellambda.png │ │ ├── type-mandphoenix.png │ │ ├── type-mandphoenixclx.png │ │ ├── type-manfn-plus-exp.png │ │ ├── type-manfn-plus-zsqrd.png │ │ ├── type-manlam-fn-or-fn.png │ │ ├── type-manowar.png │ │ ├── type-manzpower.png │ │ ├── type-manzzpwr.png │ │ ├── type-marksjulia.png │ │ ├── type-marksmandel.png │ │ ├── type-marksmandelpwr.png │ │ ├── type-martin.png │ │ ├── type-newtbasin.png │ │ ├── type-newton.png │ │ ├── type-phoenix.png │ │ ├── type-phoenixcplx.png │ │ ├── type-pickover.png │ │ ├── type-plasma.png │ │ ├── type-popcorn.png │ │ ├── type-popcornjul.png │ │ ├── type-quat.png │ │ ├── type-quatjul.png │ │ ├── type-rossler3d.png │ │ ├── type-sierpinski.png │ │ ├── type-spider.png │ │ ├── type-sqr-1-over-fn.png │ │ ├── type-sqr-fn.png │ │ ├── type-tetrate.png │ │ ├── type-tims_error.png │ │ ├── type-unity.png │ │ └── type-volterra-lotka.png └── tests │ ├── CMakeLists.txt │ ├── ascii_doc │ ├── CMakeLists.txt │ ├── bullets.adoc │ ├── bullets.src │ ├── help_compare_test.cmake │ ├── keys.adoc │ ├── keys.src │ ├── links.adoc │ ├── links.src │ ├── sections.adoc │ ├── sections.src │ ├── table.adoc │ ├── table.src │ ├── toc.adoc │ └── toc.src │ ├── test_compiler.cpp │ ├── test_help_source.cpp │ └── test_parse_options.cpp ├── helpcom ├── CMakeLists.txt ├── helpcom.cpp └── include │ └── helpcom.h ├── home ├── CMakeLists.txt ├── demo.bat ├── extra │ ├── CMakeLists.txt │ ├── all_maps │ │ ├── 123maps │ │ │ ├── CMakeLists.txt │ │ │ ├── Carlson1.map │ │ │ ├── Gallet01.map │ │ │ ├── Gallet02.map │ │ │ ├── Gallet03.map │ │ │ ├── Gallet07.map │ │ │ ├── Gallet08.map │ │ │ ├── Gallet09.map │ │ │ ├── Gallet10.map │ │ │ ├── Lindaa11.map │ │ │ ├── Lindaa12.map │ │ │ ├── Morgen3.map │ │ │ ├── Wizzl011.map │ │ │ ├── Wizzl012.map │ │ │ ├── Wizzl013.map │ │ │ ├── droz12.map │ │ │ ├── droz34.map │ │ │ ├── droz35.map │ │ │ ├── droz49.map │ │ │ ├── droz54.map │ │ │ ├── droz56.map │ │ │ └── droz62.map │ │ ├── CMakeLists.txt │ │ ├── ReadMe.txt │ │ ├── blackmap │ │ │ ├── CMakeLists.txt │ │ │ ├── Gallet05.map │ │ │ ├── Gallet18.map │ │ │ ├── Lindaa03.map │ │ │ ├── Lindaa08.map │ │ │ ├── Wizzl014.map │ │ │ ├── Wizzl015.map │ │ │ ├── Wizzl016.map │ │ │ └── Wizzl020.map │ │ ├── jewelmap │ │ │ ├── CMakeLists.txt │ │ │ ├── Digiorg2.map │ │ │ ├── Lindaa02.map │ │ │ ├── Lindaa04.map │ │ │ ├── Lindaa09.map │ │ │ ├── Skydye12.map │ │ │ ├── Wizzl017.map │ │ │ ├── Wizzl018.map │ │ │ ├── Wizzl019.map │ │ │ ├── bud4.map │ │ │ ├── damien3.map │ │ │ ├── droz14.map │ │ │ ├── droz28.map │ │ │ ├── droz36.map │ │ │ └── droz40.map │ │ ├── midtones │ │ │ ├── CMakeLists.txt │ │ │ ├── Gallet04.map │ │ │ ├── Gallet11.map │ │ │ ├── Gallet12.map │ │ │ ├── Gallet13.map │ │ │ ├── Gallet14.map │ │ │ ├── Gallet15.map │ │ │ ├── Gallet16.map │ │ │ ├── Gallet17.map │ │ │ ├── Lindaa01.map │ │ │ ├── Lindaa05.map │ │ │ ├── Lindaa06.map │ │ │ ├── Lindaa07.map │ │ │ ├── Lindaa10.map │ │ │ ├── Morgan1.map │ │ │ ├── Morgan2.map │ │ │ ├── Morgan3.map │ │ │ ├── Skydye01.map │ │ │ ├── Skydye02.map │ │ │ ├── Skydye03.map │ │ │ ├── Skydye04.map │ │ │ ├── Skydye08.map │ │ │ ├── Skydye09.map │ │ │ ├── Skydye10.map │ │ │ ├── Skydye11.map │ │ │ ├── bud2.map │ │ │ ├── bud3.map │ │ │ ├── bud6.map │ │ │ ├── bud7.map │ │ │ ├── damien1.map │ │ │ ├── damien2.map │ │ │ ├── damien4.map │ │ │ ├── damien5.map │ │ │ ├── droz11.map │ │ │ ├── droz15.map │ │ │ ├── droz31.map │ │ │ ├── droz33.map │ │ │ ├── droz38.map │ │ │ ├── droz46.map │ │ │ ├── droz8.map │ │ │ └── drozdis1.map │ │ ├── shortmap │ │ │ ├── CMakeLists.txt │ │ │ ├── Gallet06.map │ │ │ ├── Lindaa15.map │ │ │ ├── Lindaa16.map │ │ │ ├── Lindaa17.map │ │ │ ├── bud5.map │ │ │ ├── droz10.map │ │ │ ├── droz13.map │ │ │ └── droz52.map │ │ ├── specimap │ │ │ ├── CMakeLists.txt │ │ │ ├── Lindaa14.map │ │ │ ├── Skydye05.map │ │ │ ├── droz21.map │ │ │ ├── droz23.map │ │ │ ├── droz39.map │ │ │ └── droz44.map │ │ └── stripmap │ │ │ ├── CMakeLists.txt │ │ │ ├── Digiorg1.map │ │ │ ├── Skydye06.map │ │ │ ├── Skydye07.map │ │ │ ├── droz22.map │ │ │ ├── droz60.map │ │ │ ├── lkmtch00.map │ │ │ ├── lkmtch01.map │ │ │ ├── lkmtch02.map │ │ │ ├── lkmtch03.map │ │ │ ├── lkmtch04.map │ │ │ ├── lkmtch05.map │ │ │ ├── lkmtch06.map │ │ │ ├── lkmtch07.map │ │ │ ├── lkmtch08.map │ │ │ ├── lkmtch09.map │ │ │ ├── lkmtch10.map │ │ │ ├── lkmtch11.map │ │ │ ├── lkmtch12.map │ │ │ ├── lkmtch13.map │ │ │ ├── lkmtch14.map │ │ │ ├── lkmtch15.map │ │ │ ├── lkmtch16.map │ │ │ ├── lkmtch17.map │ │ │ ├── lkmtch18.map │ │ │ └── lkmtch19.map │ ├── frmtutor.frm │ ├── frmtutor.txt │ ├── if_else.frm │ ├── if_else.txt │ ├── phctutor.frm │ └── phctutor.txt ├── formulas │ ├── CMakeLists.txt │ ├── MandelbrotDerivatives.frm │ ├── MossyFractalGarden.frm │ ├── example2.frm │ ├── example3.frm │ ├── fract001.frm │ ├── fract002.frm │ ├── fract003.frm │ ├── id.frm │ ├── ikenaga.frm │ ├── julitile.frm │ ├── mfr10.frm │ ├── new_if.frm │ └── newton.frm ├── id.cfg ├── ifs │ ├── CMakeLists.txt │ ├── hanmer.ifs │ └── id.ifs ├── key │ ├── CMakeLists.txt │ ├── advanced.key │ ├── auto.key │ ├── basic.key │ ├── demo1.key │ ├── demo2.key │ ├── demo3.key │ ├── demo4.key │ ├── explore.key │ └── sound_demo.key ├── lsystem │ ├── CMakeLists.txt │ ├── alpha01.l │ ├── cesaros.l │ ├── dekking.l │ ├── edragons.l │ ├── hanmer.l │ ├── hanmer1.l │ ├── hanmer2.l │ ├── hanmer3_0.l │ ├── hanmer4.l │ ├── hanmerc.l │ ├── horizons.l │ ├── id.l │ ├── jbartrol.l │ ├── lsysfp.l │ ├── maze09.l │ ├── mcworter.l │ ├── mcworter1.l │ ├── norton.l │ ├── oj-fibona.l │ ├── oj-plants.l │ ├── penrose.l │ ├── penrose2.l │ ├── rouse.l │ ├── teachout.l │ ├── tiling.l │ └── torres.l ├── maps │ ├── CMakeLists.txt │ ├── alpha01.map │ ├── altern.map │ ├── blues.map │ ├── chroma.map │ ├── default.map │ ├── firestrm.map │ ├── froth3.map │ ├── froth6.map │ ├── gamma1.map │ ├── gamma2.map │ ├── glasses1.map │ ├── glasses2.map │ ├── green.map │ ├── grey.map │ ├── grid.map │ ├── headache.map │ ├── landscap.map │ ├── lyapunov.map │ ├── neon.map │ ├── royal.map │ ├── topo.map │ └── volcano.map ├── pars │ ├── BurningShip.par │ ├── CMakeLists.txt │ ├── MossyFractalGarden.par │ ├── cellular.par │ ├── demo.par │ ├── example1.par │ ├── example2.par │ ├── example3.par │ ├── example4.par │ ├── icons.par │ ├── id.par │ ├── lyapunov.par │ ├── music.par │ ├── newphoen.par │ ├── orbits.par │ └── phoenix.par └── sstools.ini ├── legacy ├── dos │ ├── parsera.asm │ └── sound.c └── win │ ├── WINFRACT.C │ └── WINTEXT.C ├── libid ├── 3d │ ├── 3d.cpp │ ├── line3d.cpp │ └── plot3d.cpp ├── CMakeLists.txt ├── engine │ ├── PertEngine.cpp │ ├── bailout_formula.cpp │ ├── boundary_trace.cpp │ ├── calc_frac_init.cpp │ ├── calcfrac.cpp │ ├── calmanfp.cpp │ ├── check_key.cpp │ ├── convert_center_mag.cpp │ ├── convert_corners.cpp │ ├── diffusion_scan.cpp │ ├── engine_timer.cpp │ ├── find_extra_param.cpp │ ├── fractalb.cpp │ ├── fractals.cpp │ ├── get_julia_attractor.cpp │ ├── get_prec_big_float.cpp │ ├── jiim.cpp │ ├── log_map.cpp │ ├── one_or_two_pass.cpp │ ├── orbit.cpp │ ├── param_not_used.cpp │ ├── perturbation.cpp │ ├── pixel_grid.cpp │ ├── resume.cpp │ ├── soi.cpp │ ├── soi1.cpp │ ├── solid_guess.cpp │ ├── sticky_orbits.cpp │ ├── tesseral.cpp │ ├── type_has_param.cpp │ ├── wait_until.cpp │ └── work_list.cpp ├── fractals │ ├── ant.cpp │ ├── barnsley.cpp │ ├── bifurcation.cpp │ ├── burning_ship.cpp │ ├── cellular.cpp │ ├── check_orbit_name.cpp │ ├── circle_pattern.cpp │ ├── diffusion.cpp │ ├── divide_brot.cpp │ ├── escher.cpp │ ├── fn_or_fn.cpp │ ├── fractalp.cpp │ ├── fractype.cpp │ ├── frasetup.cpp │ ├── frothy_basin.cpp │ ├── halley.cpp │ ├── hypercomplex_mandelbrot.cpp │ ├── ifs.cpp │ ├── jb.cpp │ ├── lambda_fn.cpp │ ├── lorenz.cpp │ ├── lsys.cpp │ ├── lsysf.cpp │ ├── lyapunov.cpp │ ├── magnet.cpp │ ├── mandelbrot_mix.cpp │ ├── newton.cpp │ ├── parser.cpp │ ├── peterson_variations.cpp │ ├── phoenix.cpp │ ├── pickover_mandelbrot.cpp │ ├── plasma.cpp │ ├── popcorn.cpp │ ├── population.cpp │ ├── quartic_mandelbrot.cpp │ ├── quaternion_mandelbrot.cpp │ ├── sierpinski_gasket.cpp │ ├── taylor_skinner_variations.cpp │ ├── testpt.cpp │ ├── unity.cpp │ └── volterra_lotka.cpp ├── include │ ├── 3d │ │ ├── 3d.h │ │ ├── line3d.h │ │ └── plot3d.h │ ├── engine │ │ ├── PertEngine.h │ │ ├── Point.h │ │ ├── bailout_formula.h │ │ ├── boundary_trace.h │ │ ├── calc_frac_init.h │ │ ├── calcfrac.h │ │ ├── calmanfp.h │ │ ├── check_key.h │ │ ├── convert_center_mag.h │ │ ├── convert_corners.h │ │ ├── diffusion_scan.h │ │ ├── engine_timer.h │ │ ├── find_extra_param.h │ │ ├── fractalb.h │ │ ├── fractals.h │ │ ├── get_julia_attractor.h │ │ ├── get_prec_big_float.h │ │ ├── id_data.h │ │ ├── jiim.h │ │ ├── log_map.h │ │ ├── one_or_two_pass.h │ │ ├── orbit.h │ │ ├── param_not_used.h │ │ ├── perturbation.h │ │ ├── pixel_grid.h │ │ ├── pixel_limits.h │ │ ├── resume.h │ │ ├── soi.h │ │ ├── solid_guess.h │ │ ├── sticky_orbits.h │ │ ├── tesseral.h │ │ ├── type_has_param.h │ │ ├── wait_until.h │ │ └── work_list.h │ ├── fractals │ │ ├── ant.h │ │ ├── barnsley.h │ │ ├── bifurcation.h │ │ ├── burning_ship.h │ │ ├── cellular.h │ │ ├── check_orbit_name.h │ │ ├── circle_pattern.h │ │ ├── diffusion.h │ │ ├── divide_brot.h │ │ ├── escher.h │ │ ├── fn_or_fn.h │ │ ├── fractalp.h │ │ ├── fractype.h │ │ ├── frasetup.h │ │ ├── frothy_basin.h │ │ ├── halley.h │ │ ├── hypercomplex_mandelbrot.h │ │ ├── ifs.h │ │ ├── jb.h │ │ ├── lambda_fn.h │ │ ├── lorenz.h │ │ ├── lsys.h │ │ ├── lsys_fns.h │ │ ├── lyapunov.h │ │ ├── magnet.h │ │ ├── mandelbrot_mix.h │ │ ├── newton.h │ │ ├── parser.h │ │ ├── peterson_variations.h │ │ ├── phoenix.h │ │ ├── pickover_mandelbrot.h │ │ ├── plasma.h │ │ ├── popcorn.h │ │ ├── population.h │ │ ├── quartic_mandelbrot.h │ │ ├── quaternion_mandelbrot.h │ │ ├── sierpinski_gasket.h │ │ ├── taylor_skinner_variations.h │ │ ├── testpt.h │ │ ├── unity.h │ │ └── volterra_lotka.h │ ├── io │ │ ├── CurrentPathSaver.h │ │ ├── check_write_file.h │ │ ├── decode_info.h │ │ ├── decoder.h │ │ ├── dir_file.h │ │ ├── encoder.h │ │ ├── ends_with_slash.h │ │ ├── expand_dirname.h │ │ ├── extract_filename.h │ │ ├── file_gets.h │ │ ├── find_file.h │ │ ├── find_path.h │ │ ├── fix_dirname.h │ │ ├── get_disk_space.h │ │ ├── gif_file.h │ │ ├── gifview.h │ │ ├── has_ext.h │ │ ├── is_directory.h │ │ ├── is_writeable.h │ │ ├── load_config.h │ │ ├── load_entry_text.h │ │ ├── loadfile.h │ │ ├── loadmap.h │ │ ├── locate_input_file.h │ │ ├── make_path.h │ │ ├── merge_path_names.h │ │ ├── path_match.h │ │ ├── save_file.h │ │ ├── save_timer.h │ │ ├── search_path.h │ │ ├── special_dirs.h │ │ ├── split_path.h │ │ ├── trim_filename.h │ │ └── update_save_name.h │ ├── math │ │ ├── arg.h │ │ ├── big.h │ │ ├── biginit.h │ │ ├── cmplx.h │ │ ├── complex_fn.h │ │ ├── fixed_pt.h │ │ ├── fpu087.h │ │ ├── hcmplx.h │ │ ├── rand15.h │ │ ├── round_float_double.h │ │ ├── sign.h │ │ └── sqr.h │ ├── misc │ │ ├── Driver.h │ │ ├── ValueSaver.h │ │ ├── debug_flags.h │ │ ├── id.h │ │ ├── memory.h │ │ ├── sized_types.h │ │ ├── stack_avail.h │ │ ├── usec_clock.h │ │ └── version.h │ └── ui │ │ ├── ChoiceBuilder.h │ │ ├── cmdfiles.h │ │ ├── cmdfiles_test.h │ │ ├── comments.h │ │ ├── diskvid.h │ │ ├── do_pause.h │ │ ├── double_to_string.h │ │ ├── editpal.h │ │ ├── evolve.h │ │ ├── evolver_menu_switch.h │ │ ├── field_prompt.h │ │ ├── file_item.h │ │ ├── find_special_colors.h │ │ ├── flip_image.h │ │ ├── framain2.h │ │ ├── full_screen_choice.h │ │ ├── full_screen_prompt.h │ │ ├── get_3d_params.h │ │ ├── get_a_number.h │ │ ├── get_browse_params.h │ │ ├── get_calculation_time.h │ │ ├── get_cmd_string.h │ │ ├── get_commands.h │ │ ├── get_corners.h │ │ ├── get_fract_type.h │ │ ├── get_key_no_help.h │ │ ├── get_rds_params.h │ │ ├── get_sound_params.h │ │ ├── get_toggles.h │ │ ├── get_toggles2.h │ │ ├── get_video_mode.h │ │ ├── get_view_params.h │ │ ├── goodbye.h │ │ ├── help_title.h │ │ ├── history.h │ │ ├── id_keys.h │ │ ├── id_main.h │ │ ├── init_failure.h │ │ ├── input_field.h │ │ ├── intro.h │ │ ├── load_params.h │ │ ├── lowerize_parameter.h │ │ ├── main_menu.h │ │ ├── main_menu_switch.h │ │ ├── main_state.h │ │ ├── make_batch_file.h │ │ ├── make_mig.h │ │ ├── menu_handler.h │ │ ├── mouse.h │ │ ├── not_disk_msg.h │ │ ├── passes_options.h │ │ ├── put_string_center.h │ │ ├── read_ticker.h │ │ ├── rotate.h │ │ ├── select_video_mode.h │ │ ├── set_default_params.h │ │ ├── shell_sort.h │ │ ├── slideshw.h │ │ ├── sound.h │ │ ├── spindac.h │ │ ├── starfield.h │ │ ├── stereo.h │ │ ├── stop_msg.h │ │ ├── tab_display.h │ │ ├── temp_msg.h │ │ ├── text_screen.h │ │ ├── thinking.h │ │ ├── trig_fns.h │ │ ├── video.h │ │ ├── video_mode.h │ │ └── zoom.h ├── io │ ├── check_write_file.cpp │ ├── decode_info.cpp │ ├── decoder.cpp │ ├── dir_file.cpp │ ├── encoder.cpp │ ├── ends_with_slash.cpp │ ├── expand_dirname.cpp │ ├── file_gets.cpp │ ├── find_file.cpp │ ├── find_path.cpp │ ├── fix_dirname.cpp │ ├── get_disk_space.cpp │ ├── gif_file.cpp │ ├── gifview.cpp │ ├── has_ext.cpp │ ├── load_config.cpp │ ├── load_entry_text.cpp │ ├── loadfile.cpp │ ├── loadmap.cpp │ ├── locate_input_file.cpp │ ├── make_path.cpp │ ├── merge_path_names.cpp │ ├── path_match.cpp │ ├── save_file.cpp │ ├── save_timer.cpp │ ├── search_path.cpp │ ├── special_dirs.cpp │ ├── split_path.cpp │ ├── trim_filename.cpp │ └── update_save_name.cpp ├── math │ ├── arg.cpp │ ├── bigflt.cpp │ ├── biginit.cpp │ ├── bignum.cpp │ ├── bignumc.cpp │ ├── cmplx.cpp │ ├── fixed_pt.cpp │ ├── fpu087.cpp │ ├── hcmplx.cpp │ └── round_float_double.cpp ├── misc │ ├── Driver.cpp │ ├── debug_flags.cpp │ ├── memory.cpp │ └── version.cpp └── ui │ ├── cmdfiles.cpp │ ├── comments.cpp │ ├── diskvid.cpp │ ├── do_pause.cpp │ ├── double_to_string.cpp │ ├── editpal.cpp │ ├── evolve.cpp │ ├── evolver_menu_switch.cpp │ ├── field_prompt.cpp │ ├── file_item.cpp │ ├── find_special_colors.cpp │ ├── flip_image.cpp │ ├── framain2.cpp │ ├── full_screen_choice.cpp │ ├── full_screen_prompt.cpp │ ├── get_3d_params.cpp │ ├── get_a_number.cpp │ ├── get_browse_params.cpp │ ├── get_calculation_time.cpp │ ├── get_cmd_string.cpp │ ├── get_commands.cpp │ ├── get_corners.cpp │ ├── get_fract_type.cpp │ ├── get_key_no_help.cpp │ ├── get_rds_params.cpp │ ├── get_sound_params.cpp │ ├── get_toggles.cpp │ ├── get_toggles2.cpp │ ├── get_video_mode.cpp │ ├── get_view_params.cpp │ ├── goodbye.cpp │ ├── help.cpp │ ├── help_title.cpp │ ├── history.cpp │ ├── id_main.cpp │ ├── input_field.cpp │ ├── intro.cpp │ ├── load_params.cpp │ ├── lowerize_parameter.cpp │ ├── main_menu.cpp │ ├── main_menu_switch.cpp │ ├── make_batch_file.cpp │ ├── make_mig.cpp │ ├── menu_handler.cpp │ ├── mouse.cpp │ ├── not_disk_msg.cpp │ ├── passes_options.cpp │ ├── put_string_center.cpp │ ├── read_ticker.cpp │ ├── rotate.cpp │ ├── select_video_mode.cpp │ ├── set_default_params.cpp │ ├── shell_sort.cpp │ ├── slideshw.cpp │ ├── sound.cpp │ ├── spindac.cpp │ ├── starfield.cpp │ ├── stereo.cpp │ ├── stop_msg.cpp │ ├── tab_display.cpp │ ├── temp_msg.cpp │ ├── text_screen.cpp │ ├── thinking.cpp │ ├── trig_fns.cpp │ ├── video.cpp │ ├── video_mode.cpp │ └── zoom.cpp ├── packaging ├── CMakeLists.txt ├── ReadMe.txt ├── banner.png ├── dialog.png ├── github.ico ├── license.rtf ├── package_description.txt ├── patch.xml ├── shortcuts.xml └── welcome.txt ├── tests ├── CMakeLists.txt ├── ConfigureData.cmake ├── engine │ ├── test_log_map.cpp │ └── test_resume.cpp ├── expected_map.cpp ├── fractals │ ├── test_check_orbit_name.cpp │ ├── test_fractalp.cpp │ └── test_get_ifs_token.cpp ├── gif │ ├── barnsleyj1-int.gif │ ├── barnsleyj2-int.gif │ ├── barnsleyj3-int.gif │ ├── barnsleym1-int.gif │ ├── barnsleym2-int.gif │ ├── barnsleym3-int.gif │ ├── bifeqsinpi-int.gif │ ├── biflambda-int.gif │ ├── bifmay-int.gif │ ├── bifplussinpi-int.gif │ ├── bifstewart-int.gif │ ├── bifurcation-int.gif │ ├── extension1.gif │ ├── extension2.gif │ ├── extension3.gif │ ├── extension4.gif │ ├── extension5.gif │ ├── extension6.gif │ ├── extension7.gif │ ├── fnmulzz-int.gif │ ├── fnplusfn-int.gif │ ├── fntimesfn-int.gif │ ├── fnzfnpix-int.gif │ ├── formula-int.gif │ ├── frothybasin-int.gif │ ├── halleymp-int.gif │ ├── henon-int.gif │ ├── julfnplusexp-int.gif │ ├── julfnzsqrd-int.gif │ ├── julia-int.gif │ ├── julia4-int.gif │ ├── juliafnfn-int.gif │ ├── juliainverse-int.gif │ ├── julibrot-int.gif │ ├── julzpower-int.gif │ ├── kam-int.gif │ ├── kam3d-int.gif │ ├── lambda-int.gif │ ├── lambdafn-int.gif │ ├── lambdafnfn-int.gif │ ├── lorenz-int.gif │ ├── lorenz3d-int.gif │ ├── mandel-int.gif │ ├── mandel4-int.gif │ ├── mandelfn-int.gif │ ├── mandelfnfn-int.gif │ ├── mandellambda-int.gif │ ├── mandphoenix-int.gif │ ├── mandphoenixcmplx-int.gif │ ├── manfnplusexp-int.gif │ ├── manfnzsqrd-int.gif │ ├── manlamfnfn-int.gif │ ├── manowar-int.gif │ ├── manowarjulia-int.gif │ ├── manzpower-int.gif │ ├── marksjulia-int.gif │ ├── marksmandel-int.gif │ ├── marksmandelpower-int.gif │ ├── newtbasin-int.gif │ ├── newton-int.gif │ ├── phoenix-int.gif │ ├── phoenixcmplx-int.gif │ ├── popcorn-int.gif │ ├── popcornjulia-int.gif │ ├── rossler-int.gif │ ├── sierpinski-int.gif │ ├── spider-int.gif │ ├── sqr1fn-int.gif │ ├── sqrtrig-int.gif │ ├── timserror-int.gif │ ├── trigsqr-int.gif │ └── unity-int.gif ├── home │ ├── save.cfg.in │ ├── test.cfg.in │ ├── test.frm.in │ ├── test.ifs.in │ ├── test.ini.in │ └── test.map.in ├── images │ ├── CMakeLists.txt │ ├── colormap_compare_test.cmake │ ├── gold-bailout-and.gif │ ├── gold-bailout-imag.gif │ ├── gold-bailout-manh.gif │ ├── gold-bailout-manr.gif │ ├── gold-bailout-or.gif │ ├── gold-bailout-real.gif │ ├── gold-barnsleyj1.gif │ ├── gold-barnsleyj2.gif │ ├── gold-barnsleyj3.gif │ ├── gold-barnsleym1.gif │ ├── gold-barnsleym2.gif │ ├── gold-barnsleym3.gif │ ├── gold-biflambda.gif │ ├── gold-btrace.gif │ ├── gold-burning-ship.gif │ ├── gold-cellular.gif │ ├── gold-circle.gif │ ├── gold-cmplxmarksjul.gif │ ├── gold-cmplxmarksmand.gif │ ├── gold-complexbasin.gif │ ├── gold-complexnewton.gif │ ├── gold-diffusion.gif │ ├── gold-dividebrot5.gif │ ├── gold-dynamic.gif │ ├── gold-escher_julia.gif │ ├── gold-fn-mul-fn.gif │ ├── gold-fn-mul-z-plus-z.gif │ ├── gold-fn-plus-fn.gif │ ├── gold-fn-zsqr.gif │ ├── gold-fnz-plus-fnpixel.gif │ ├── gold-fractint-formula.gif │ ├── gold-frothybasin.gif │ ├── gold-gingerbreadman.gif │ ├── gold-halley.gif │ ├── gold-henon.gif │ ├── gold-hypercomplex.gif │ ├── gold-hypercomplexj.gif │ ├── gold-ifs-dragon-1.gif │ ├── gold-julfn-plus-exp.gif │ ├── gold-julfn-plus-zsqrd.gif │ ├── gold-julia-fn-or-fn.gif │ ├── gold-julia.gif │ ├── gold-julia4.gif │ ├── gold-julia_inverse.gif │ ├── gold-julzpower.gif │ ├── gold-julzzpwr.gif │ ├── gold-kamtorus.gif │ ├── gold-kamtorus3d.gif │ ├── gold-lambda-fn-or-fn.gif │ ├── gold-lambda.gif │ ├── gold-lambdafn.gif │ ├── gold-lyapunov.gif │ ├── gold-magnet1j.gif │ ├── gold-magnet1m.gif │ ├── gold-magnet2j.gif │ ├── gold-magnet2m.gif │ ├── gold-mandel-fn-or-fn.gif │ ├── gold-mandel-perturb.gif │ ├── gold-mandel.gif │ ├── gold-mandel4.gif │ ├── gold-mandelbrotmix4.gif │ ├── gold-mandelcloud.gif │ ├── gold-mandelfn.gif │ ├── gold-mandellambda.gif │ ├── gold-mandphoenix.gif │ ├── gold-mandphoenixclx.gif │ ├── gold-manfn-plus-exp.gif │ ├── gold-manfn-plus-zsqrd.gif │ ├── gold-manlam-fn-or-fn.gif │ ├── gold-manowar.gif │ ├── gold-manowarj.gif │ ├── gold-manzpower-3-perturb.gif │ ├── gold-manzpower-4-perturb.gif │ ├── gold-manzpower.gif │ ├── gold-manzzpwr.gif │ ├── gold-marksjulia.gif │ ├── gold-marksmandel.gif │ ├── gold-marksmandelpwr.gif │ ├── gold-mossy-garden.gif │ ├── gold-newtbasin.gif │ ├── gold-newton.gif │ ├── gold-phoenix.gif │ ├── gold-phoenixcplx.gif │ ├── gold-plasma.gif │ ├── gold-popcornjul.gif │ ├── gold-quat.gif │ ├── gold-quatjul.gif │ ├── gold-sierpinski.gif │ ├── gold-spider.gif │ ├── gold-sqr-1-over-fn.gif │ ├── gold-sqr-fn.gif │ ├── gold-tetrate.gif │ ├── gold-tim's_error.gif │ ├── gold-unity.gif │ ├── gold-volterra-lotka.gif │ └── image_compare_test.cmake ├── include │ ├── ColorMapSaver.h │ ├── MockDriver.h │ ├── ValueUnchanged.h │ ├── expected_map.h │ ├── test_config_data.h.in │ ├── test_data.h.in │ └── test_migrate_gif.h.in ├── io │ ├── test_check_write_file.cpp │ ├── test_check_write_file_data.h.in │ ├── test_expand_dirname.cpp │ ├── test_find_file.cpp │ ├── test_find_file.txt.in │ ├── test_find_path.cpp │ ├── test_gif_file.cpp │ ├── test_is_directory.cpp │ ├── test_load_config.cpp │ ├── test_load_entry_text.cpp │ ├── test_loadfile.cpp │ ├── test_loadmap.cpp │ ├── test_locate_input_file.cpp │ ├── test_make_path.cpp │ ├── test_merge_path_names.cpp │ ├── test_open_save_file.cpp │ ├── test_path_match.cpp │ ├── test_save_file.cpp │ ├── test_search_path.cpp │ ├── test_split_path.cpp │ ├── test_trim_filename.cpp │ └── test_update_save_name.cpp ├── math │ ├── test_cmplx.cpp │ ├── test_fpu087.cpp │ └── test_math.cpp ├── misc │ ├── test_ValueSaver.cpp │ ├── test_driver.cpp │ └── test_version.cpp ├── tools │ ├── CMakeLists.txt │ ├── colormap_compare.cpp │ ├── image-tool │ │ ├── CMakeLists.txt │ │ ├── GIFInputFile.cpp │ │ └── include │ │ │ └── image-tool │ │ │ ├── GIFInputFile.h │ │ │ ├── gif_compare.h │ │ │ ├── gif_format.h │ │ │ └── gif_json.h │ ├── image_compare.cpp │ └── image_dump.cpp └── ui │ ├── test_ChoiceBuilder.cpp │ ├── test_cmdfiles.cpp │ ├── test_comments.cpp │ ├── test_lowerize_parameter.cpp │ ├── test_main_menu_switch.cpp │ ├── test_make_batch_file.cpp │ └── test_video_mode.cpp ├── unix ├── CMakeLists.txt ├── d_x11.cpp ├── general.cpp ├── init_failure.cpp ├── main.cpp ├── special_dirs.cpp ├── stack_avail.cpp ├── unixscr.cpp ├── unixscr.h ├── usec_clock.cpp ├── video.cpp ├── x11_frame.cpp ├── x11_frame.h ├── x11_plot.cpp ├── x11_plot.h ├── x11_text.cpp ├── x11_text.h └── xfractint.man ├── vcpkg.json └── win32 ├── Banner.bmp ├── CMakeLists.txt ├── DiskDriver.cpp ├── Frame.cpp ├── Frame.h ├── GDIDriver.cpp ├── Id.ico ├── Plot.cpp ├── Plot.h ├── Win32BaseDriver.cpp ├── Win32BaseDriver.h ├── WinText.cpp ├── WinText.h ├── create_minidump.cpp ├── create_minidump.h ├── id.rc.in ├── init_failure.cpp ├── instance.cpp ├── instance.h ├── ods.cpp ├── ods.h ├── resource.h ├── special_dirs.cpp ├── tos.cpp ├── tos.h ├── usec_clock.cpp ├── win_defines.h └── win_main.cpp /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.gif binary 3 | *.bmp binary 4 | *.ico binary 5 | *.bat text 6 | *.cfg text 7 | *.frm text 8 | *.ifs text 9 | *.key text 10 | *.l text 11 | *.map text 12 | *.par text 13 | *.txt text 14 | *.ini text 15 | *.h text 16 | *.cpp text 17 | *.in text 18 | *.src text 19 | *.md text 20 | .gitattributes text 21 | .gitmodules text 22 | *.json text 23 | *.cmake text 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | **/id.hlp 4 | **/id.txt 5 | **/helpdefs.h 6 | .idea 7 | .vs 8 | CMakeUserPresets.json 9 | build-ci-* 10 | home/*.gif 11 | **/stopmsg.txt 12 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "vcpkg"] 2 | path = vcpkg 3 | url = https://github.com/microsoft/vcpkg 4 | -------------------------------------------------------------------------------- /cmake/misc_target.cmake: -------------------------------------------------------------------------------- 1 | # Create a Miscellaneous target to organize files in the IDE 2 | function(misc_target) 3 | cmake_parse_arguments(ARG "" "" "FILES" ${ARGN}) 4 | add_custom_target(Miscellaneous) 5 | if(ARG_FILES) 6 | target_sources(Miscellaneous PRIVATE ${ARG_FILES}) 7 | endif() 8 | endfunction() 9 | 10 | # Add files to the Miscellaneous target and group them in the IDE 11 | function(misc_group_sources group) 12 | cmake_parse_arguments(ARG "" "" "FILES" ${ARGN}) 13 | if(ARG_FILES) 14 | target_sources(Miscellaneous PRIVATE ${ARG_FILES}) 15 | source_group("${group}" FILES ${ARG_FILES}) 16 | endif() 17 | endfunction() 18 | -------------------------------------------------------------------------------- /cmake/set_cxx_standard.cmake: -------------------------------------------------------------------------------- 1 | function(set_cxx_standard version) 2 | set(CMAKE_CXX_STANDARD ${version} PARENT_SCOPE) 3 | set(CMAKE_CXX_STANDARD_REQUIRED ON PARENT_SCOPE) 4 | endfunction() 5 | -------------------------------------------------------------------------------- /cmake/target_folder.cmake: -------------------------------------------------------------------------------- 1 | set_property(GLOBAL PROPERTY USE_FOLDERS ON) 2 | 3 | function(target_folder target folder) 4 | set_target_properties("${target}" PROPERTIES FOLDER "${folder}") 5 | endfunction() 6 | -------------------------------------------------------------------------------- /cmake/vs_startup_project.cmake: -------------------------------------------------------------------------------- 1 | function(vs_startup_project target) 2 | set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT ${target}) 3 | endfunction() 4 | -------------------------------------------------------------------------------- /config/fdio.fcntl.h.in: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | // DO NOT EDIT! 4 | // 5 | // Generated from fdio.Linux.h.in 6 | // 7 | #pragma once 8 | 9 | // POSIX file-descriptor style I/O functions 10 | #include 11 | -------------------------------------------------------------------------------- /config/fdio.io.h.in: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | // DO NOT EDIT! 4 | // 5 | // Generated from fdio.Windows.h.in 6 | // 7 | #pragma once 8 | 9 | // POSIX file-descriptor style I/O functions 10 | #include 11 | -------------------------------------------------------------------------------- /config/filelength.io.h.in: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | // DO NOT EDIT! 4 | // 5 | // Generated from filelength.Windows.h.in 6 | // 7 | #pragma once 8 | 9 | // for filelength 10 | #include 11 | -------------------------------------------------------------------------------- /config/filelength.stat.h.in: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | // DO NOT EDIT! 4 | // 5 | // Generated from filelength.Linux.h.in 6 | // 7 | #pragma once 8 | 9 | #include 10 | 11 | // filelength -- Find length of a file associated with a descriptor. 12 | inline int filelength(int fd) 13 | { 14 | struct stat buf; 15 | fstat(fd, &buf); 16 | return buf.st_size; 17 | } 18 | -------------------------------------------------------------------------------- /config/getpid.process.h.in: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | // DO NOT EDIT! 4 | // 5 | // Generated from getpid.Windows.h.in 6 | // 7 | #pragma once 8 | 9 | // getpid 10 | #include 11 | -------------------------------------------------------------------------------- /config/getpid.unistd.h.in: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | // DO NOT EDIT! 4 | // 5 | // Generated from getpid.Linux.h.in 6 | // 7 | #pragma once 8 | 9 | // getpid 10 | #include 11 | -------------------------------------------------------------------------------- /config/include/config/string_case_compare.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | int string_case_compare(const char *s, const char *t, std::size_t ct); 8 | int string_case_compare(const char *s, const char *t); 9 | 10 | inline bool string_case_equal(const char *s, const char *t, std::size_t ct) 11 | { 12 | return string_case_compare(s, t, ct) == 0; 13 | } 14 | inline bool string_case_equal(const char *s, const char *t) 15 | { 16 | return string_case_compare(s, t) == 0; 17 | } 18 | -------------------------------------------------------------------------------- /config/path_limits.manual.h.in: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | // DO NOT EDIT! 4 | // 5 | // Generated from path_limits.Linux.h.in 6 | // 7 | #pragma once 8 | 9 | // these are used to declare arrays for file names 10 | constexpr int ID_FILE_MAX_PATH{256}; // max length of path+filename 11 | constexpr int ID_FILE_MAX_DIR{256}; // max length of directory name 12 | 13 | enum 14 | { 15 | ID_FILE_MAX_DRIVE = 3, // max length of drive letter 16 | ID_FILE_MAX_FNAME = 64, // max length of filename 17 | ID_FILE_MAX_EXT = 64, // max length of extension 18 | }; 19 | -------------------------------------------------------------------------------- /config/path_limits.stdlib.h.in: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | // DO NOT EDIT! 4 | // 5 | // Generated from path_limits.Windows.h.in 6 | // 7 | #pragma once 8 | 9 | #include 10 | 11 | // these are used to declare arrays for file names 12 | constexpr int ID_FILE_MAX_PATH{_MAX_PATH}; // max length of path+filename 13 | constexpr int ID_FILE_MAX_DIR{_MAX_DIR}; // max length of directory name 14 | 15 | enum 16 | { 17 | ID_FILE_MAX_DRIVE = 3, // max length of drive letter 18 | ID_FILE_MAX_FNAME = 64, // max length of filename 19 | ID_FILE_MAX_EXT = 64, // max length of extension 20 | }; 21 | -------------------------------------------------------------------------------- /config/string_lower.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include 4 | 5 | // strlwr -- Convert string to lower case. 6 | char *string_lower(char *s) 7 | { 8 | for (char *sptr = s; *sptr; ++sptr) 9 | { 10 | *sptr = std::tolower(*sptr); 11 | } 12 | return s; 13 | } 14 | -------------------------------------------------------------------------------- /config/string_lower.manual.h.in: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | // DO NOT EDIT! 4 | // 5 | // Generated from string_lower.Linux.h.in 6 | // 7 | #pragma once 8 | 9 | char *string_lower(char *s); 10 | -------------------------------------------------------------------------------- /config/string_lower.string.h.in: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | // DO NOT EDIT! 4 | // 5 | // Generated from string_lower.Windows.h.in 6 | // 7 | #pragma once 8 | 9 | #include 10 | 11 | inline char *string_lower(char *s) 12 | { 13 | return strlwr(s); 14 | } 15 | -------------------------------------------------------------------------------- /config/tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | include(GoogleTest) 4 | 5 | find_package(GTest CONFIG REQUIRED) 6 | 7 | add_executable(test-config 8 | test_string_case_compare.cpp 9 | ) 10 | target_link_libraries(test-config PRIVATE GTest::gmock_main config) 11 | target_folder(test-config "Tests") 12 | gtest_discover_tests(test-config PROPERTIES LABELS config) 13 | -------------------------------------------------------------------------------- /doc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | set(ID_DOC_INSTALL_DIR doc) 4 | 5 | function(id_install_doc) 6 | cmake_parse_arguments(id_install "" "" "FILES" ${ARGV}) 7 | install(FILES ${id_install_FILES} DESTINATION ${ID_DOC_INSTALL_DIR}) 8 | endfunction() 9 | 10 | id_install_doc(FILES known-bugs.md debug-flags.md) 11 | -------------------------------------------------------------------------------- /hc/AsciiDocCompiler.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "HelpCompiler.h" 6 | 7 | namespace hc 8 | { 9 | 10 | class AsciiDocCompiler : public HelpCompiler 11 | { 12 | public: 13 | explicit AsciiDocCompiler(const Options &options) : HelpCompiler(options) 14 | { 15 | } 16 | ~AsciiDocCompiler() override = default; 17 | 18 | int process() override; 19 | 20 | private: 21 | void paginate_ascii_doc(); 22 | void print_ascii_doc(); 23 | }; 24 | 25 | } // namespace hc 26 | -------------------------------------------------------------------------------- /hc/Compiler.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "Compiler.h" 4 | 5 | #include "AsciiDocCompiler.h" 6 | #include "HelpCompiler.h" 7 | 8 | namespace hc 9 | { 10 | 11 | std::shared_ptr create_compiler(const Options &options) 12 | { 13 | return options.mode == Mode::ASCII_DOC ? std::make_shared(options) 14 | : std::make_shared(options); 15 | } 16 | 17 | } // namespace hc 18 | -------------------------------------------------------------------------------- /hc/Compiler.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | namespace hc 8 | { 9 | 10 | struct Options; 11 | 12 | class Compiler 13 | { 14 | public: 15 | virtual ~Compiler() = default; 16 | 17 | virtual int process() = 0; 18 | }; 19 | 20 | std::shared_ptr create_compiler(const Options &options); 21 | 22 | } // namespace hc 23 | -------------------------------------------------------------------------------- /hc/Options.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "modes.h" 6 | 7 | #include 8 | #include 9 | 10 | namespace hc 11 | { 12 | 13 | struct Options 14 | { 15 | Mode mode{Mode::NONE}; 16 | std::string fname1; 17 | std::string fname2; 18 | std::string swap_path; 19 | bool show_mem{}; 20 | bool show_stats{}; 21 | bool quiet_mode{}; // true if "/Q" option used 22 | std::vector include_paths; 23 | std::string output_dir; 24 | }; 25 | 26 | Options parse_options(int argc, char **argv); 27 | 28 | } // namespace hc 29 | -------------------------------------------------------------------------------- /hc/hc.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "Compiler.h" 4 | #include "Options.h" 5 | 6 | #include 7 | 8 | int main(int argc, char *argv[]) 9 | { 10 | try 11 | { 12 | return create_compiler(hc::parse_options(argc, argv))->process(); 13 | } 14 | catch (const std::exception &bang) 15 | { 16 | std::cerr << "Unexpected exception: " << bang.what() << '\n'; 17 | return 1; 18 | } 19 | catch (...) 20 | { 21 | std::cerr << "Unexpected exception.\n"; 22 | return 2; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /hc/modes.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | namespace hc 6 | { 7 | 8 | enum class Mode 9 | { 10 | NONE = 0, 11 | COMPILE, 12 | PRINT, 13 | APPEND, 14 | DELETE, 15 | ASCII_DOC 16 | }; 17 | 18 | } // namespace hc 19 | -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-barnsleyj1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-barnsleyj1.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-barnsleyj2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-barnsleyj2.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-barnsleyj3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-barnsleyj3.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-barnsleym1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-barnsleym1.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-barnsleym2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-barnsleym2.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-barnsleym3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-barnsleym3.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-bif-eq-sinpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-bif-eq-sinpi.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-bif-plus-sinpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-bif-plus-sinpi.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-biflambda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-biflambda.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-bifmay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-bifmay.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-bifstewart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-bifstewart.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-bifurcation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-bifurcation.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-burning-ship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-burning-ship.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-cellular.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-cellular.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-circle.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-cmplxmarksjul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-cmplxmarksjul.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-cmplxmarksmand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-cmplxmarksmand.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-complexbasin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-complexbasin.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-complexnewton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-complexnewton.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-diffusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-diffusion.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-dividebrot5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-dividebrot5.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-dynamic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-dynamic.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-escher_julia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-escher_julia.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-fn-mul-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-fn-mul-fn.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-fn-mul-z-plus-z.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-fn-mul-z-plus-z.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-fn-plus-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-fn-plus-fn.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-fn-zsqr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-fn-zsqr.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-fnz-plus-fnpixel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-fnz-plus-fnpixel.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-frothybasin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-frothybasin.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-gingerbreadman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-gingerbreadman.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-halley.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-halley.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-henon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-henon.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-hopalong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-hopalong.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-hypercomplex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-hypercomplex.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-hypercomplexj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-hypercomplexj.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-icons.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-icons3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-icons3d.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-julfn-plus-exp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-julfn-plus-exp.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-julfn-plus-zsqrd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-julfn-plus-zsqrd.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-julia-fn-or-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-julia-fn-or-fn.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-julia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-julia.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-julia4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-julia4.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-julia_inverse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-julia_inverse.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-julibrot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-julibrot.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-julzpower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-julzpower.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-julzzpwr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-julzzpwr.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-kamtorus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-kamtorus.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-kamtorus3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-kamtorus3d.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-lambda-fn-or-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-lambda-fn-or-fn.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-lambda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-lambda.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-lambdafn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-lambdafn.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-latoocarfian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-latoocarfian.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-lorenz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-lorenz.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-lorenz3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-lorenz3d.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-lyapunov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-lyapunov.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-magnet1j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-magnet1j.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-magnet1m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-magnet1m.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-magnet2j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-magnet2j.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-magnet2m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-magnet2m.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-mandel-fn-or-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-mandel-fn-or-fn.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-mandel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-mandel.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-mandel4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-mandel4.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-mandelbrotmix4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-mandelbrotmix4.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-mandelcloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-mandelcloud.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-mandelfn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-mandelfn.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-mandellambda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-mandellambda.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-mandphoenix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-mandphoenix.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-mandphoenixclx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-mandphoenixclx.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-manfn-plus-exp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-manfn-plus-exp.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-manfn-plus-zsqrd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-manfn-plus-zsqrd.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-manlam-fn-or-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-manlam-fn-or-fn.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-manowar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-manowar.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-manzpower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-manzpower.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-manzzpwr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-manzzpwr.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-marksjulia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-marksjulia.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-marksmandel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-marksmandel.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-marksmandelpwr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-marksmandelpwr.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-martin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-martin.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-newtbasin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-newtbasin.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-newton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-newton.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-phoenix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-phoenix.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-phoenixcplx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-phoenixcplx.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-pickover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-pickover.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-plasma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-plasma.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-popcorn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-popcorn.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-popcornjul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-popcornjul.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-quat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-quat.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-quatjul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-quatjul.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-rossler3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-rossler3d.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-sierpinski.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-sierpinski.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-spider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-spider.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-sqr-1-over-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-sqr-1-over-fn.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-sqr-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-sqr-fn.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-tetrate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-tetrate.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-tims_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-tims_error.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-unity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-unity.png -------------------------------------------------------------------------------- /hc/src/images/thumbnails/type-volterra-lotka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/thumbnails/type-volterra-lotka.png -------------------------------------------------------------------------------- /hc/src/images/type-barnsleyj1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-barnsleyj1.png -------------------------------------------------------------------------------- /hc/src/images/type-barnsleyj2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-barnsleyj2.png -------------------------------------------------------------------------------- /hc/src/images/type-barnsleyj3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-barnsleyj3.png -------------------------------------------------------------------------------- /hc/src/images/type-barnsleym1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-barnsleym1.png -------------------------------------------------------------------------------- /hc/src/images/type-barnsleym2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-barnsleym2.png -------------------------------------------------------------------------------- /hc/src/images/type-barnsleym3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-barnsleym3.png -------------------------------------------------------------------------------- /hc/src/images/type-bif-eq-sinpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-bif-eq-sinpi.png -------------------------------------------------------------------------------- /hc/src/images/type-bif-plus-sinpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-bif-plus-sinpi.png -------------------------------------------------------------------------------- /hc/src/images/type-biflambda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-biflambda.png -------------------------------------------------------------------------------- /hc/src/images/type-bifmay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-bifmay.png -------------------------------------------------------------------------------- /hc/src/images/type-bifstewart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-bifstewart.png -------------------------------------------------------------------------------- /hc/src/images/type-bifurcation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-bifurcation.png -------------------------------------------------------------------------------- /hc/src/images/type-burning-ship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-burning-ship.png -------------------------------------------------------------------------------- /hc/src/images/type-cellular.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-cellular.png -------------------------------------------------------------------------------- /hc/src/images/type-circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-circle.png -------------------------------------------------------------------------------- /hc/src/images/type-cmplxmarksjul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-cmplxmarksjul.png -------------------------------------------------------------------------------- /hc/src/images/type-cmplxmarksmand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-cmplxmarksmand.png -------------------------------------------------------------------------------- /hc/src/images/type-complexbasin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-complexbasin.png -------------------------------------------------------------------------------- /hc/src/images/type-complexnewton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-complexnewton.png -------------------------------------------------------------------------------- /hc/src/images/type-diffusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-diffusion.png -------------------------------------------------------------------------------- /hc/src/images/type-dividebrot5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-dividebrot5.png -------------------------------------------------------------------------------- /hc/src/images/type-dynamic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-dynamic.png -------------------------------------------------------------------------------- /hc/src/images/type-escher_julia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-escher_julia.png -------------------------------------------------------------------------------- /hc/src/images/type-fn-mul-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-fn-mul-fn.png -------------------------------------------------------------------------------- /hc/src/images/type-fn-mul-z-plus-z.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-fn-mul-z-plus-z.png -------------------------------------------------------------------------------- /hc/src/images/type-fn-plus-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-fn-plus-fn.png -------------------------------------------------------------------------------- /hc/src/images/type-fn-zsqr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-fn-zsqr.png -------------------------------------------------------------------------------- /hc/src/images/type-fnz-plus-fnpixel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-fnz-plus-fnpixel.png -------------------------------------------------------------------------------- /hc/src/images/type-frothybasin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-frothybasin.png -------------------------------------------------------------------------------- /hc/src/images/type-gingerbreadman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-gingerbreadman.png -------------------------------------------------------------------------------- /hc/src/images/type-halley.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-halley.png -------------------------------------------------------------------------------- /hc/src/images/type-henon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-henon.png -------------------------------------------------------------------------------- /hc/src/images/type-hopalong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-hopalong.png -------------------------------------------------------------------------------- /hc/src/images/type-hypercomplex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-hypercomplex.png -------------------------------------------------------------------------------- /hc/src/images/type-hypercomplexj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-hypercomplexj.png -------------------------------------------------------------------------------- /hc/src/images/type-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-icons.png -------------------------------------------------------------------------------- /hc/src/images/type-icons3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-icons3d.png -------------------------------------------------------------------------------- /hc/src/images/type-julfn-plus-exp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-julfn-plus-exp.png -------------------------------------------------------------------------------- /hc/src/images/type-julfn-plus-zsqrd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-julfn-plus-zsqrd.png -------------------------------------------------------------------------------- /hc/src/images/type-julia-fn-or-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-julia-fn-or-fn.png -------------------------------------------------------------------------------- /hc/src/images/type-julia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-julia.png -------------------------------------------------------------------------------- /hc/src/images/type-julia4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-julia4.png -------------------------------------------------------------------------------- /hc/src/images/type-julia_inverse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-julia_inverse.png -------------------------------------------------------------------------------- /hc/src/images/type-julibrot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-julibrot.png -------------------------------------------------------------------------------- /hc/src/images/type-julzpower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-julzpower.png -------------------------------------------------------------------------------- /hc/src/images/type-julzzpwr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-julzzpwr.png -------------------------------------------------------------------------------- /hc/src/images/type-kamtorus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-kamtorus.png -------------------------------------------------------------------------------- /hc/src/images/type-kamtorus3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-kamtorus3d.png -------------------------------------------------------------------------------- /hc/src/images/type-lambda-fn-or-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-lambda-fn-or-fn.png -------------------------------------------------------------------------------- /hc/src/images/type-lambda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-lambda.png -------------------------------------------------------------------------------- /hc/src/images/type-lambdafn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-lambdafn.png -------------------------------------------------------------------------------- /hc/src/images/type-latoocarfian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-latoocarfian.png -------------------------------------------------------------------------------- /hc/src/images/type-lorenz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-lorenz.png -------------------------------------------------------------------------------- /hc/src/images/type-lorenz3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-lorenz3d.png -------------------------------------------------------------------------------- /hc/src/images/type-lyapunov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-lyapunov.png -------------------------------------------------------------------------------- /hc/src/images/type-magnet1j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-magnet1j.png -------------------------------------------------------------------------------- /hc/src/images/type-magnet1m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-magnet1m.png -------------------------------------------------------------------------------- /hc/src/images/type-magnet2j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-magnet2j.png -------------------------------------------------------------------------------- /hc/src/images/type-magnet2m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-magnet2m.png -------------------------------------------------------------------------------- /hc/src/images/type-mandel-fn-or-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-mandel-fn-or-fn.png -------------------------------------------------------------------------------- /hc/src/images/type-mandel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-mandel.png -------------------------------------------------------------------------------- /hc/src/images/type-mandel4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-mandel4.png -------------------------------------------------------------------------------- /hc/src/images/type-mandelbrotmix4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-mandelbrotmix4.png -------------------------------------------------------------------------------- /hc/src/images/type-mandelcloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-mandelcloud.png -------------------------------------------------------------------------------- /hc/src/images/type-mandelfn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-mandelfn.png -------------------------------------------------------------------------------- /hc/src/images/type-mandellambda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-mandellambda.png -------------------------------------------------------------------------------- /hc/src/images/type-mandphoenix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-mandphoenix.png -------------------------------------------------------------------------------- /hc/src/images/type-mandphoenixclx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-mandphoenixclx.png -------------------------------------------------------------------------------- /hc/src/images/type-manfn-plus-exp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-manfn-plus-exp.png -------------------------------------------------------------------------------- /hc/src/images/type-manfn-plus-zsqrd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-manfn-plus-zsqrd.png -------------------------------------------------------------------------------- /hc/src/images/type-manlam-fn-or-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-manlam-fn-or-fn.png -------------------------------------------------------------------------------- /hc/src/images/type-manowar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-manowar.png -------------------------------------------------------------------------------- /hc/src/images/type-manzpower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-manzpower.png -------------------------------------------------------------------------------- /hc/src/images/type-manzzpwr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-manzzpwr.png -------------------------------------------------------------------------------- /hc/src/images/type-marksjulia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-marksjulia.png -------------------------------------------------------------------------------- /hc/src/images/type-marksmandel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-marksmandel.png -------------------------------------------------------------------------------- /hc/src/images/type-marksmandelpwr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-marksmandelpwr.png -------------------------------------------------------------------------------- /hc/src/images/type-martin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-martin.png -------------------------------------------------------------------------------- /hc/src/images/type-newtbasin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-newtbasin.png -------------------------------------------------------------------------------- /hc/src/images/type-newton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-newton.png -------------------------------------------------------------------------------- /hc/src/images/type-phoenix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-phoenix.png -------------------------------------------------------------------------------- /hc/src/images/type-phoenixcplx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-phoenixcplx.png -------------------------------------------------------------------------------- /hc/src/images/type-pickover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-pickover.png -------------------------------------------------------------------------------- /hc/src/images/type-plasma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-plasma.png -------------------------------------------------------------------------------- /hc/src/images/type-popcorn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-popcorn.png -------------------------------------------------------------------------------- /hc/src/images/type-popcornjul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-popcornjul.png -------------------------------------------------------------------------------- /hc/src/images/type-quat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-quat.png -------------------------------------------------------------------------------- /hc/src/images/type-quatjul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-quatjul.png -------------------------------------------------------------------------------- /hc/src/images/type-rossler3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-rossler3d.png -------------------------------------------------------------------------------- /hc/src/images/type-sierpinski.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-sierpinski.png -------------------------------------------------------------------------------- /hc/src/images/type-spider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-spider.png -------------------------------------------------------------------------------- /hc/src/images/type-sqr-1-over-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-sqr-1-over-fn.png -------------------------------------------------------------------------------- /hc/src/images/type-sqr-fn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-sqr-fn.png -------------------------------------------------------------------------------- /hc/src/images/type-tetrate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-tetrate.png -------------------------------------------------------------------------------- /hc/src/images/type-tims_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-tims_error.png -------------------------------------------------------------------------------- /hc/src/images/type-unity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-unity.png -------------------------------------------------------------------------------- /hc/src/images/type-volterra-lotka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/hc/src/images/type-volterra-lotka.png -------------------------------------------------------------------------------- /hc/tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | include(GoogleTest) 4 | 5 | find_package(GTest CONFIG REQUIRED) 6 | 7 | add_executable(test-hc 8 | test_compiler.cpp 9 | test_help_source.cpp 10 | test_parse_options.cpp 11 | ) 12 | source_group("CMake Scripts" REGULAR_EXPRESSION ".*\\.cmake$") 13 | source_group("CMake Templates" REGULAR_EXPRESSION ".*\\.in$") 14 | target_include_directories(test-hc PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/include") 15 | target_link_libraries(test-hc PRIVATE GTest::gmock_main libhc) 16 | target_folder(test-hc "Tests") 17 | gtest_discover_tests(test-hc PROPERTIES LABELS hc) 18 | 19 | add_subdirectory(ascii_doc) 20 | -------------------------------------------------------------------------------- /hc/tests/test_compiler.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include 4 | 5 | #include 6 | 7 | #include 8 | 9 | TEST(TestAsciiDoc, createCompiler) 10 | { 11 | hc::Options options{}; 12 | options.mode = hc::Mode::ASCII_DOC; 13 | 14 | std::shared_ptr compiler{create_compiler(options)}; 15 | 16 | EXPECT_TRUE(compiler); 17 | } 18 | -------------------------------------------------------------------------------- /hc/tests/test_help_source.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include 4 | 5 | #include 6 | 7 | using namespace hc; 8 | 9 | TEST(TestLabels, indexLabelLeast) 10 | { 11 | const Label idx{INDEX_LABEL, 0, 0, 0}; 12 | const Label other{"HELP_OTHER", 0, 0, 0}; 13 | 14 | EXPECT_TRUE(idx < other); 15 | EXPECT_FALSE(other < idx); 16 | } 17 | 18 | TEST(TestLabels, labelsSortByName) 19 | { 20 | const Label smaller{"aardvark", 0, 0, 0}; 21 | const Label bigger{"zebra", 0, 0, 0}; 22 | 23 | EXPECT_TRUE(smaller < bigger); 24 | EXPECT_FALSE(bigger < smaller); 25 | } 26 | -------------------------------------------------------------------------------- /helpcom/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | # Copyright 2018 Richard Thomson 4 | 5 | add_library(helpcom STATIC 6 | helpcom.cpp 7 | include/helpcom.h) 8 | target_compile_definitions(helpcom PUBLIC ${ID_TARGET_DEFINITIONS} $<$:${ID_TARGET_DEFINITIONS_DEBUG}>) 9 | target_include_directories(helpcom PUBLIC include) 10 | target_link_libraries(helpcom PUBLIC config) 11 | target_folder(helpcom "Libraries") 12 | -------------------------------------------------------------------------------- /home/extra/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | id_install_home(FILES 4 | frmtutor.frm frmtutor.txt 5 | if_else.frm if_else.txt 6 | phctutor.frm phctutor.txt) 7 | 8 | id_install_subdirectory(all_maps) 9 | -------------------------------------------------------------------------------- /home/extra/all_maps/123maps/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | id_install_home(FILES 4 | Carlson1.map 5 | droz12.map 6 | droz34.map 7 | droz35.map 8 | droz49.map 9 | droz54.map 10 | droz56.map 11 | droz62.map 12 | Gallet01.map 13 | Gallet02.map 14 | Gallet03.map 15 | Gallet07.map 16 | Gallet08.map 17 | Gallet09.map 18 | Gallet10.map 19 | Lindaa11.map 20 | Lindaa12.map 21 | Morgen3.map 22 | Wizzl011.map 23 | Wizzl012.map 24 | Wizzl013.map 25 | ) 26 | -------------------------------------------------------------------------------- /home/extra/all_maps/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | id_install_home(FILES ReadMe.txt) 4 | 5 | id_install_subdirectory(123maps) 6 | id_install_subdirectory(blackmap) 7 | id_install_subdirectory(jewelmap) 8 | id_install_subdirectory(midtones) 9 | id_install_subdirectory(shortmap) 10 | id_install_subdirectory(specimap) 11 | id_install_subdirectory(stripmap) 12 | -------------------------------------------------------------------------------- /home/extra/all_maps/ReadMe.txt: -------------------------------------------------------------------------------- 1 | This map collection was compiled by wizzle a.k.a Angela 2 | 3 | It is also available on the web at: 4 | https://web.archive.org/web/20001211122000/http://wizzle.simplenet.com/fractals/fractint_maps/newmaps.htm 5 | -------------------------------------------------------------------------------- /home/extra/all_maps/blackmap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | id_install_home(FILES 4 | Gallet05.map 5 | Gallet18.map 6 | Lindaa03.map 7 | Lindaa08.map 8 | Wizzl014.map 9 | Wizzl015.map 10 | Wizzl016.map 11 | Wizzl020.map 12 | ) 13 | -------------------------------------------------------------------------------- /home/extra/all_maps/jewelmap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | id_install_home(FILES 4 | bud4.map 5 | damien3.map 6 | Digiorg2.map 7 | droz14.map 8 | droz28.map 9 | droz36.map 10 | droz40.map 11 | Lindaa02.map 12 | Lindaa04.map 13 | Lindaa09.map 14 | Skydye12.map 15 | Wizzl017.map 16 | Wizzl018.map 17 | Wizzl019.map 18 | ) 19 | -------------------------------------------------------------------------------- /home/extra/all_maps/shortmap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | id_install_home(FILES 4 | bud5.map 5 | droz10.map 6 | droz13.map 7 | droz52.map 8 | Gallet06.map 9 | Lindaa15.map 10 | Lindaa16.map 11 | Lindaa17.map 12 | ) 13 | -------------------------------------------------------------------------------- /home/extra/all_maps/specimap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | id_install_home(FILES 4 | droz21.map 5 | droz23.map 6 | droz39.map 7 | droz44.map 8 | Lindaa14.map 9 | Skydye05.map 10 | ) 11 | -------------------------------------------------------------------------------- /home/extra/all_maps/stripmap/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | id_install_home(FILES 4 | Digiorg1.map 5 | droz22.map 6 | droz60.map 7 | lkmtch00.map 8 | lkmtch01.map 9 | lkmtch02.map 10 | lkmtch03.map 11 | lkmtch04.map 12 | lkmtch05.map 13 | lkmtch06.map 14 | lkmtch07.map 15 | lkmtch08.map 16 | lkmtch09.map 17 | lkmtch10.map 18 | lkmtch11.map 19 | lkmtch12.map 20 | lkmtch13.map 21 | lkmtch14.map 22 | lkmtch15.map 23 | lkmtch16.map 24 | lkmtch17.map 25 | lkmtch18.map 26 | lkmtch19.map 27 | Skydye06.map 28 | Skydye07.map 29 | ) 30 | -------------------------------------------------------------------------------- /home/formulas/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | id_install_home(FILES 4 | example2.frm 5 | example3.frm 6 | fract001.frm 7 | fract002.frm 8 | fract003.frm 9 | id.frm 10 | ikenaga.frm 11 | julitile.frm 12 | MandelbrotDerivatives.frm 13 | newton.frm 14 | new_if.frm 15 | ) 16 | -------------------------------------------------------------------------------- /home/formulas/MossyFractalGarden.frm: -------------------------------------------------------------------------------- 1 | MandelbrotBC3 { ; by several Fractint users 2 | e = p1 3 | a = imag(p2) + 100 4 | p = real(p2) + pi 5 | pi2 = 2 * pi 6 | q = 2 * pi * fn1(p / pi2) 7 | r = real(p2) + pi - q 8 | fq = flip(q) 9 | fpi2 = flip(pi2) 10 | z = c = pixel: 11 | z = log(z) 12 | if (imag(z) > r) 13 | z = z + fpi2 14 | endif 15 | z = exp(e * (z + fq)) + c 16 | |z| < a 17 | } 18 | -------------------------------------------------------------------------------- /home/formulas/example3.frm: -------------------------------------------------------------------------------- 1 | ; SPDX-License-Identifier: GPL-3.0-only 2 | ; 3 | {--- SYLVIE GALLET -------------------------------------------------------} 4 | 5 | ismand_demo { ; by Sylvie Gallet 6 | ; uses the Pokorny formula z -> 1/(z^2+c) 7 | ; 8 | ; Use the spacebar to toggle between mandel and julia sets 9 | ; 10 | if (ismand) 11 | z = 0, c = pixel 12 | else 13 | z = pixel, c = p1 14 | endif 15 | : 16 | z = 1 / (z*z + c) 17 | |z| <= p2 18 | } 19 | -------------------------------------------------------------------------------- /home/formulas/mfr10.frm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/home/formulas/mfr10.frm -------------------------------------------------------------------------------- /home/formulas/newton.frm: -------------------------------------------------------------------------------- 1 | ; SPDX-License-Identifier: GPL-3.0-only 2 | ; 3 | Newton_poly { ; Tim Wegner - use float=yes 4 | ; fractal generated by Newton formula z^3 - 3z 5 | z = pixel, z2 = z*z, z3 = z*z2: 6 | z = (2*z3) / (3*z2 - 3); 7 | z2 = z*z; 8 | z3 = z*z2, 9 | .004 <= |z3 - 3*z| 10 | } 11 | 12 | newtz3 { 13 | ; Note use floating point 14 | z = pixel: 15 | z2 = z * z, 16 | z3 = z2 * z, 17 | z = (2 * z3) / (3 * (z2 - 1)), 18 | 0.004 <= |z3 - 3 * z| 19 | } 20 | -------------------------------------------------------------------------------- /home/ifs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | id_install_home(FILES 4 | hanmer.ifs 5 | id.ifs 6 | ) 7 | -------------------------------------------------------------------------------- /home/key/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | id_install_home(FILES 4 | advanced.key 5 | auto.key 6 | basic.key 7 | explore.key 8 | demo1.key 9 | demo2.key 10 | demo3.key 11 | demo4.key 12 | sound_demo.key 13 | ) 14 | -------------------------------------------------------------------------------- /home/lsystem/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | id_install_home(FILES 4 | alpha01.l 5 | cesaros.l 6 | dekking.l 7 | edragons.l 8 | hanmer.l 9 | hanmer1.l 10 | hanmer2.l 11 | hanmer3_0.l 12 | hanmer4.l 13 | hanmerc.l 14 | horizons.l 15 | id.l 16 | jbartrol.l 17 | lsysfp.l 18 | maze09.l 19 | mcworter.l 20 | mcworter1.l 21 | norton.l 22 | oj-fibona.l 23 | oj-plants.l 24 | penrose.l 25 | penrose2.l 26 | rouse.l 27 | teachout.l 28 | tiling.l 29 | torres.l 30 | ) 31 | -------------------------------------------------------------------------------- /home/lsystem/jbartrol.l: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/home/lsystem/jbartrol.l -------------------------------------------------------------------------------- /home/lsystem/oj-fibona.l: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/home/lsystem/oj-fibona.l -------------------------------------------------------------------------------- /home/lsystem/torres.l: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/home/lsystem/torres.l -------------------------------------------------------------------------------- /home/maps/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | id_install_home(FILES 4 | altern.map 5 | blues.map 6 | chroma.map 7 | default.map 8 | firestrm.map 9 | froth3.map 10 | froth6.map 11 | gamma1.map 12 | gamma2.map 13 | glasses1.map 14 | glasses2.map 15 | green.map 16 | grey.map 17 | grid.map 18 | headache.map 19 | landscap.map 20 | lyapunov.map 21 | neon.map 22 | royal.map 23 | topo.map 24 | volcano.map 25 | ) 26 | -------------------------------------------------------------------------------- /home/pars/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | id_install_home(FILES 4 | BurningShip.par 5 | cellular.par 6 | demo.par 7 | example1.par 8 | example2.par 9 | example3.par 10 | example4.par 11 | icons.par 12 | id.par 13 | lyapunov.par 14 | music.par 15 | newphoen.par 16 | orbits.par 17 | phoenix.par 18 | ) 19 | -------------------------------------------------------------------------------- /home/pars/phoenix.par: -------------------------------------------------------------------------------- 1 | ; SPDX-License-Identifier: GPL-3.0-only 2 | ; 3 | Wolf { ; Jonathan Osuch 4 | reset type=phoenix corners=-1.557441/2.234555/-1.422003/1.421998 5 | params=-0.75078049362069/1.40200999374372/2 inside=0 6 | } 7 | 8 | 3rd_power { ; Jonathan Osuch 9 | reset type=phoenix 10 | corners=-1.6838728/-0.80580664/-0.32926887/0.32927984 11 | params=1.1000000000000001/1/3 float=y maxiter=500 inside=0 12 | } 13 | 14 | totem { ; Jonathan Osuch 15 | reset type=phoenix corners=-0.92/0.92/-1.378935/0.001064718 16 | params=1.1000000000000001/1/-3 float=y maxiter=500 inside=0 17 | } 18 | 19 | -------------------------------------------------------------------------------- /home/sstools.ini: -------------------------------------------------------------------------------- 1 | ; SPDX-License-Identifier: GPL-3.0-only 2 | ; 3 | [id] 4 | inside=0 5 | map=maps/default.map 6 | ifsfile=ifs/id.ifs 7 | parmfile=pars/id.par 8 | lfile=lsystem/id.l 9 | formulafile=formulas/id.frm 10 | autokeyname=key/auto.key 11 | float=yes 12 | -------------------------------------------------------------------------------- /libid/engine/find_extra_param.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "engine/find_extra_param.h" 4 | 5 | #include "fractals/fractalp.h" 6 | 7 | int find_extra_param(FractalType type) 8 | { 9 | int ret = -1; 10 | if (bit_set(get_fractal_specific(type)->flags, FractalFlags::MORE)) 11 | { 12 | FractalType current_type; 13 | int i = -1; 14 | while ((current_type = g_more_fractal_params[++i].type) != type && current_type != FractalType::NO_FRACTAL) 15 | { 16 | } 17 | if (current_type == type) 18 | { 19 | ret = i; 20 | } 21 | } 22 | return ret; 23 | } 24 | -------------------------------------------------------------------------------- /libid/fractals/circle_pattern.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "fractals/circle_pattern.h" 4 | 5 | #include "engine/calcfrac.h" 6 | #include "engine/fractals.h" 7 | #include "engine/id_data.h" 8 | 9 | int circle_orbit() 10 | { 11 | long i = (long) (g_params[0] * (g_temp_sqr_x + g_temp_sqr_y)); 12 | g_color_iter = i%g_colors; 13 | return 1; 14 | } 15 | -------------------------------------------------------------------------------- /libid/fractals/fractype.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "fractals/fractype.h" 4 | 5 | FractalType g_fractal_type{FractalType::NO_FRACTAL}; // if == 0, use Mandelbrot 6 | -------------------------------------------------------------------------------- /libid/fractals/population.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "fractals/population.h" 4 | 5 | double g_population{}; 6 | double g_rate{}; 7 | -------------------------------------------------------------------------------- /libid/fractals/unity.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "fractals/unity.h" 4 | 5 | #include "engine/calcfrac.h" 6 | #include "engine/fractals.h" 7 | #include "engine/id_data.h" 8 | #include "math/sqr.h" 9 | 10 | #include 11 | 12 | int unity_orbit() 13 | { 14 | const double XXOne = sqr(g_old_z.x) + sqr(g_old_z.y); 15 | if ((XXOne > 2.0) || (std::abs(XXOne - 1.0) < g_delta_min)) 16 | { 17 | return 1; 18 | } 19 | g_old_z.y = (2.0 - XXOne)* g_old_z.x; 20 | g_old_z.x = (2.0 - XXOne)* g_old_z.y; 21 | g_new_z = g_old_z; 22 | return 0; 23 | } 24 | -------------------------------------------------------------------------------- /libid/include/engine/bailout_formula.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | enum class Bailout 6 | { 7 | MOD, 8 | REAL, 9 | IMAG, 10 | OR, 11 | AND, 12 | MANH, 13 | MANR 14 | }; 15 | 16 | extern Bailout g_bailout_test; 17 | extern int (*g_bailout_float)(); 18 | extern int (*g_bailout_bignum)(); 19 | extern int (*g_bailout_bigfloat)(); 20 | 21 | void set_bailout_formula(Bailout test); 22 | -------------------------------------------------------------------------------- /libid/include/engine/boundary_trace.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int boundary_trace(); 6 | -------------------------------------------------------------------------------- /libid/include/engine/calc_frac_init.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void calc_frac_init(); 6 | void adjust_corner(); 7 | void adjust_corner_bf(); 8 | void fractal_float_to_bf(); 9 | -------------------------------------------------------------------------------- /libid/include/engine/calmanfp.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void calc_mandelbrot_init(); 6 | long mandelbrot_orbit(); 7 | -------------------------------------------------------------------------------- /libid/include/engine/check_key.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | bool check_key(); 6 | -------------------------------------------------------------------------------- /libid/include/engine/convert_center_mag.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "math/big.h" 6 | 7 | #include 8 | 9 | void cvt_center_mag(double &ctr_x, double &ctr_y, LDouble &mag, double &x_mag_factor, double &rot, double &skew); 10 | void cvt_center_mag_bf(BigFloat ctr_x, BigFloat ctr_y, LDouble &mag, double &x_mag_factor, double &rot, double &skew); 11 | -------------------------------------------------------------------------------- /libid/include/engine/convert_corners.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "math/big.h" 6 | 7 | #include 8 | 9 | void cvt_corners(double ctr_x, double ctr_y, LDouble mag, double x_mag_factor, double rot, double skew); 10 | void cvt_corners_bf(BigFloat ctr_x, BigFloat ctr_y, LDouble mag, double x_mag_factor, double rot, double skew); 11 | -------------------------------------------------------------------------------- /libid/include/engine/diffusion_scan.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | extern unsigned int g_diffusion_bits; 6 | extern unsigned long g_diffusion_counter; 7 | extern unsigned long g_diffusion_limit; 8 | 9 | int diffusion_scan(); 10 | -------------------------------------------------------------------------------- /libid/include/engine/engine_timer.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | extern bool g_timer_flag; 6 | extern long g_timer_interval; 7 | extern long g_timer_start; 8 | 9 | int engine_timer(int (*fn)()); 10 | int encoder_timer(); 11 | int decoder_timer(int width); 12 | -------------------------------------------------------------------------------- /libid/include/engine/find_extra_param.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "fractals/fractype.h" 6 | 7 | int find_extra_param(FractalType type); 8 | -------------------------------------------------------------------------------- /libid/include/engine/get_julia_attractor.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void get_julia_attractor(double real, double imag); 6 | -------------------------------------------------------------------------------- /libid/include/engine/get_prec_big_float.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "math/big.h" 6 | 7 | int get_prec_bf(ResolutionFlag flag); 8 | int get_prec_bf_mag(); 9 | -------------------------------------------------------------------------------- /libid/include/engine/one_or_two_pass.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int one_or_two_pass(); 6 | -------------------------------------------------------------------------------- /libid/include/engine/orbit.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void iplot_orbit(long real, long imag, int color); 6 | void plot_orbit(double real, double imag, int color); 7 | void scrub_orbit(); 8 | -------------------------------------------------------------------------------- /libid/include/engine/param_not_used.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | bool param_not_used(int param); 6 | -------------------------------------------------------------------------------- /libid/include/engine/perturbation.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | bool perturbation(); 6 | -------------------------------------------------------------------------------- /libid/include/engine/pixel_grid.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | extern bool g_use_grid; 8 | extern std::vector g_grid_x0; 9 | extern std::vector g_grid_x1; 10 | extern std::vector g_grid_y0; 11 | extern std::vector g_grid_y1; 12 | extern double (*g_dx_pixel)(); 13 | extern double (*g_dy_pixel)(); 14 | 15 | void set_pixel_calc_functions(); 16 | 17 | void set_grid_pointers(); 18 | void free_grid_pointers(); 19 | 20 | void fill_dx_array(); 21 | -------------------------------------------------------------------------------- /libid/include/engine/pixel_limits.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | enum 6 | { 7 | MAX_PIXELS = 32767, // Maximum pixel count across/down the screen 8 | OLD_MAX_PIXELS = 2048, // Limit of some old fixed arrays 9 | MIN_PIXELS = 10 // Minimum pixel count across/down the screen 10 | }; 11 | -------------------------------------------------------------------------------- /libid/include/engine/soi.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | extern int g_max_rhombus_depth; 6 | extern int g_rhombus_depth; 7 | extern int g_rhombus_stack[]; 8 | extern int g_soi_min_stack; 9 | extern int g_soi_min_stack_available; 10 | 11 | void soi(); 12 | void soi_ldbl(); 13 | -------------------------------------------------------------------------------- /libid/include/engine/solid_guess.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | // used by solid guessing and by zoom panning 6 | int ssg_block_size(); 7 | int solid_guess(); 8 | -------------------------------------------------------------------------------- /libid/include/engine/sticky_orbits.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | extern char g_draw_mode; 6 | 7 | int sticky_orbits(); 8 | -------------------------------------------------------------------------------- /libid/include/engine/tesseral.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int tesseral(); 6 | -------------------------------------------------------------------------------- /libid/include/engine/type_has_param.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "fractals/fractype.h" 6 | 7 | bool type_has_param(FractalType type, int param, char *buf); 8 | -------------------------------------------------------------------------------- /libid/include/engine/wait_until.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void wait_until(int index, unsigned long wait_time); 6 | void sleep_ms(long ms); 7 | void reset_clock(); 8 | -------------------------------------------------------------------------------- /libid/include/fractals/ant.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int ant(); 6 | void free_ant_storage(); 7 | -------------------------------------------------------------------------------- /libid/include/fractals/barnsley.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int barnsley1_orbit(); 6 | int barnsley2_orbit(); 7 | int barnsley3_orbit(); 8 | -------------------------------------------------------------------------------- /libid/include/fractals/bifurcation.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int bifurcation(); 6 | int bifurc_add_trig_pi_orbit(); 7 | int bifurc_lambda_trig_orbit(); 8 | int bifurc_may_orbit(); 9 | bool bifurc_may_per_image(); 10 | int bifurc_set_trig_pi_orbit(); 11 | int bifurc_stewart_trig_orbit(); 12 | int bifurc_verhulst_trig_orbit(); 13 | -------------------------------------------------------------------------------- /libid/include/fractals/burning_ship.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "math/big.h" 6 | 7 | #include 8 | 9 | int burning_ship_bf_fractal(); 10 | int burning_ship_orbit(); 11 | void burning_ship_ref_pt(const std::complex ¢er, std::complex &z); 12 | void burning_ship_ref_pt_bf(const BFComplex ¢er, BFComplex &z); 13 | void burning_ship_perturb( 14 | const std::complex &ref, std::complex &delta_n, const std::complex &delta0); 15 | -------------------------------------------------------------------------------- /libid/include/fractals/cellular.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | extern bool g_cellular_next_screen; 6 | 7 | bool cellular_per_image(); 8 | int cellular(); 9 | -------------------------------------------------------------------------------- /libid/include/fractals/check_orbit_name.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | bool check_orbit_name(const char *orbit_name); 6 | -------------------------------------------------------------------------------- /libid/include/fractals/circle_pattern.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int circle_orbit(); 6 | -------------------------------------------------------------------------------- /libid/include/fractals/diffusion.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int diffusion(); 6 | -------------------------------------------------------------------------------- /libid/include/fractals/divide_brot.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | extern LDouble g_b_const; 8 | 9 | int divide_brot5_bf_per_pixel(); 10 | int divide_brot5_bn_per_pixel(); 11 | int divide_brot5_bn_fractal(); 12 | int divide_brot5_orbit_bf(); 13 | bool divide_brot5_per_imge(); 14 | int divide_brot5_per_pixel(); 15 | int divide_brot5_orbit(); 16 | -------------------------------------------------------------------------------- /libid/include/fractals/escher.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int escher_orbit(); 6 | -------------------------------------------------------------------------------- /libid/include/fractals/fn_or_fn.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | bool mandel_trig_or_trig_per_image(); 6 | bool man_lam_trig_or_trig_per_image(); 7 | 8 | bool lambda_trig_or_trig_per_image(); 9 | int lambda_trig_or_trig_orbit(); 10 | 11 | bool julia_trig_or_trig_per_image(); 12 | int julia_trig_or_trig_orbit(); 13 | -------------------------------------------------------------------------------- /libid/include/fractals/frasetup.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | bool mandel_perturbation_per_image(); 6 | bool mandel_z_power_perturbation_per_image(); 7 | bool burning_ship_per_image(); 8 | bool mandel_per_image(); 9 | bool standalone_per_image(); 10 | bool julia_per_image(); 11 | bool standard_per_image(); 12 | -------------------------------------------------------------------------------- /libid/include/fractals/frothy_basin.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int calc_froth(); 6 | void froth_cleanup(); 7 | int froth_orbit(); 8 | int froth_per_pixel(); 9 | bool froth_per_image(); 10 | -------------------------------------------------------------------------------- /libid/include/fractals/halley.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | bool halley_per_image(); 6 | int halley_orbit(); 7 | int halley_per_pixel(); 8 | -------------------------------------------------------------------------------- /libid/include/fractals/hypercomplex_mandelbrot.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int hyper_complex_orbit(); 6 | -------------------------------------------------------------------------------- /libid/include/fractals/ifs.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | enum 8 | { 9 | NUM_IFS_2D_PARAMS = 7, 10 | NUM_IFS_3D_PARAMS = 13 11 | }; 12 | 13 | extern int g_num_affine_transforms; 14 | 15 | char *get_ifs_token(char *buf, std::FILE *ifs_file); 16 | char *get_next_ifs_token(char *buf, std::FILE *ifs_file); 17 | 18 | int ifs_load(); 19 | -------------------------------------------------------------------------------- /libid/include/fractals/lambda_fn.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int lambda_orbit(); 6 | 7 | bool lambda_trig_per_image(); 8 | int lambda_trig_orbit(); 9 | 10 | bool mandel_trig_per_image(); 11 | -------------------------------------------------------------------------------- /libid/include/fractals/lsys_fns.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | inline bool is_pow2(int n) 8 | { 9 | return n == (n & -n); 10 | } 11 | 12 | LDouble get_number(const char **str); 13 | int lsystem(); 14 | bool lsystem_load(); 15 | -------------------------------------------------------------------------------- /libid/include/fractals/lyapunov.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | bool lyapunov_per_image(); 6 | int lyapunov(); 7 | int lyapunov_orbit(); 8 | -------------------------------------------------------------------------------- /libid/include/fractals/magnet.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void float_pre_calc_magnet2(); 6 | int magnet1_orbit(); 7 | int magnet2_orbit(); 8 | -------------------------------------------------------------------------------- /libid/include/fractals/mandelbrot_mix.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int mandelbrot_mix4_per_pixel(); 6 | int mandelbrot_mix4_orbit(); 7 | bool mandelbrot_mix4_per_image(); 8 | -------------------------------------------------------------------------------- /libid/include/fractals/newton.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "math/cmplx.h" 6 | 7 | void invertz2(DComplex *z); 8 | 9 | int newton_orbit(); 10 | 11 | bool complex_newton_per_image(); 12 | int complex_newton_orbit(); 13 | int complex_basin_orbit(); 14 | 15 | bool newton_per_image(); 16 | -------------------------------------------------------------------------------- /libid/include/fractals/peterson_variations.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "math/cmplx.h" 6 | 7 | extern DComplex g_marks_coefficient; 8 | 9 | bool marks_julia_per_image(); 10 | int marks_lambda_orbit(); 11 | int marks_cplx_mand_orbit(); 12 | int marks_mandel_pwr_orbit(); 13 | int tims_error_orbit(); 14 | int marks_mandel_per_pixel(); 15 | int marks_mandel_pwr_per_pixel(); 16 | int marks_cplx_mand_per_pixel(); 17 | -------------------------------------------------------------------------------- /libid/include/fractals/phoenix.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int phoenix_orbit(); 6 | int phoenix_per_pixel(); 7 | int mand_phoenix_per_pixel(); 8 | int phoenix_fractal_cplx_orbit(); 9 | int phoenix_plus_fractal(); 10 | int phoenix_minus_fractal(); 11 | int phoenix_cplx_plus_fractal(); 12 | int phoenix_cplx_minus_fractal(); 13 | bool phoenix_per_image(); 14 | bool mand_phoenix_per_image(); 15 | bool phoenix_cplx_per_image(); 16 | bool mand_phoenix_cplx_per_image(); 17 | -------------------------------------------------------------------------------- /libid/include/fractals/plasma.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int plasma(); 6 | -------------------------------------------------------------------------------- /libid/include/fractals/popcorn.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int popcorn(); 6 | int popcorn_fractal(); 7 | int popcorn_orbit(); 8 | -------------------------------------------------------------------------------- /libid/include/fractals/population.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | extern double g_population; 8 | extern double g_rate; 9 | 10 | inline bool population_exceeded() 11 | { 12 | constexpr double LIMIT{100000.0}; 13 | return std::abs(g_population) > LIMIT; 14 | } 15 | 16 | inline int population_orbit() 17 | { 18 | return population_exceeded() ? 1 : 0; 19 | } 20 | -------------------------------------------------------------------------------- /libid/include/fractals/quartic_mandelbrot.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int mandel4_orbit(); 6 | -------------------------------------------------------------------------------- /libid/include/fractals/quaternion_mandelbrot.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int quaternion_orbit(); 6 | int quaternion_per_pixel(); 7 | int quaternion_jul_per_pixel(); 8 | -------------------------------------------------------------------------------- /libid/include/fractals/sierpinski_gasket.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | bool sierpinski_per_image(); 6 | 7 | int sierpinski_orbit(); 8 | -------------------------------------------------------------------------------- /libid/include/fractals/taylor_skinner_variations.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int sqr_trig_orbit(); 6 | 7 | bool trig_plus_trig_per_image(); 8 | int trig_plus_trig_orbit(); 9 | 10 | bool fn_x_fn_per_image(); 11 | int trig_x_trig_orbit(); 12 | 13 | int trig_z_sqrd_orbit(); 14 | 15 | bool sqr_trig_per_image(); 16 | int sqr_1_over_trig_orbit(); 17 | 18 | bool z_x_trig_plus_z_per_image(); 19 | int z_x_trig_plus_z_orbit(); 20 | 21 | int man_o_war_orbit(); 22 | 23 | int richard_8_orbit(); 24 | int other_richard_8_per_pixel(); 25 | 26 | int spider_orbit(); 27 | 28 | int tetrate_orbit(); 29 | -------------------------------------------------------------------------------- /libid/include/fractals/testpt.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int test(); 6 | int test_start(); 7 | void test_end(); 8 | int test_pt(double init_real, double init_imag, double param1, double param2, long max_iter, int inside); 9 | -------------------------------------------------------------------------------- /libid/include/fractals/unity.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int unity_orbit(); 6 | -------------------------------------------------------------------------------- /libid/include/fractals/volterra_lotka.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int vl_orbit(); 6 | bool vl_per_image(); 7 | -------------------------------------------------------------------------------- /libid/include/io/check_write_file.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | void check_write_file(std::string &name, const char *ext); 8 | -------------------------------------------------------------------------------- /libid/include/io/decoder.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | extern int (*g_out_line)(Byte *, int); 8 | 9 | short decoder(short line_width); 10 | void set_byte_buff(Byte *ptr); 11 | -------------------------------------------------------------------------------- /libid/include/io/dir_file.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | #include 7 | 8 | int dir_remove(const char *dir, const char *filename); 9 | inline int dir_remove(const std::string &dir, const std::string &filename) 10 | { 11 | return dir_remove(dir.c_str(), filename.c_str()); 12 | } 13 | std::FILE *dir_fopen(const char *dir, const char *filename, const char *mode); 14 | -------------------------------------------------------------------------------- /libid/include/io/encoder.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | #include 8 | 9 | extern Byte g_block[]; 10 | 11 | int save_image(std::string &filename); 12 | bool encoder(); 13 | -------------------------------------------------------------------------------- /libid/include/io/ends_with_slash.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int ends_with_slash(const char *fl); 6 | -------------------------------------------------------------------------------- /libid/include/io/expand_dirname.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int expand_dir_name(char *dirname, char *drive); 6 | -------------------------------------------------------------------------------- /libid/include/io/extract_filename.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | #include 7 | 8 | inline std::string extract_file_name(const char *source) 9 | { 10 | return std::filesystem::path(source).filename().string(); 11 | } 12 | -------------------------------------------------------------------------------- /libid/include/io/file_gets.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | int file_gets(char *buf, int max_len, std::FILE *infile); 8 | -------------------------------------------------------------------------------- /libid/include/io/find_file.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | enum 10 | { 11 | SUB_DIR = 1 12 | }; 13 | 14 | struct DirSearch 15 | { 16 | std::string path; // path and filespec 17 | char attribute; // File attributes wanted 18 | std::string filename; // Filename and extension 19 | }; 20 | 21 | extern DirSearch g_dta; 22 | 23 | int fr_find_first(const char *path); 24 | int fr_find_next(); 25 | -------------------------------------------------------------------------------- /libid/include/io/find_path.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | std::string find_path(const char *filename, const std::function &get_env); 10 | 11 | inline std::string find_path(const char *filename) 12 | { 13 | return find_path(filename, [](const char *var) -> const char * { return std::getenv(var); }); 14 | } 15 | -------------------------------------------------------------------------------- /libid/include/io/fix_dirname.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | void fix_dir_name(char *dirname); 8 | void fix_dir_name(std::string &dirname); 9 | -------------------------------------------------------------------------------- /libid/include/io/get_disk_space.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | unsigned long get_disk_space(); 6 | -------------------------------------------------------------------------------- /libid/include/io/gifview.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | extern unsigned int g_height; 8 | extern unsigned g_num_colors; 9 | 10 | int get_byte(); 11 | int get_bytes(Byte *where, int how_many); 12 | int gif_view(); 13 | int pot_line(Byte *pixels, int line_len); 14 | int sound_line(Byte *pixels, int line_len); 15 | -------------------------------------------------------------------------------- /libid/include/io/has_ext.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | const char *has_ext(const char *source); 6 | -------------------------------------------------------------------------------- /libid/include/io/is_directory.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | inline bool is_a_directory(const char *s) 8 | { 9 | return std::filesystem::is_directory(s); 10 | } 11 | -------------------------------------------------------------------------------- /libid/include/io/is_writeable.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | inline bool is_writeable(const std::filesystem::path &path) 8 | { 9 | namespace fs = std::filesystem; 10 | constexpr fs::perms read_write{fs::perms::owner_read | fs::perms::owner_write}; 11 | return (status(path).permissions() & read_write) == read_write; 12 | } 13 | -------------------------------------------------------------------------------- /libid/include/io/load_config.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "ui/video_mode.h" 6 | 7 | #include 8 | 9 | extern int g_cfg_line_nums[MAX_VIDEO_MODES]; 10 | 11 | void load_config(); 12 | void load_config(const std::string &cfg_path); 13 | -------------------------------------------------------------------------------- /libid/include/io/load_entry_text.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | constexpr char SCROLL_MARKER = '\021'; 8 | 9 | void load_entry_text( 10 | std::FILE *entry_file, 11 | char *buf, 12 | int max_lines, 13 | int start_row, 14 | int start_col); 15 | -------------------------------------------------------------------------------- /libid/include/io/loadmap.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | // returns true on error 6 | bool validate_luts(const char *map_name); 7 | void set_color_palette_name(const char *fn); 8 | -------------------------------------------------------------------------------- /libid/include/io/locate_input_file.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | // Return full path to filename, or empty string if not found. 8 | std::string locate_input_file(const std::string &name); 9 | -------------------------------------------------------------------------------- /libid/include/io/merge_path_names.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | enum class CmdFile; 8 | 9 | // copies the proposed new filename to the fullpath variable 10 | // does not copy directories for PAR files 11 | // (modes AT_AFTER_STARTUP and AT_CMD_LINE_SET_NAME) 12 | // attempts to extract directory and test for existence 13 | // (modes AT_CMD_LINE and SSTOOLS_INI) 14 | int merge_path_names(char *old_full_path, const char *new_filename, CmdFile mode); 15 | int merge_path_names(std::string &old_full_path, const char *new_filename, CmdFile mode); 16 | -------------------------------------------------------------------------------- /libid/include/io/path_match.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | #include 7 | 8 | using MatchFn = std::function; 9 | 10 | MatchFn match_fn(const std::filesystem::path &pattern); 11 | -------------------------------------------------------------------------------- /libid/include/io/save_file.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | std::filesystem::path get_save_name(const std::string &name); 10 | std::FILE *open_save_file(const std::string &name, const std::string &mode); 11 | -------------------------------------------------------------------------------- /libid/include/io/save_timer.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | enum class TimedSave 6 | { 7 | NONE = 0, 8 | STARTED = 1, 9 | FINAL = 2, 10 | }; 11 | 12 | extern TimedSave g_resave_flag; 13 | extern int g_save_time_interval; 14 | extern bool g_started_resaves; 15 | extern TimedSave g_timed_save; 16 | 17 | void start_save_timer(); 18 | void stop_save_timer(); 19 | bool auto_save_needed(); 20 | -------------------------------------------------------------------------------- /libid/include/io/search_path.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | #ifdef WIN32 10 | constexpr const char *const PATH_SEPARATOR{";"}; 11 | #else 12 | constexpr const char *const PATH_SEPARATOR{":"}; 13 | #endif 14 | 15 | std::string search_path(const char *filename, const char *path_var, std::function get_env); 16 | 17 | inline std::string search_path(const char * filename, const char *path_var) 18 | { 19 | return search_path(filename, path_var, [](const char *var) -> const char * { return std::getenv(var); }); 20 | } 21 | -------------------------------------------------------------------------------- /libid/include/io/special_dirs.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | extern std::string g_save_dir; 8 | 9 | std::string get_executable_dir(); 10 | std::string get_documents_dir(); 11 | -------------------------------------------------------------------------------- /libid/include/io/split_path.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | void split_path(const std::string &file_template, char *drive, char *dir, char *fname, char *ext); 8 | 9 | inline void split_fname_ext(const std::string &file_template, char *fname, char *ext) 10 | { 11 | split_path(file_template, nullptr, nullptr, fname, ext); 12 | } 13 | 14 | inline void split_drive_dir(const std::string &file_template, char *drive, char *dir) 15 | { 16 | split_path(file_template, drive, dir, nullptr, nullptr); 17 | } 18 | -------------------------------------------------------------------------------- /libid/include/io/trim_filename.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | std::string trim_file_name(const std::string &file_name, int length); 8 | -------------------------------------------------------------------------------- /libid/include/io/update_save_name.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | std::string next_save_name(const std::string &filename); 8 | 9 | void update_save_name(char *filename); 10 | 11 | inline void update_save_name(std::string &filename) 12 | { 13 | filename = next_save_name(filename); 14 | } 15 | -------------------------------------------------------------------------------- /libid/include/math/fpu087.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "math/cmplx.h" 6 | 7 | constexpr double ID_INFINITY{1.0e+300}; 8 | 9 | void fpu_cmplx_mul(const DComplex *x, const DComplex *y, DComplex *z); // z = x * y 10 | void fpu_cmplx_div(const DComplex *x, const DComplex *y, DComplex *z); // z = x / y 11 | void fpu_cmplx_log(const DComplex *x, DComplex *z); // z = log(x) 12 | void fpu_cmplx_exp(const DComplex *x, DComplex *z); // z = e^x 13 | void sin_cos(const double *angle, double *sine, double *cosine); 14 | void sinh_cosh(const double *angle, double *sine, double *cosine); 15 | -------------------------------------------------------------------------------- /libid/include/math/rand15.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | #define RAND15() (std::rand() & 0x7FFF) 8 | -------------------------------------------------------------------------------- /libid/include/math/round_float_double.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void round_float_double(double *x); 6 | -------------------------------------------------------------------------------- /libid/include/math/sign.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | template 6 | int sign(T x) 7 | { 8 | return (T{} < x) - (x < T{}); 9 | } 10 | -------------------------------------------------------------------------------- /libid/include/math/sqr.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | template 6 | T sqr(T x) 7 | { 8 | return x * x; 9 | } 10 | -------------------------------------------------------------------------------- /libid/include/misc/sized_types.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | using S8 = std::int8_t; 8 | using U16 = std::uint16_t; 9 | using S16 = std::int16_t; 10 | using U32 = std::uint32_t; 11 | using S32 = std::int32_t; 12 | -------------------------------------------------------------------------------- /libid/include/misc/stack_avail.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | long stack_avail(); 6 | -------------------------------------------------------------------------------- /libid/include/misc/usec_clock.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | // TODO: replace with clock. 6 | using uclock_t = unsigned long; 7 | uclock_t usec_clock(); 8 | void restart_uclock(); 9 | -------------------------------------------------------------------------------- /libid/include/ui/do_pause.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void do_pause(int action); 6 | -------------------------------------------------------------------------------- /libid/include/ui/double_to_string.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void double_to_string(char *buf, double val); 6 | -------------------------------------------------------------------------------- /libid/include/ui/evolver_menu_switch.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "ui/main_state.h" 6 | 7 | MainState evolver_menu_switch(MainContext &context); 8 | -------------------------------------------------------------------------------- /libid/include/ui/field_prompt.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int field_prompt(const char *hdg, const char *instr, char *fld, int len, int (*check_key)(int key)); 6 | -------------------------------------------------------------------------------- /libid/include/ui/file_item.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | #include 7 | 8 | enum class ItemType 9 | { 10 | PAR_SET = 0, 11 | FORMULA = 1, 12 | L_SYSTEM = 2, 13 | IFS = 3, 14 | }; 15 | 16 | bool find_file_item(std::string &filename, const char *item_name, std::FILE **file_ptr, ItemType item_type); 17 | 18 | long get_file_entry(ItemType type, std::string &filename, std::string &entry_name); 19 | 20 | bool search_for_entry(std::FILE *infile, const char *item_name); 21 | -------------------------------------------------------------------------------- /libid/include/ui/find_special_colors.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | extern int g_color_dark; // darkest color in palette 6 | extern int g_color_bright; // brightest color in palette 7 | extern int g_color_medium; // nearest to medbright grey in palette Zoom-Box values (2K x 2K screens max) 8 | 9 | void find_special_colors(); 10 | -------------------------------------------------------------------------------- /libid/include/ui/flip_image.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "ui/main_state.h" 6 | 7 | MainState flip_image(MainContext &context); 8 | -------------------------------------------------------------------------------- /libid/include/ui/get_3d_params.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | extern const std::string g_glasses1_map; 8 | 9 | int get_3d_params(); 10 | int get_fract3d_params(); 11 | -------------------------------------------------------------------------------- /libid/include/ui/get_a_number.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int get_a_number(double *x, double *y); 6 | -------------------------------------------------------------------------------- /libid/include/ui/get_browse_params.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int get_browse_params(); 6 | -------------------------------------------------------------------------------- /libid/include/ui/get_calculation_time.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | std::string get_calculation_time(long calc_time); 8 | -------------------------------------------------------------------------------- /libid/include/ui/get_cmd_string.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int get_cmd_string(); 6 | -------------------------------------------------------------------------------- /libid/include/ui/get_commands.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "ui/cmdfiles.h" 6 | 7 | CmdArgFlags get_commands(); 8 | -------------------------------------------------------------------------------- /libid/include/ui/get_corners.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int get_corners(); 6 | int get_screen_corners(); 7 | -------------------------------------------------------------------------------- /libid/include/ui/get_fract_type.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "fractals/fractype.h" 6 | 7 | int get_fract_type(); 8 | int get_fract_params(bool prompt_for_type_params); 9 | void set_fractal_default_functions(FractalType previous); 10 | -------------------------------------------------------------------------------- /libid/include/ui/get_key_no_help.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int get_a_key_no_help(); 6 | -------------------------------------------------------------------------------- /libid/include/ui/get_rds_params.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int get_rds_params(); 6 | -------------------------------------------------------------------------------- /libid/include/ui/get_sound_params.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int get_sound_params(); 6 | -------------------------------------------------------------------------------- /libid/include/ui/get_toggles.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int get_toggles(); 6 | -------------------------------------------------------------------------------- /libid/include/ui/get_toggles2.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int get_toggles2(); 6 | -------------------------------------------------------------------------------- /libid/include/ui/get_video_mode.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | struct ExtBlock3; 6 | struct FractalInfo; 7 | 8 | int get_video_mode(FractalInfo *info, ExtBlock3 *blk_3_info); 9 | -------------------------------------------------------------------------------- /libid/include/ui/get_view_params.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int get_view_params(); 6 | -------------------------------------------------------------------------------- /libid/include/ui/goodbye.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | [[noreturn]] void goodbye(); 6 | -------------------------------------------------------------------------------- /libid/include/ui/help_title.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void help_title(); 6 | -------------------------------------------------------------------------------- /libid/include/ui/history.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | extern bool g_history_flag; 6 | extern int g_history_ptr; 7 | extern int g_max_image_history; 8 | 9 | void history_init(); 10 | void restore_history_info(int i); 11 | void save_history_info(); 12 | -------------------------------------------------------------------------------- /libid/include/ui/id_main.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int id_main(int argc, char *argv[]); 6 | -------------------------------------------------------------------------------- /libid/include/ui/init_failure.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void init_failure(const char *message); 6 | -------------------------------------------------------------------------------- /libid/include/ui/intro.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | extern bool g_slow_display; 6 | 7 | void intro(); 8 | -------------------------------------------------------------------------------- /libid/include/ui/load_params.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "fractals/fractype.h" 6 | 7 | void load_params(FractalType type); 8 | -------------------------------------------------------------------------------- /libid/include/ui/lowerize_parameter.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void lowerize_parameter(char *cur_arg); 6 | -------------------------------------------------------------------------------- /libid/include/ui/main_menu.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int main_menu(bool full_menu); 6 | -------------------------------------------------------------------------------- /libid/include/ui/main_menu_switch.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "ui/main_state.h" 6 | 7 | MainState main_menu_switch(MainContext &context); 8 | -------------------------------------------------------------------------------- /libid/include/ui/main_state.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | enum class MainState 6 | { 7 | NOTHING = 0, 8 | RESTART, 9 | IMAGE_START, 10 | RESTORE_START, 11 | CONTINUE, 12 | RESUME_LOOP 13 | }; 14 | 15 | struct MainContext 16 | { 17 | int key{}; // 18 | bool from_mandel{}; // 19 | bool more_keys{}; // continuation variable 20 | bool stacked{}; // flag to indicate screen stacked 21 | bool resume{}; // 22 | }; 23 | -------------------------------------------------------------------------------- /libid/include/ui/make_batch_file.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | enum 6 | { 7 | MAX_MAX_LINE_LENGTH = 128, // upper limit for g_max_line_length for PARs 8 | MIN_MAX_LINE_LENGTH = 40 // lower limit for g_max_line_length for PARs 9 | }; 10 | 11 | struct WriteBatchData // buffer for parms to break lines nicely 12 | { 13 | int len; 14 | char buf[10000]; 15 | }; 16 | 17 | extern bool g_make_parameter_file; 18 | extern bool g_make_parameter_file_map; 19 | extern int g_max_line_length; 20 | 21 | void make_batch_file(); 22 | void put_encoded_colors(WriteBatchData &wb_data, int max_color); 23 | -------------------------------------------------------------------------------- /libid/include/ui/make_mig.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void make_mig(unsigned int x_mult, unsigned int y_mult); 6 | -------------------------------------------------------------------------------- /libid/include/ui/not_disk_msg.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void not_disk_msg(); 6 | -------------------------------------------------------------------------------- /libid/include/ui/passes_options.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int passes_options(); 6 | -------------------------------------------------------------------------------- /libid/include/ui/put_string_center.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int put_string_center(int row, int col, int width, int attr, const char *msg); 6 | -------------------------------------------------------------------------------- /libid/include/ui/read_ticker.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | long read_ticker(); 6 | -------------------------------------------------------------------------------- /libid/include/ui/rotate.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | #include 8 | 9 | extern Byte g_dac_box[256][3]; 10 | extern bool g_dac_learn; 11 | extern bool g_got_real_dac; // load_dac worked, really got a dac 12 | extern Byte g_old_dac_box[256][3]; 13 | extern std::string g_map_name; 14 | extern bool g_map_set; 15 | 16 | void rotate(int direction); 17 | void save_palette(); 18 | bool load_palette(); 19 | -------------------------------------------------------------------------------- /libid/include/ui/select_video_mode.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int select_video_mode(int current_mode); 6 | void request_video_mode(int &kbd_char); 7 | -------------------------------------------------------------------------------- /libid/include/ui/set_default_params.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void set_default_params(); 6 | void save_params(); 7 | void restore_params(); 8 | -------------------------------------------------------------------------------- /libid/include/ui/shell_sort.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | void shell_sort(void *v1, int n, unsigned sz); 6 | -------------------------------------------------------------------------------- /libid/include/ui/slideshw.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | enum class SlidesMode 8 | { 9 | OFF = 0, 10 | PLAY = 1, 11 | RECORD = 2 12 | }; 13 | 14 | extern std::string g_auto_name; 15 | extern bool g_busy; 16 | extern SlidesMode g_slides; 17 | 18 | int slide_show(); 19 | SlidesMode start_slide_show(); 20 | void stop_slide_show(); 21 | void record_show(int key); 22 | int handle_special_keys(int ch); 23 | -------------------------------------------------------------------------------- /libid/include/ui/sound.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | extern int g_fm_attack; 6 | extern int g_fm_decay; 7 | extern int g_fm_release; 8 | extern int g_fm_sustain; 9 | extern int g_fm_wave_type; 10 | extern int g_fm_volume; // volume of OPL-3 soundcard output 11 | extern int g_hi_attenuation; 12 | extern int g_polyphony; 13 | extern bool g_tab_or_help; 14 | 15 | bool sound_open(); 16 | void write_sound(int tone); 17 | void sound_time_write(); 18 | void close_sound(); 19 | -------------------------------------------------------------------------------- /libid/include/ui/spindac.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | extern int g_dac_count; 6 | extern bool g_is_true_color; 7 | 8 | void spin_dac(int dir, int inc); 9 | -------------------------------------------------------------------------------- /libid/include/ui/starfield.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | extern const std::string g_altern_map_file; 8 | 9 | int get_star_field_params(); 10 | int star_field(); 11 | -------------------------------------------------------------------------------- /libid/include/ui/stereo.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | #include 8 | 9 | extern int g_auto_stereo_depth; 10 | extern double g_auto_stereo_width; 11 | extern char g_calibrate; 12 | extern bool g_gray_flag; 13 | extern bool g_image_map; 14 | extern std::string g_stereo_map_filename; 15 | 16 | bool auto_stereo_convert(); 17 | int out_line_stereo(Byte *pixels, int line_len); 18 | -------------------------------------------------------------------------------- /libid/include/ui/tab_display.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | int tab_display(); 6 | -------------------------------------------------------------------------------- /libid/include/ui/temp_msg.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | // text_temp_msg(msg) displays a text message of up to 40 characters, waits 8 | // for a key press, restores the prior display, and returns (without eating the key). 9 | int text_temp_msg(const char *msg); 10 | bool show_temp_msg(const char *msg); 11 | inline bool show_temp_msg(const std::string &msg) 12 | { 13 | return show_temp_msg(msg.c_str()); 14 | } 15 | void clear_temp_msg(); 16 | void free_temp_msg(); 17 | -------------------------------------------------------------------------------- /libid/include/ui/text_screen.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | extern int g_text_col_base; // g_text_col is relative to this 6 | extern int g_text_row_base; // g_text_row is relative to this 7 | extern int g_text_col; // current column in text mode 8 | extern int g_text_row; // current row in text mode 9 | -------------------------------------------------------------------------------- /libid/include/ui/thinking.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | bool thinking(int options, const char *msg); 6 | -------------------------------------------------------------------------------- /libid/io/ends_with_slash.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "io/ends_with_slash.h" 4 | 5 | #include 6 | 7 | #include 8 | 9 | int ends_with_slash(const char *fl) 10 | { 11 | if (int len = (int) std::strlen(fl); len) 12 | { 13 | if (fl[--len] == SLASH_CH) 14 | { 15 | return 1; 16 | } 17 | } 18 | return 0; 19 | } 20 | -------------------------------------------------------------------------------- /libid/io/get_disk_space.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "io/get_disk_space.h" 4 | 5 | #include 6 | #include 7 | 8 | namespace fs = std::filesystem; 9 | 10 | unsigned long get_disk_space() 11 | { 12 | const fs::space_info info{fs::space(fs::current_path())}; 13 | const std::uintmax_t available{info.available}; 14 | if (available > std::numeric_limits::max()) 15 | { 16 | return std::numeric_limits::max(); 17 | } 18 | return static_cast(available); 19 | } 20 | -------------------------------------------------------------------------------- /libid/io/has_ext.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "io/has_ext.h" 4 | 5 | #include "io/split_path.h" 6 | 7 | #include 8 | 9 | #include 10 | 11 | // tells if filename has extension 12 | // returns pointer to period or nullptr 13 | const char *has_ext(const char *source) 14 | { 15 | char fname[ID_FILE_MAX_FNAME]; 16 | char ext[ID_FILE_MAX_EXT]{}; 17 | split_fname_ext(source, fname, ext); 18 | const char *ret = nullptr; 19 | if (ext[0] != 0) 20 | { 21 | ret = std::strrchr(source, '.'); 22 | } 23 | return ret; 24 | } 25 | -------------------------------------------------------------------------------- /libid/io/save_file.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "io/save_file.h" 4 | 5 | #include "io/special_dirs.h" 6 | 7 | #include 8 | 9 | namespace fs = std::filesystem; 10 | 11 | std::filesystem::path get_save_name(const std::string &name) 12 | { 13 | fs::path path{name}; 14 | if (path.is_relative()) 15 | { 16 | path = fs::path{g_save_dir} / path; 17 | } 18 | return path; 19 | } 20 | 21 | std::FILE *open_save_file(const std::string &name, const std::string &mode) 22 | { 23 | return std::fopen(get_save_name(name).string().c_str(), mode.c_str()); 24 | } 25 | -------------------------------------------------------------------------------- /libid/io/special_dirs.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "io/special_dirs.h" 4 | 5 | std::string g_save_dir{get_documents_dir()}; 6 | -------------------------------------------------------------------------------- /libid/math/arg.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "math/arg.h" 4 | 5 | Arg *g_arg1{}; 6 | Arg *g_arg2{}; 7 | void (*g_d_trig0)(){d_stk_sin}; 8 | void (*g_d_trig1)(){d_stk_sqr}; 9 | void (*g_d_trig2)(){d_stk_sinh}; 10 | void (*g_d_trig3)(){d_stk_cosh}; 11 | -------------------------------------------------------------------------------- /libid/math/fixed_pt.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "math/fixed_pt.h" 4 | 5 | bool g_overflow{}; 6 | -------------------------------------------------------------------------------- /libid/math/round_float_double.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "math/round_float_double.h" 4 | 5 | #include 6 | #include 7 | 8 | void round_float_double(double *x) // make double converted from float look ok 9 | { 10 | char buf[30]; 11 | std::sprintf(buf, "%-10.7g", *x); 12 | *x = std::atof(buf); 13 | } 14 | -------------------------------------------------------------------------------- /libid/misc/debug_flags.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "misc/debug_flags.h" 4 | 5 | DebugFlags g_debug_flag{DebugFlags::NONE}; // internal use only - you didn't see this 6 | -------------------------------------------------------------------------------- /libid/ui/double_to_string.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "ui/double_to_string.h" 4 | 5 | #include 6 | #include 7 | 8 | void double_to_string(char *buf, double val) 9 | { 10 | constexpr std::size_t length = 20; 11 | // cellular needs 16 12 | for (int i = 16; i > 0; --i) 13 | { 14 | std::sprintf(buf, "%.*g", i, val); 15 | if (std::strlen(buf) <= length) 16 | { 17 | return; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /libid/ui/get_calculation_time.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "ui/get_calculation_time.h" 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | std::string get_calculation_time(long calc_time) 10 | { 11 | if (calc_time < 0) 12 | { 13 | return "A long time! (> 24.855 days)"; 14 | } 15 | 16 | char msg[80]; 17 | std::snprintf(msg, std::size(msg), "%3ld:%02ld:%02ld.%02ld", calc_time/360000L, 18 | (calc_time%360000L)/6000, (calc_time%6000)/100, calc_time%100); 19 | return msg; 20 | } 21 | -------------------------------------------------------------------------------- /libid/ui/get_key_no_help.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "ui/get_key_no_help.h" 4 | 5 | #include "misc/Driver.h" 6 | #include "ui/id_keys.h" 7 | 8 | /* 9 | * This routine returns a key, ignoring F1 10 | */ 11 | int get_a_key_no_help() 12 | { 13 | int ch; 14 | do 15 | { 16 | ch = driver_get_key(); 17 | } 18 | while (ID_KEY_F1 == ch); 19 | return ch; 20 | } 21 | -------------------------------------------------------------------------------- /libid/ui/load_params.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "ui/load_params.h" 4 | 5 | #include "engine/find_extra_param.h" 6 | #include "engine/id_data.h" 7 | #include "fractals/fractalp.h" 8 | 9 | void load_params(FractalType type) 10 | { 11 | for (int i = 0; i < 4; ++i) 12 | { 13 | g_params[i] = get_fractal_specific(type)->params[i]; 14 | } 15 | if (const int extra = find_extra_param(type); extra > -1) 16 | { 17 | for (int i = 0; i < MAX_PARAMS - 4; i++) 18 | { 19 | g_params[i + 4] = g_more_fractal_params[extra].params[i]; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /libid/ui/not_disk_msg.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "ui/not_disk_msg.h" 4 | 5 | #include "ui/stop_msg.h" 6 | 7 | void not_disk_msg() 8 | { 9 | stop_msg("This type may be slow using a real-disk based 'video' mode, but may not \n" 10 | "be too bad if you have enough expanded or extended memory. Press to \n" 11 | "abort if it appears that your disk drive is working too hard."); 12 | } 13 | -------------------------------------------------------------------------------- /libid/ui/read_ticker.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | 4 | #include "ui/read_ticker.h" 5 | 6 | #include 7 | 8 | // returns current ticker value 9 | long read_ticker() 10 | { 11 | return std::clock(); 12 | } 13 | 14 | -------------------------------------------------------------------------------- /libid/ui/text_screen.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "ui/text_screen.h" 4 | 5 | int g_text_row{}; // for putstring(-1,...) 6 | int g_text_col{}; // for putstring(..,-1,...) 7 | int g_text_row_base{}; // g_text_row is relative to this 8 | int g_text_col_base{}; // g_text_col is relative to this 9 | -------------------------------------------------------------------------------- /packaging/ReadMe.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/packaging/ReadMe.txt -------------------------------------------------------------------------------- /packaging/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/packaging/banner.png -------------------------------------------------------------------------------- /packaging/dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/packaging/dialog.png -------------------------------------------------------------------------------- /packaging/github.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/packaging/github.ico -------------------------------------------------------------------------------- /packaging/package_description.txt: -------------------------------------------------------------------------------- 1 | Iterated Dynamics is a full-features fractal renderer that can produce many types 2 | of complex plane fractals as well as L-systems, iterated function systems (IFS) 3 | and cellular automata. 4 | -------------------------------------------------------------------------------- /packaging/patch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packaging/welcome.txt: -------------------------------------------------------------------------------- 1 | Welcome to Iterated Dynamics. 2 | -------------------------------------------------------------------------------- /tests/gif/barnsleyj1-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/barnsleyj1-int.gif -------------------------------------------------------------------------------- /tests/gif/barnsleyj2-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/barnsleyj2-int.gif -------------------------------------------------------------------------------- /tests/gif/barnsleyj3-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/barnsleyj3-int.gif -------------------------------------------------------------------------------- /tests/gif/barnsleym1-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/barnsleym1-int.gif -------------------------------------------------------------------------------- /tests/gif/barnsleym2-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/barnsleym2-int.gif -------------------------------------------------------------------------------- /tests/gif/barnsleym3-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/barnsleym3-int.gif -------------------------------------------------------------------------------- /tests/gif/bifeqsinpi-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/bifeqsinpi-int.gif -------------------------------------------------------------------------------- /tests/gif/biflambda-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/biflambda-int.gif -------------------------------------------------------------------------------- /tests/gif/bifmay-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/bifmay-int.gif -------------------------------------------------------------------------------- /tests/gif/bifplussinpi-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/bifplussinpi-int.gif -------------------------------------------------------------------------------- /tests/gif/bifstewart-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/bifstewart-int.gif -------------------------------------------------------------------------------- /tests/gif/bifurcation-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/bifurcation-int.gif -------------------------------------------------------------------------------- /tests/gif/extension1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/extension1.gif -------------------------------------------------------------------------------- /tests/gif/extension2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/extension2.gif -------------------------------------------------------------------------------- /tests/gif/extension3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/extension3.gif -------------------------------------------------------------------------------- /tests/gif/extension4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/extension4.gif -------------------------------------------------------------------------------- /tests/gif/extension5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/extension5.gif -------------------------------------------------------------------------------- /tests/gif/extension6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/extension6.gif -------------------------------------------------------------------------------- /tests/gif/extension7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/extension7.gif -------------------------------------------------------------------------------- /tests/gif/fnmulzz-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/fnmulzz-int.gif -------------------------------------------------------------------------------- /tests/gif/fnplusfn-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/fnplusfn-int.gif -------------------------------------------------------------------------------- /tests/gif/fntimesfn-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/fntimesfn-int.gif -------------------------------------------------------------------------------- /tests/gif/fnzfnpix-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/fnzfnpix-int.gif -------------------------------------------------------------------------------- /tests/gif/formula-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/formula-int.gif -------------------------------------------------------------------------------- /tests/gif/frothybasin-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/frothybasin-int.gif -------------------------------------------------------------------------------- /tests/gif/halleymp-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/halleymp-int.gif -------------------------------------------------------------------------------- /tests/gif/henon-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/henon-int.gif -------------------------------------------------------------------------------- /tests/gif/julfnplusexp-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/julfnplusexp-int.gif -------------------------------------------------------------------------------- /tests/gif/julfnzsqrd-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/julfnzsqrd-int.gif -------------------------------------------------------------------------------- /tests/gif/julia-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/julia-int.gif -------------------------------------------------------------------------------- /tests/gif/julia4-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/julia4-int.gif -------------------------------------------------------------------------------- /tests/gif/juliafnfn-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/juliafnfn-int.gif -------------------------------------------------------------------------------- /tests/gif/juliainverse-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/juliainverse-int.gif -------------------------------------------------------------------------------- /tests/gif/julibrot-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/julibrot-int.gif -------------------------------------------------------------------------------- /tests/gif/julzpower-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/julzpower-int.gif -------------------------------------------------------------------------------- /tests/gif/kam-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/kam-int.gif -------------------------------------------------------------------------------- /tests/gif/kam3d-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/kam3d-int.gif -------------------------------------------------------------------------------- /tests/gif/lambda-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/lambda-int.gif -------------------------------------------------------------------------------- /tests/gif/lambdafn-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/lambdafn-int.gif -------------------------------------------------------------------------------- /tests/gif/lambdafnfn-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/lambdafnfn-int.gif -------------------------------------------------------------------------------- /tests/gif/lorenz-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/lorenz-int.gif -------------------------------------------------------------------------------- /tests/gif/lorenz3d-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/lorenz3d-int.gif -------------------------------------------------------------------------------- /tests/gif/mandel-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/mandel-int.gif -------------------------------------------------------------------------------- /tests/gif/mandel4-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/mandel4-int.gif -------------------------------------------------------------------------------- /tests/gif/mandelfn-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/mandelfn-int.gif -------------------------------------------------------------------------------- /tests/gif/mandelfnfn-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/mandelfnfn-int.gif -------------------------------------------------------------------------------- /tests/gif/mandellambda-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/mandellambda-int.gif -------------------------------------------------------------------------------- /tests/gif/mandphoenix-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/mandphoenix-int.gif -------------------------------------------------------------------------------- /tests/gif/mandphoenixcmplx-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/mandphoenixcmplx-int.gif -------------------------------------------------------------------------------- /tests/gif/manfnplusexp-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/manfnplusexp-int.gif -------------------------------------------------------------------------------- /tests/gif/manfnzsqrd-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/manfnzsqrd-int.gif -------------------------------------------------------------------------------- /tests/gif/manlamfnfn-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/manlamfnfn-int.gif -------------------------------------------------------------------------------- /tests/gif/manowar-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/manowar-int.gif -------------------------------------------------------------------------------- /tests/gif/manowarjulia-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/manowarjulia-int.gif -------------------------------------------------------------------------------- /tests/gif/manzpower-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/manzpower-int.gif -------------------------------------------------------------------------------- /tests/gif/marksjulia-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/marksjulia-int.gif -------------------------------------------------------------------------------- /tests/gif/marksmandel-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/marksmandel-int.gif -------------------------------------------------------------------------------- /tests/gif/marksmandelpower-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/marksmandelpower-int.gif -------------------------------------------------------------------------------- /tests/gif/newtbasin-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/newtbasin-int.gif -------------------------------------------------------------------------------- /tests/gif/newton-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/newton-int.gif -------------------------------------------------------------------------------- /tests/gif/phoenix-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/phoenix-int.gif -------------------------------------------------------------------------------- /tests/gif/phoenixcmplx-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/phoenixcmplx-int.gif -------------------------------------------------------------------------------- /tests/gif/popcorn-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/popcorn-int.gif -------------------------------------------------------------------------------- /tests/gif/popcornjulia-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/popcornjulia-int.gif -------------------------------------------------------------------------------- /tests/gif/rossler-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/rossler-int.gif -------------------------------------------------------------------------------- /tests/gif/sierpinski-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/sierpinski-int.gif -------------------------------------------------------------------------------- /tests/gif/spider-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/spider-int.gif -------------------------------------------------------------------------------- /tests/gif/sqr1fn-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/sqr1fn-int.gif -------------------------------------------------------------------------------- /tests/gif/sqrtrig-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/sqrtrig-int.gif -------------------------------------------------------------------------------- /tests/gif/timserror-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/timserror-int.gif -------------------------------------------------------------------------------- /tests/gif/trigsqr-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/trigsqr-int.gif -------------------------------------------------------------------------------- /tests/gif/unity-int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/gif/unity-int.gif -------------------------------------------------------------------------------- /tests/home/test.ifs.in: -------------------------------------------------------------------------------- 1 | ; SPDX-License-Identifier: GPL-3.0-only 2 | ; 3 | @ID_TEST_FIRST_IFS_NAME@ { ; comment allowed here 4 | ; and here 5 | @ID_TEST_FIRST_IFS_PARAM1@ .0 .0 .5 -2.563477 -0.000003 .333333 ; also comment allowed here 6 | } 7 | 8 | @ID_TEST_SECOND_IFS_NAME@ (3D) { 9 | .00 .00 0 .0 .18 .0 0 0.0 0.00 0 0.0 0 .01 10 | } 11 | -------------------------------------------------------------------------------- /tests/home/test.ini.in: -------------------------------------------------------------------------------- 1 | ; SPDX-License-Identifier: GPL-3.0-only 2 | ; 3 | [id] 4 | inside=0 5 | map=maps/default.map 6 | ifsfile=ifs/id.ifs 7 | parmfile=pars/id.par 8 | lfile=lsystem/id.l 9 | formulafile=formulas/id.frm 10 | autokeyname=key/auto.key 11 | float=yes 12 | -------------------------------------------------------------------------------- /tests/images/gold-bailout-and.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-bailout-and.gif -------------------------------------------------------------------------------- /tests/images/gold-bailout-imag.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-bailout-imag.gif -------------------------------------------------------------------------------- /tests/images/gold-bailout-manh.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-bailout-manh.gif -------------------------------------------------------------------------------- /tests/images/gold-bailout-manr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-bailout-manr.gif -------------------------------------------------------------------------------- /tests/images/gold-bailout-or.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-bailout-or.gif -------------------------------------------------------------------------------- /tests/images/gold-bailout-real.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-bailout-real.gif -------------------------------------------------------------------------------- /tests/images/gold-barnsleyj1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-barnsleyj1.gif -------------------------------------------------------------------------------- /tests/images/gold-barnsleyj2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-barnsleyj2.gif -------------------------------------------------------------------------------- /tests/images/gold-barnsleyj3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-barnsleyj3.gif -------------------------------------------------------------------------------- /tests/images/gold-barnsleym1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-barnsleym1.gif -------------------------------------------------------------------------------- /tests/images/gold-barnsleym2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-barnsleym2.gif -------------------------------------------------------------------------------- /tests/images/gold-barnsleym3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-barnsleym3.gif -------------------------------------------------------------------------------- /tests/images/gold-biflambda.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-biflambda.gif -------------------------------------------------------------------------------- /tests/images/gold-btrace.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-btrace.gif -------------------------------------------------------------------------------- /tests/images/gold-burning-ship.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-burning-ship.gif -------------------------------------------------------------------------------- /tests/images/gold-cellular.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-cellular.gif -------------------------------------------------------------------------------- /tests/images/gold-circle.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-circle.gif -------------------------------------------------------------------------------- /tests/images/gold-cmplxmarksjul.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-cmplxmarksjul.gif -------------------------------------------------------------------------------- /tests/images/gold-cmplxmarksmand.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-cmplxmarksmand.gif -------------------------------------------------------------------------------- /tests/images/gold-complexbasin.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-complexbasin.gif -------------------------------------------------------------------------------- /tests/images/gold-complexnewton.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-complexnewton.gif -------------------------------------------------------------------------------- /tests/images/gold-diffusion.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-diffusion.gif -------------------------------------------------------------------------------- /tests/images/gold-dividebrot5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-dividebrot5.gif -------------------------------------------------------------------------------- /tests/images/gold-dynamic.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-dynamic.gif -------------------------------------------------------------------------------- /tests/images/gold-escher_julia.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-escher_julia.gif -------------------------------------------------------------------------------- /tests/images/gold-fn-mul-fn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-fn-mul-fn.gif -------------------------------------------------------------------------------- /tests/images/gold-fn-mul-z-plus-z.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-fn-mul-z-plus-z.gif -------------------------------------------------------------------------------- /tests/images/gold-fn-plus-fn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-fn-plus-fn.gif -------------------------------------------------------------------------------- /tests/images/gold-fn-zsqr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-fn-zsqr.gif -------------------------------------------------------------------------------- /tests/images/gold-fnz-plus-fnpixel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-fnz-plus-fnpixel.gif -------------------------------------------------------------------------------- /tests/images/gold-fractint-formula.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-fractint-formula.gif -------------------------------------------------------------------------------- /tests/images/gold-frothybasin.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-frothybasin.gif -------------------------------------------------------------------------------- /tests/images/gold-gingerbreadman.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-gingerbreadman.gif -------------------------------------------------------------------------------- /tests/images/gold-halley.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-halley.gif -------------------------------------------------------------------------------- /tests/images/gold-henon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-henon.gif -------------------------------------------------------------------------------- /tests/images/gold-hypercomplex.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-hypercomplex.gif -------------------------------------------------------------------------------- /tests/images/gold-hypercomplexj.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-hypercomplexj.gif -------------------------------------------------------------------------------- /tests/images/gold-ifs-dragon-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-ifs-dragon-1.gif -------------------------------------------------------------------------------- /tests/images/gold-julfn-plus-exp.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-julfn-plus-exp.gif -------------------------------------------------------------------------------- /tests/images/gold-julfn-plus-zsqrd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-julfn-plus-zsqrd.gif -------------------------------------------------------------------------------- /tests/images/gold-julia-fn-or-fn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-julia-fn-or-fn.gif -------------------------------------------------------------------------------- /tests/images/gold-julia.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-julia.gif -------------------------------------------------------------------------------- /tests/images/gold-julia4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-julia4.gif -------------------------------------------------------------------------------- /tests/images/gold-julia_inverse.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-julia_inverse.gif -------------------------------------------------------------------------------- /tests/images/gold-julzpower.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-julzpower.gif -------------------------------------------------------------------------------- /tests/images/gold-julzzpwr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-julzzpwr.gif -------------------------------------------------------------------------------- /tests/images/gold-kamtorus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-kamtorus.gif -------------------------------------------------------------------------------- /tests/images/gold-kamtorus3d.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-kamtorus3d.gif -------------------------------------------------------------------------------- /tests/images/gold-lambda-fn-or-fn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-lambda-fn-or-fn.gif -------------------------------------------------------------------------------- /tests/images/gold-lambda.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-lambda.gif -------------------------------------------------------------------------------- /tests/images/gold-lambdafn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-lambdafn.gif -------------------------------------------------------------------------------- /tests/images/gold-lyapunov.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-lyapunov.gif -------------------------------------------------------------------------------- /tests/images/gold-magnet1j.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-magnet1j.gif -------------------------------------------------------------------------------- /tests/images/gold-magnet1m.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-magnet1m.gif -------------------------------------------------------------------------------- /tests/images/gold-magnet2j.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-magnet2j.gif -------------------------------------------------------------------------------- /tests/images/gold-magnet2m.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-magnet2m.gif -------------------------------------------------------------------------------- /tests/images/gold-mandel-fn-or-fn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-mandel-fn-or-fn.gif -------------------------------------------------------------------------------- /tests/images/gold-mandel-perturb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-mandel-perturb.gif -------------------------------------------------------------------------------- /tests/images/gold-mandel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-mandel.gif -------------------------------------------------------------------------------- /tests/images/gold-mandel4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-mandel4.gif -------------------------------------------------------------------------------- /tests/images/gold-mandelbrotmix4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-mandelbrotmix4.gif -------------------------------------------------------------------------------- /tests/images/gold-mandelcloud.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-mandelcloud.gif -------------------------------------------------------------------------------- /tests/images/gold-mandelfn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-mandelfn.gif -------------------------------------------------------------------------------- /tests/images/gold-mandellambda.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-mandellambda.gif -------------------------------------------------------------------------------- /tests/images/gold-mandphoenix.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-mandphoenix.gif -------------------------------------------------------------------------------- /tests/images/gold-mandphoenixclx.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-mandphoenixclx.gif -------------------------------------------------------------------------------- /tests/images/gold-manfn-plus-exp.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-manfn-plus-exp.gif -------------------------------------------------------------------------------- /tests/images/gold-manfn-plus-zsqrd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-manfn-plus-zsqrd.gif -------------------------------------------------------------------------------- /tests/images/gold-manlam-fn-or-fn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-manlam-fn-or-fn.gif -------------------------------------------------------------------------------- /tests/images/gold-manowar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-manowar.gif -------------------------------------------------------------------------------- /tests/images/gold-manowarj.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-manowarj.gif -------------------------------------------------------------------------------- /tests/images/gold-manzpower-3-perturb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-manzpower-3-perturb.gif -------------------------------------------------------------------------------- /tests/images/gold-manzpower-4-perturb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-manzpower-4-perturb.gif -------------------------------------------------------------------------------- /tests/images/gold-manzpower.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-manzpower.gif -------------------------------------------------------------------------------- /tests/images/gold-manzzpwr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-manzzpwr.gif -------------------------------------------------------------------------------- /tests/images/gold-marksjulia.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-marksjulia.gif -------------------------------------------------------------------------------- /tests/images/gold-marksmandel.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-marksmandel.gif -------------------------------------------------------------------------------- /tests/images/gold-marksmandelpwr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-marksmandelpwr.gif -------------------------------------------------------------------------------- /tests/images/gold-mossy-garden.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-mossy-garden.gif -------------------------------------------------------------------------------- /tests/images/gold-newtbasin.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-newtbasin.gif -------------------------------------------------------------------------------- /tests/images/gold-newton.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-newton.gif -------------------------------------------------------------------------------- /tests/images/gold-phoenix.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-phoenix.gif -------------------------------------------------------------------------------- /tests/images/gold-phoenixcplx.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-phoenixcplx.gif -------------------------------------------------------------------------------- /tests/images/gold-plasma.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-plasma.gif -------------------------------------------------------------------------------- /tests/images/gold-popcornjul.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-popcornjul.gif -------------------------------------------------------------------------------- /tests/images/gold-quat.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-quat.gif -------------------------------------------------------------------------------- /tests/images/gold-quatjul.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-quatjul.gif -------------------------------------------------------------------------------- /tests/images/gold-sierpinski.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-sierpinski.gif -------------------------------------------------------------------------------- /tests/images/gold-spider.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-spider.gif -------------------------------------------------------------------------------- /tests/images/gold-sqr-1-over-fn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-sqr-1-over-fn.gif -------------------------------------------------------------------------------- /tests/images/gold-sqr-fn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-sqr-fn.gif -------------------------------------------------------------------------------- /tests/images/gold-tetrate.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-tetrate.gif -------------------------------------------------------------------------------- /tests/images/gold-tim's_error.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-tim's_error.gif -------------------------------------------------------------------------------- /tests/images/gold-unity.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-unity.gif -------------------------------------------------------------------------------- /tests/images/gold-volterra-lotka.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/tests/images/gold-volterra-lotka.gif -------------------------------------------------------------------------------- /tests/include/expected_map.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include 6 | 7 | extern const Byte g_expected_map[256][3]; 8 | -------------------------------------------------------------------------------- /tests/io/test_find_file.txt.in: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: GPL-3.0-only 2 | 3 | This is sample file content for find_file. 4 | -------------------------------------------------------------------------------- /tests/io/test_save_file.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include 4 | 5 | #include "test_data.h" 6 | 7 | #include 8 | #include 9 | 10 | #include 11 | 12 | TEST(TestSaveFile, getSaveName) 13 | { 14 | ValueSaver saved_save_dir{g_save_dir, ID_TEST_DATA_DIR}; 15 | 16 | const std::filesystem::path result{get_save_name("foo.par")}; 17 | 18 | EXPECT_EQ(ID_TEST_DATA_DIR, result.parent_path().string()); 19 | EXPECT_EQ("foo.par", result.filename()); 20 | } 21 | -------------------------------------------------------------------------------- /tests/misc/test_ValueSaver.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include 4 | 5 | #include 6 | 7 | TEST(TestValueSaver, setsNewValue) 8 | { 9 | bool data{true}; 10 | 11 | ValueSaver saved_data(data, false); 12 | 13 | EXPECT_FALSE(data); 14 | } 15 | 16 | TEST(TestValueSaver, restoresOriginalValue) 17 | { 18 | bool data{true}; 19 | { 20 | ValueSaver saved_data(data, false); 21 | } 22 | 23 | EXPECT_TRUE(data); 24 | } 25 | -------------------------------------------------------------------------------- /tests/misc/test_driver.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include 4 | 5 | #include "MockDriver.h" 6 | 7 | #include 8 | #include 9 | 10 | using namespace testing; 11 | 12 | TEST(TestDriver, loadClose) 13 | { 14 | MockDriver gdi; 15 | EXPECT_CALL(gdi, init(nullptr, nullptr)).WillOnce(Return(true)); 16 | EXPECT_CALL(gdi, terminate()); 17 | 18 | load_driver(&gdi, nullptr, nullptr); 19 | 20 | EXPECT_EQ(&gdi, g_driver); 21 | 22 | close_drivers(); 23 | EXPECT_EQ(nullptr, g_driver); 24 | } 25 | -------------------------------------------------------------------------------- /tests/tools/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | add_subdirectory(image-tool) 4 | 5 | add_executable(image-compare image_compare.cpp) 6 | target_link_libraries(image-compare PUBLIC image-tool) 7 | target_folder(image-compare "Tests/Tools") 8 | 9 | add_executable(image-dump image_dump.cpp) 10 | target_link_libraries(image-dump PUBLIC image-tool) 11 | target_folder(image-dump "Tests/Tools") 12 | 13 | add_executable(colormap-compare colormap_compare.cpp) 14 | target_link_libraries(colormap-compare PUBLIC image-tool) 15 | target_folder(colormap-compare "Tests/Tools") 16 | -------------------------------------------------------------------------------- /tests/tools/image-tool/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-3.0-only 2 | # 3 | find_package(GIF REQUIRED) 4 | find_package(fmt CONFIG REQUIRED) 5 | 6 | add_library(image-tool STATIC 7 | include/image-tool/GIFInputFile.h GIFInputFile.cpp 8 | include/image-tool/gif_compare.h 9 | include/image-tool/gif_format.h 10 | include/image-tool/gif_json.h 11 | ) 12 | target_include_directories(image-tool PUBLIC include) 13 | target_link_libraries(image-tool PUBLIC GIF::GIF fmt::fmt-header-only) 14 | target_folder(image-tool "Tests/Libraries") 15 | -------------------------------------------------------------------------------- /unix/init_failure.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "ui/init_failure.h" 4 | 5 | #include 6 | 7 | void init_failure(char const *message) 8 | { 9 | std::printf("FAILED TO INITIALIZE\n%s\n", message); 10 | } 11 | -------------------------------------------------------------------------------- /unix/main.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include 4 | 5 | int main(int argc, char *argv[]) 6 | { 7 | return id_main(argc, argv); 8 | } 9 | -------------------------------------------------------------------------------- /unix/stack_avail.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "misc/stack_avail.h" 4 | 5 | /* 6 | *---------------------------------------------------------------------- 7 | * 8 | * stack_avail -- 9 | * 10 | * Returns amout of stack available. 11 | * 12 | * Results: 13 | * Available stack. 14 | * 15 | * Side effects: 16 | * None. 17 | * 18 | *---------------------------------------------------------------------- 19 | */ 20 | long stack_avail() 21 | { 22 | return 8192; 23 | } 24 | -------------------------------------------------------------------------------- /vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", 3 | "name": "iterated-dynamics", 4 | "version": "1.0.0", 5 | "dependencies": [ 6 | "boost-algorithm", 7 | "boost-endian", 8 | "cpuid", 9 | "fmt", 10 | "giflib", 11 | "gtest", 12 | { 13 | "name": "libx11", 14 | "platform": "!windows" 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /win32/Banner.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/win32/Banner.bmp -------------------------------------------------------------------------------- /win32/Id.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LegalizeAdulthood/iterated-dynamics/8ace036307f5341f4755567e7b1fdda61a0f763b/win32/Id.ico -------------------------------------------------------------------------------- /win32/create_minidump.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "win_defines.h" 6 | #include 7 | 8 | void create_minidump(EXCEPTION_POINTERS *ep); 9 | -------------------------------------------------------------------------------- /win32/init_failure.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "ui/init_failure.h" 4 | 5 | #include "win_defines.h" 6 | #include 7 | 8 | void init_failure(const char *message) 9 | { 10 | MessageBoxA(nullptr, message, "Id: Fatal Error", MB_OK); 11 | } 12 | -------------------------------------------------------------------------------- /win32/instance.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "instance.h" 4 | 5 | HINSTANCE g_instance{}; 6 | -------------------------------------------------------------------------------- /win32/instance.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | #include "win_defines.h" 6 | #include 7 | 8 | extern HINSTANCE g_instance; 9 | -------------------------------------------------------------------------------- /win32/resource.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | //{{NO_DEPENDENCIES}} 4 | // Microsoft Visual C++ generated include file. 5 | // Used by fractint.rc 6 | // 7 | #define IDI_ICON1 101 8 | #define IDI_ITERATED_DYNAMICS 101 9 | 10 | // Next default values for new objects 11 | // 12 | #ifdef APSTUDIO_INVOKED 13 | #ifndef APSTUDIO_READONLY_SYMBOLS 14 | #define _APS_NEXT_RESOURCE_VALUE 102 15 | #define _APS_NEXT_COMMAND_VALUE 40001 16 | #define _APS_NEXT_CONTROL_VALUE 1001 17 | #define _APS_NEXT_SYMED_VALUE 101 18 | #endif 19 | #endif 20 | -------------------------------------------------------------------------------- /win32/tos.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #include "tos.h" 4 | 5 | // Global variables (yuck!) 6 | char *g_top_of_stack{}; 7 | 8 | enum 9 | { 10 | WIN32_STACK_SIZE = 1024 * 1024 11 | }; 12 | 13 | // Return available stack space ... shouldn't be needed in Win32, should it? 14 | long stack_avail() 15 | { 16 | char junk{}; 17 | return WIN32_STACK_SIZE - (long)(g_top_of_stack - &junk); 18 | } 19 | -------------------------------------------------------------------------------- /win32/tos.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | extern char *g_top_of_stack; 6 | -------------------------------------------------------------------------------- /win32/win_defines.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0-only 2 | // 3 | #pragma once 4 | 5 | // Include this before including any Windows headers to minimize the 6 | // amount of stuff that gets brought in and increase safety. 7 | 8 | #ifndef WIN32_LEAN_AND_MEAN 9 | #define WIN32_LEAN_AND_MEAN 10 | #endif 11 | #ifndef STRICT 12 | #define STRICT 13 | #endif 14 | #ifndef NOMINMAX 15 | #define NOMINMAX 16 | #endif 17 | --------------------------------------------------------------------------------