From f3bf26548b571f7869c254f47b9c2f2c873c0a0c Mon Sep 17 00:00:00 2001 From: cianciosa Date: Sat, 8 Nov 2025 14:53:51 -0500 Subject: [PATCH] Fix commandline help. Add missing concepts. Add a single source header include for the framework. --- graph_framework.xcodeproj/project.pbxproj | 6 ++- .../xcschemes/arithmetic_test.xcscheme | 2 +- .../xcschemes/graph_driver.xcscheme | 2 +- .../xcshareddata/xcschemes/jit_test.xcscheme | 2 +- .../xcshareddata/xcschemes/math_test.xcscheme | 2 +- .../xcschemes/physics_test.xcscheme | 2 +- graph_framework/commandline_parser.hpp | 8 ++-- graph_framework/graph_framework.hpp | 38 +++++++++++++++++++ graph_framework/special_functions.hpp | 32 ++++++++++------ graph_playground/xplayground.cpp | 2 +- 10 files changed, 72 insertions(+), 24 deletions(-) create mode 100644 graph_framework/graph_framework.hpp diff --git a/graph_framework.xcodeproj/project.pbxproj b/graph_framework.xcodeproj/project.pbxproj index 854d12d..a84317c 100644 --- a/graph_framework.xcodeproj/project.pbxproj +++ b/graph_framework.xcodeproj/project.pbxproj @@ -393,6 +393,7 @@ C7CEA0052948EB0F00F61D09 /* cuda_context.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = cuda_context.hpp; sourceTree = ""; }; C7D12D992DBAB31F00925420 /* random.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = random.hpp; sourceTree = ""; }; C7D3C5B02C654AD3008AD8C6 /* efit_test.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; path = efit_test.cpp; sourceTree = ""; }; + C7D453872EBFD05D00A828DB /* graph_framework.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = graph_framework.hpp; sourceTree = ""; }; C7DC9EE02E39768300524F6F /* CMakeLists.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = ""; }; C7DC9EE12E39768300524F6F /* graph_c_binding.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = graph_c_binding.h; sourceTree = ""; }; C7DC9EE22E39768300524F6F /* graph_c_binding.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; path = graph_c_binding.cpp; sourceTree = ""; }; @@ -687,6 +688,7 @@ isa = PBXGroup; children = ( C7931E7028073BE70033B488 /* CMakeLists.txt */, + C7D453872EBFD05D00A828DB /* graph_framework.hpp */, C79141AE22DA9C3000E0BA0D /* node.hpp */, C72358F52C4027A10084A489 /* commandline_parser.hpp */, C70B705629F4F86A00098AA0 /* piecewise.hpp */, @@ -1176,7 +1178,7 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = YES; - LastUpgradeCheck = 1640; + LastUpgradeCheck = 2610; ORGANIZATIONNAME = "Cianciosa, Mark R."; TargetAttributes = { C7170CB82C66A10D003274E2 = { @@ -1952,6 +1954,7 @@ /usr/local/lib, ); SDKROOT = macosx; + STRING_CATALOG_GENERATE_SYMBOLS = YES; SYSTEM_HEADER_SEARCH_PATHS = ""; USER_HEADER_SEARCH_PATHS = ( LLVM/llvm/include, @@ -2120,6 +2123,7 @@ /usr/local/lib, ); SDKROOT = macosx; + STRING_CATALOG_GENERATE_SYMBOLS = YES; SYSTEM_HEADER_SEARCH_PATHS = ""; USER_HEADER_SEARCH_PATHS = ( LLVM/llvm/include, diff --git a/graph_framework.xcodeproj/xcshareddata/xcschemes/arithmetic_test.xcscheme b/graph_framework.xcodeproj/xcshareddata/xcschemes/arithmetic_test.xcscheme index 073c3f3..1688675 100644 --- a/graph_framework.xcodeproj/xcshareddata/xcschemes/arithmetic_test.xcscheme +++ b/graph_framework.xcodeproj/xcshareddata/xcschemes/arithmetic_test.xcscheme @@ -1,6 +1,6 @@ = 202002L + template +#else template +#endif T isqpi() { return static_cast (1)/sqrt(static_cast (M_PI)); } @@ -1461,20 +1465,24 @@ namespace special { /// @param[in] y imaginary argument. /// @returns erf(x+iy) //------------------------------------------------------------------------------ +#if __cplusplus >= 202002L + template +#else template +#endif complex_type taylor_erfi(const T x, const T y) { - const T x2 = sq(x); - const T y2 = sq(y); - const T expy2 = exp(y2); - return expy2*complex_type (x*(static_cast (1.1283791670955125739) - - x2*(static_cast (0.37612638903183752464) + - static_cast (0.75225277806367504925)*y2) + - x2*x2*(static_cast (0.11283791670955125739) + - y2*(static_cast (0.45135166683820502956) + - static_cast (0.15045055561273500986)*y2))), - (w_im(y) - x2*y*(static_cast (1.1283791670955125739) - - x2*(static_cast (0.56418958354775628695) + - static_cast (0.37612638903183752464)*y2)))); + const T x2 = sq(x); + const T y2 = sq(y); + const T expy2 = exp(y2); + return expy2*complex_type (x*(static_cast (1.1283791670955125739) - + x2*(static_cast (0.37612638903183752464) + + static_cast (0.75225277806367504925)*y2) + + x2*x2*(static_cast (0.11283791670955125739) + + y2*(static_cast (0.45135166683820502956) + + static_cast (0.15045055561273500986)*y2))), + (w_im(y) - x2*y*(static_cast (1.1283791670955125739) - + x2*(static_cast (0.56418958354775628695) + + static_cast (0.37612638903183752464)*y2)))); } //------------------------------------------------------------------------------ diff --git a/graph_playground/xplayground.cpp b/graph_playground/xplayground.cpp index de3868a..37264c2 100644 --- a/graph_playground/xplayground.cpp +++ b/graph_playground/xplayground.cpp @@ -2,7 +2,7 @@ /// @file xplayground.cpp /// @brief A playground area for testing example programs. //------------------------------------------------------------------------------ -#include "../graph_framework/jit.hpp" +#include "../graph_framework/graph_framework.hpp" //------------------------------------------------------------------------------ /// @brief Main program of the playground. -- GitLab