virtual-casing 0.2.1__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/.github/workflows/test.yml +46 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/.github/workflows/wheel.yml +13 -4
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/CMakeLists.txt +38 -2
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/MANIFEST.in +1 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/Makefile +5 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/PKG-INFO +10 -4
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/README.md +4 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/.github/run-tests.sh +17 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/.github/workflows/build-test.yml +190 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/.github/workflows/codecov.yml +2 -2
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/Makefile +52 -15
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/README.md +11 -2
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/convergence.svg +621 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/cubed-sphere.svg +728 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/near-1-foot.svg +77 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/near-2-split.svg +65 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/near-3-bisect.svg +146 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/near-4-order.svg +191 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/near-5-pipeline.svg +545 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/scaling.svg +300 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/self-1-split.svg +188 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/self-2-collapse.svg +251 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/self-3-rules.svg +299 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/self-4-pipeline.svg +533 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/Makefile +16 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/convergence.tex +29 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/cubed-sphere.tex +228 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/data/convergence-genoa.dat +5 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/data/genoa-96.txt +140 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/data/icelake-64.txt +134 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/data/rome-128.txt +140 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/data/scaling-genoa-laplace.dat +9 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/data/scaling-genoa-stokes.dat +9 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/data/scaling-mpi-tol1e-3-genoa-96-7204544.txt +338 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/near-1-foot.tex +24 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/near-2-split.tex +28 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/near-3-bisect.tex +32 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/near-4-order.tex +26 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/near-5-pipeline.tex +32 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/results.py +184 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/scaling.tex +24 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/self-1-split.tex +38 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/self-2-collapse.tex +39 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/self-3-rules.tex +29 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element/src/self-4-pipeline.tex +30 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/doc/algorithms/quad-element.rst +399 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/doc/doxygen/index.rst +0 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/doc/doxygen/kernel_functions.rst +2 -2
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/doc/index.rst +15 -2
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/doc/tutorial/index.rst +0 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/boundary_integral.hpp +9 -8
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/boundary_integral.txx +196 -145
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/comm.hpp +233 -39
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/comm.txx +898 -303
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/common.hpp +4 -2
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/alpert_quadr.cpp +169 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/alpert_quadr.hpp +59 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/device_scratch.hpp +241 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/device_scratch.txx +476 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/gpu-tree.hpp +433 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/gpu-tree.txx +2642 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/gpu-vector.hpp +86 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/quad_element.cpp +2364 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/quad_element.hpp +260 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/sort-scatter.hpp +145 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/experimental/sort-scatter.txx +383 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/fmm-wrapper.hpp +21 -2
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/fmm-wrapper.txx +99 -49
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/function-table.hpp +64 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/function-table.txx +383 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/generic-kernel.hpp +21 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/generic-kernel.txx +38 -31
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/intrin-wrapper.hpp +7922 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/iterator.hpp +61 -176
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/iterator.txx +41 -124
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/kernel_functions.hpp +21 -9
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/lagrange-interp.txx +1 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/lin-solve.txx +3 -3
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/mat_utils.txx +38 -10
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/math_utils.hpp +13 -2
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/math_utils.txx +791 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/matrix.hpp +23 -15
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/matrix.txx +58 -39
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/mem_mgr.txx +4 -5
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/morton.hpp +74 -7
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/morton.txx +94 -40
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/ode-solver.txx +1 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/ompUtils.hpp +96 -7
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/ompUtils.txx +235 -10
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/profile.hpp +27 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/profile.txx +99 -11
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/quadrule.txx +1 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/scratch_pool.hpp +76 -2
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/scratch_pool.txx +78 -16
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/small_gemm.hpp +86 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/small_gemm.txx +514 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/sort-scatter.hpp +157 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/sort-scatter.txx +412 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/sph_harm.txx +9 -23
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/sse2neon.h +32 -21
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/tensor.hpp +19 -5
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/tensor.txx +17 -10
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl/tree.hpp +71 -22
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/tree.txx +862 -768
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/vec-test.hpp +1410 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/vec.hpp +878 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/include/sctl/vec.txx +838 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/vector.hpp +2 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/vector.txx +37 -25
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/include/sctl.hpp +8 -1
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/bench-cubed-sphere.cpp +473 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/example-gpu-tree.cu +23 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-boundary_integral.cpp +1 -2
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/src/test-comm.cpp +106 -1
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-device-scratch.cu +125 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/src/test-fft-fallback.cpp +1 -6
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-function-table.cpp +88 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-gpu-sort-scatter.cu +32 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-gpu-tree.cu +775 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-intrin-wrapper.cpp +37 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/src/test-linear-solver.cpp +1 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-mat_utils.cpp +98 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-math_utils.cpp +68 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-matrix.cpp +54 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/src/test-morton.cpp +12 -7
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-ompUtils.cpp +321 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/src/test-profile.cpp +42 -1
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-pt-tree.cpp +158 -0
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-quad-elem.cpp +1606 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-scratch-pool-perf.cpp +3 -3
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-scratch-pool.cpp +77 -3
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-small-gemm.cpp +267 -0
- virtual_casing-0.2.1/extern/SCTL/src/test-pt-tree.cpp → virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-sort-scatter.cpp +2 -4
- virtual_casing-0.3.0/extern/BIEST/extern/SCTL/src/test-utils.hpp +99 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/src/test-vector.cpp +42 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-vtudata.cpp +1 -2
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test.cpp +1 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/include/biest/bie_solvers.hpp +11 -5
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/include/biest/bie_solvers.txx +62 -197
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/include/biest/boundary_integ_op.hpp +8 -3
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/include/biest/boundary_integ_op.txx +6 -3
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/include/biest/kernel.hpp +65 -39
- virtual_casing-0.3.0/extern/BIEST/include/biest/offsurface_op.hpp +154 -0
- virtual_casing-0.3.0/extern/BIEST/include/biest/offsurface_op.txx +617 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/include/biest/surface_op.txx +22 -10
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/include/biest/vacuum-field.hpp +2 -2
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/include/biest/vacuum-field.txx +21 -54
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/include/biest.hpp +1 -0
- virtual_casing-0.3.0/extern/SCTL/.github/run-tests.sh +17 -0
- virtual_casing-0.3.0/extern/SCTL/.github/workflows/build-test.yml +190 -0
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/.github/workflows/codecov.yml +2 -2
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/Makefile +52 -15
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/README.md +11 -2
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/convergence.svg +621 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/cubed-sphere.svg +728 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/near-1-foot.svg +77 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/near-2-split.svg +65 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/near-3-bisect.svg +146 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/near-4-order.svg +191 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/near-5-pipeline.svg +545 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/scaling.svg +300 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/self-1-split.svg +188 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/self-2-collapse.svg +251 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/self-3-rules.svg +299 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/self-4-pipeline.svg +533 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/Makefile +16 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/convergence.tex +29 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/cubed-sphere.tex +228 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/data/convergence-genoa.dat +5 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/data/genoa-96.txt +140 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/data/icelake-64.txt +134 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/data/rome-128.txt +140 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/data/scaling-genoa-laplace.dat +9 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/data/scaling-genoa-stokes.dat +9 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/data/scaling-mpi-tol1e-3-genoa-96-7204544.txt +338 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/near-1-foot.tex +24 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/near-2-split.tex +28 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/near-3-bisect.tex +32 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/near-4-order.tex +26 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/near-5-pipeline.tex +32 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/results.py +184 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/scaling.tex +24 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/self-1-split.tex +38 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/self-2-collapse.tex +39 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/self-3-rules.tex +29 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element/src/self-4-pipeline.tex +30 -0
- virtual_casing-0.3.0/extern/SCTL/doc/algorithms/quad-element.rst +399 -0
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/index.rst +0 -1
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/kernel_functions.rst +2 -2
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/doc/index.rst +15 -2
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/index.rst +0 -1
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/boundary_integral.hpp +9 -8
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/boundary_integral.txx +196 -145
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/comm.hpp +233 -39
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/comm.txx +898 -303
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/common.hpp +4 -2
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/alpert_quadr.cpp +169 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/alpert_quadr.hpp +59 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/device_scratch.hpp +241 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/device_scratch.txx +476 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/gpu-tree.hpp +433 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/gpu-tree.txx +2642 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/gpu-vector.hpp +86 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/quad_element.cpp +2364 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/quad_element.hpp +260 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/sort-scatter.hpp +145 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/experimental/sort-scatter.txx +383 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/fmm-wrapper.hpp +21 -2
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/fmm-wrapper.txx +99 -49
- virtual_casing-0.3.0/extern/SCTL/include/sctl/function-table.hpp +64 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/function-table.txx +383 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/generic-kernel.hpp +21 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/generic-kernel.txx +38 -31
- virtual_casing-0.3.0/extern/SCTL/include/sctl/intrin-wrapper.hpp +7922 -0
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/iterator.hpp +61 -176
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/iterator.txx +41 -124
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/kernel_functions.hpp +21 -9
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/lagrange-interp.txx +1 -1
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/lin-solve.txx +3 -3
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/mat_utils.txx +38 -10
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/math_utils.hpp +13 -2
- virtual_casing-0.3.0/extern/SCTL/include/sctl/math_utils.txx +791 -0
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/matrix.hpp +23 -15
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/matrix.txx +58 -39
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/mem_mgr.txx +4 -5
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/morton.hpp +74 -7
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/morton.txx +94 -40
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/ode-solver.txx +1 -1
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/ompUtils.hpp +96 -7
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/ompUtils.txx +235 -10
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/profile.hpp +27 -0
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/profile.txx +99 -11
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/quadrule.txx +1 -1
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/scratch_pool.hpp +76 -2
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/scratch_pool.txx +78 -16
- virtual_casing-0.3.0/extern/SCTL/include/sctl/small_gemm.hpp +86 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/small_gemm.txx +514 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/sort-scatter.hpp +157 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/sort-scatter.txx +412 -0
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/sph_harm.txx +9 -23
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/sse2neon.h +32 -21
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/tensor.hpp +19 -5
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/tensor.txx +17 -10
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl/tree.hpp +71 -22
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/tree.txx +862 -768
- virtual_casing-0.3.0/extern/SCTL/include/sctl/vec-test.hpp +1410 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/vec.hpp +878 -0
- virtual_casing-0.3.0/extern/SCTL/include/sctl/vec.txx +838 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/vector.hpp +2 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/vector.txx +37 -25
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/include/sctl.hpp +8 -1
- virtual_casing-0.3.0/extern/SCTL/src/bench-cubed-sphere.cpp +473 -0
- virtual_casing-0.3.0/extern/SCTL/src/example-gpu-tree.cu +23 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-boundary_integral.cpp +1 -2
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/src/test-comm.cpp +106 -1
- virtual_casing-0.3.0/extern/SCTL/src/test-device-scratch.cu +125 -0
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/src/test-fft-fallback.cpp +1 -6
- virtual_casing-0.3.0/extern/SCTL/src/test-function-table.cpp +88 -0
- virtual_casing-0.3.0/extern/SCTL/src/test-gpu-sort-scatter.cu +32 -0
- virtual_casing-0.3.0/extern/SCTL/src/test-gpu-tree.cu +775 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-intrin-wrapper.cpp +37 -1
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/src/test-linear-solver.cpp +1 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-mat_utils.cpp +98 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-math_utils.cpp +68 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-matrix.cpp +54 -0
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/src/test-morton.cpp +12 -7
- virtual_casing-0.3.0/extern/SCTL/src/test-ompUtils.cpp +321 -0
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/src/test-profile.cpp +42 -1
- virtual_casing-0.3.0/extern/SCTL/src/test-pt-tree.cpp +158 -0
- virtual_casing-0.3.0/extern/SCTL/src/test-quad-elem.cpp +1606 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-scratch-pool-perf.cpp +3 -3
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-scratch-pool.cpp +77 -3
- virtual_casing-0.3.0/extern/SCTL/src/test-small-gemm.cpp +267 -0
- virtual_casing-0.2.1/extern/BIEST/extern/SCTL/src/test-pt-tree.cpp → virtual_casing-0.3.0/extern/SCTL/src/test-sort-scatter.cpp +2 -4
- virtual_casing-0.3.0/extern/SCTL/src/test-utils.hpp +99 -0
- {virtual_casing-0.2.1/extern/BIEST → virtual_casing-0.3.0}/extern/SCTL/src/test-vector.cpp +42 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-vtudata.cpp +1 -2
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test.cpp +1 -1
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/include/virtual-casing.hpp +3 -11
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/include/virtual-casing.txx +7 -28
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/pyproject.toml +14 -3
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/src/__init__.py +6 -0
- virtual_casing-0.3.0/src/__init__.pyi +23 -0
- virtual_casing-0.3.0/src/_vc_baseline.pyi +353 -0
- virtual_casing-0.3.0/src/py.typed +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/src/python.cpp +2 -14
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/test/test.py +56 -6
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/test/virtual-casing.cpp +3 -3
- virtual_casing-0.2.1/extern/BIEST/extern/SCTL/.github/workflows/build-test.yml +0 -82
- virtual_casing-0.2.1/extern/BIEST/extern/SCTL/doc/doxygen/boundary_quadrature.rst +0 -8
- virtual_casing-0.2.1/extern/BIEST/extern/SCTL/include/sctl/boundary_quadrature.hpp +0 -1907
- virtual_casing-0.2.1/extern/BIEST/extern/SCTL/include/sctl/experimental/quad_element.cpp +0 -498
- virtual_casing-0.2.1/extern/BIEST/extern/SCTL/include/sctl/experimental/quad_element.hpp +0 -190
- virtual_casing-0.2.1/extern/BIEST/extern/SCTL/include/sctl/intrin-wrapper.hpp +0 -3083
- virtual_casing-0.2.1/extern/BIEST/extern/SCTL/include/sctl/math_utils.txx +0 -503
- virtual_casing-0.2.1/extern/BIEST/extern/SCTL/include/sctl/vec-test.hpp +0 -457
- virtual_casing-0.2.1/extern/BIEST/extern/SCTL/include/sctl/vec.hpp +0 -397
- virtual_casing-0.2.1/extern/BIEST/extern/SCTL/include/sctl/vec.txx +0 -420
- virtual_casing-0.2.1/extern/BIEST/extern/SCTL/src/test-ompUtils.cpp +0 -177
- virtual_casing-0.2.1/extern/BIEST/extern/SCTL/src/test-quad-elem.cpp +0 -95
- virtual_casing-0.2.1/extern/BIEST/extern/SCTL/src/test-utils.hpp +0 -45
- virtual_casing-0.2.1/extern/SCTL/.github/workflows/build-test.yml +0 -82
- virtual_casing-0.2.1/extern/SCTL/doc/doxygen/boundary_quadrature.rst +0 -8
- virtual_casing-0.2.1/extern/SCTL/include/sctl/boundary_quadrature.hpp +0 -1907
- virtual_casing-0.2.1/extern/SCTL/include/sctl/experimental/quad_element.cpp +0 -498
- virtual_casing-0.2.1/extern/SCTL/include/sctl/experimental/quad_element.hpp +0 -190
- virtual_casing-0.2.1/extern/SCTL/include/sctl/intrin-wrapper.hpp +0 -3083
- virtual_casing-0.2.1/extern/SCTL/include/sctl/math_utils.txx +0 -503
- virtual_casing-0.2.1/extern/SCTL/include/sctl/vec-test.hpp +0 -457
- virtual_casing-0.2.1/extern/SCTL/include/sctl/vec.hpp +0 -397
- virtual_casing-0.2.1/extern/SCTL/include/sctl/vec.txx +0 -420
- virtual_casing-0.2.1/extern/SCTL/src/test-ompUtils.cpp +0 -177
- virtual_casing-0.2.1/extern/SCTL/src/test-quad-elem.cpp +0 -95
- virtual_casing-0.2.1/extern/SCTL/src/test-utils.hpp +0 -45
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/.gitignore +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/.gitmodules +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/LICENSE +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/cmake/FindFFTW.cmake +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/.clang-format +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/.gitignore +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/.gitmodules +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/LICENSE +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/Makefile +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/README.md +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/applications/virtual-casing/BetaScan_run_20.Bxyz.txt +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/applications/virtual-casing/Makefile +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/applications/virtual-casing/ellipse.coils +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/applications/virtual-casing/virtual-casing.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/.clang-format +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/.gitattributes +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/.gitignore +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/.readthedocs.yaml +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/LICENSE +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/Doxyfile +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/Makefile +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/ackn.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/conf.py +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/boundary_integral.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/cheb_utils.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/comm.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/common.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/fft_wrapper.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/fmm-wrapper.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/generic-kernel.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/iterator.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/lagrange-interp.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/lin-solve.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/mat_utils.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/math_utils.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/matrix.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/mem_mgr.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/morton.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/ode-solver.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/ompUtils.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/permutation.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/profile.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/quadrule.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/scratch_pool.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/sph_harm.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/stacktrace.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/static-array.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/tensor.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/tree.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/vec.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/vector.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/doxygen/vtudata.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/requirements.txt +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/boundaryintegralop.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/comm.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/fft.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/fmm.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/gmres-rsult.txt +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/gmres.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/interp-quadrule.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/kernels.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/lagrange-interp.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/matrix.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/permutation.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/profile.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/sdc.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/tensor.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/tree.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/vec.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/vector.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/doc/tutorial/vtudata.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/blas.h +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/cheb_utils.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/fft_wrapper.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/fft_wrapper.txx +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/lagrange-interp.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/lapack.h +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/lin-solve.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/mat_utils.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/mem_mgr.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/ode-solver.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/permutation.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/permutation.txx +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/quadrule.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/sph_harm.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/stacktrace.h +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/static-array.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/static-array.txx +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/vtudata.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/include/sctl/vtudata.txx +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-cheb_utils.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-fft.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-fmm.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-generic-kernel.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-gmres.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-iterator.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-kernel_functions.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-lagrange-interp.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-mem_mgr.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-ode-solver.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-permutation.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-quadrule.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-sph-harm.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-static-array.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-tensor.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/extern/SCTL/src/test-vec.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/geom/LHD-X.mat +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/geom/LHD-Y.mat +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/geom/LHD-Z.mat +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/geom/NCSX +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/geom/Quas3-X.mat +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/geom/Quas3-Y.mat +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/geom/Quas3-Z.mat +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/geom/W7X-X.mat +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/geom/W7X-Y.mat +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/geom/W7X-Z.mat +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/include/biest/mat.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/include/biest/singular_correction.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/include/biest/surface.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/include/biest/surface.txx +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/include/biest/surface_op.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/src/double-layer-convergence.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/src/example1.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/src/force-free-fields-example.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/src/quadrature-example.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/src/table1.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/src/table3.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/src/table4.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/src/table5.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/src/table6.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/src/table7.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/BIEST/src/virtual-casing-principle.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/.clang-format +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/.gitattributes +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/.gitignore +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/.readthedocs.yaml +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/LICENSE +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/Doxyfile +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/Makefile +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/ackn.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/conf.py +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/boundary_integral.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/cheb_utils.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/comm.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/common.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/fft_wrapper.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/fmm-wrapper.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/generic-kernel.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/iterator.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/lagrange-interp.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/lin-solve.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/mat_utils.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/math_utils.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/matrix.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/mem_mgr.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/morton.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/ode-solver.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/ompUtils.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/permutation.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/profile.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/quadrule.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/scratch_pool.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/sph_harm.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/stacktrace.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/static-array.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/tensor.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/tree.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/vec.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/vector.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/doxygen/vtudata.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/requirements.txt +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/boundaryintegralop.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/comm.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/fft.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/fmm.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/gmres-rsult.txt +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/gmres.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/interp-quadrule.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/kernels.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/lagrange-interp.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/matrix.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/permutation.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/profile.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/sdc.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/tensor.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/tree.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/vec.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/vector.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/doc/tutorial/vtudata.rst +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/blas.h +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/cheb_utils.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/fft_wrapper.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/fft_wrapper.txx +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/lagrange-interp.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/lapack.h +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/lin-solve.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/mat_utils.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/mem_mgr.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/ode-solver.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/permutation.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/permutation.txx +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/quadrule.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/sph_harm.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/stacktrace.h +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/static-array.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/static-array.txx +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/vtudata.hpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/include/sctl/vtudata.txx +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-cheb_utils.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-fft.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-fmm.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-generic-kernel.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-gmres.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-iterator.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-kernel_functions.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-lagrange-interp.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-mem_mgr.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-ode-solver.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-permutation.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-quadrule.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-sph-harm.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-static-array.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-tensor.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/extern/SCTL/src/test-vec.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/include/virtual-casing.h +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/src/cpu_features.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/src/virtual-casing.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/test/axisymm.cpp +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/test/check_isa.py +0 -0
- {virtual_casing-0.2.1 → virtual_casing-0.3.0}/test/virtual-casing-c.c +0 -0
|
@@ -104,3 +104,49 @@ jobs:
|
|
|
104
104
|
- name: Run the C API test
|
|
105
105
|
run: ./bin/virtual-casing-c
|
|
106
106
|
|
|
107
|
+
|
|
108
|
+
# A stale .pyi is worse than none: type checkers report errors that are not
|
|
109
|
+
# real. Regenerate and fail if it differs from what is committed.
|
|
110
|
+
stubs:
|
|
111
|
+
runs-on: ubuntu-latest
|
|
112
|
+
|
|
113
|
+
steps:
|
|
114
|
+
- uses: actions/checkout@v7
|
|
115
|
+
with:
|
|
116
|
+
submodules: recursive
|
|
117
|
+
fetch-depth: 0 # setuptools_scm needs the tags
|
|
118
|
+
|
|
119
|
+
- name: apt-get stuff needed for compiling
|
|
120
|
+
run: |
|
|
121
|
+
sudo apt-get update
|
|
122
|
+
sudo apt-get install -y build-essential libfftw3-dev liblapack-dev libopenblas-dev
|
|
123
|
+
|
|
124
|
+
- uses: actions/setup-python@v7
|
|
125
|
+
with:
|
|
126
|
+
python-version: '3.11'
|
|
127
|
+
|
|
128
|
+
- name: Install package and stubgen
|
|
129
|
+
run: python -m pip install . "pybind11-stubgen>=3.0,<4" mypy
|
|
130
|
+
|
|
131
|
+
- name: Regenerate stubs and compare
|
|
132
|
+
run: |
|
|
133
|
+
# force the variant being introspected: importing two of them into one
|
|
134
|
+
# process fails, since they register the same pybind11 types
|
|
135
|
+
VIRTUAL_CASING_ISA=baseline python -c "
|
|
136
|
+
import sys, virtual_casing._vc_baseline as m
|
|
137
|
+
# __init__.py presents the classes as virtual_casing, which would make
|
|
138
|
+
# stubgen re-export them rather than declare them; restore their real home
|
|
139
|
+
for o in vars(m).values():
|
|
140
|
+
if isinstance(o, type):
|
|
141
|
+
o.__module__ = m.__name__
|
|
142
|
+
sys.argv = ['pybind11-stubgen', '--print-value-comments', 'virtual_casing._vc_baseline', '-o', 'regenerated']
|
|
143
|
+
from pybind11_stubgen import main; main()
|
|
144
|
+
"
|
|
145
|
+
# stubgen leaves trailing whitespace in docstrings; the committed copy has
|
|
146
|
+
# it stripped, so normalise before comparing
|
|
147
|
+
sed -i 's/[[:space:]]*$//' regenerated/virtual_casing/_vc_baseline.pyi
|
|
148
|
+
diff -u src/_vc_baseline.pyi regenerated/virtual_casing/_vc_baseline.pyi \
|
|
149
|
+
|| { echo "::error::src/_vc_baseline.pyi is stale; regenerate it, strip trailing whitespace, and commit"; exit 1; }
|
|
150
|
+
|
|
151
|
+
- name: Type-check the stubs themselves
|
|
152
|
+
run: python -m mypy --strict src/__init__.pyi src/_vc_baseline.pyi
|
|
@@ -47,14 +47,23 @@ jobs:
|
|
|
47
47
|
run: python -m cibuildwheel --output-dir wheelhouse
|
|
48
48
|
env:
|
|
49
49
|
CIBW_ARCHS_LINUX: x86_64
|
|
50
|
-
CIBW_ENVIRONMENT_LINUX: CI=True VC_ARCH_FLAG=${{ matrix.arch_flag }}
|
|
51
|
-
|
|
50
|
+
CIBW_ENVIRONMENT_LINUX: CI=True VC_ARCH_FLAG=${{ matrix.arch_flag }} LIBXSMM_DIR=/opt/libxsmm
|
|
51
|
+
# LIBXSMM's own code is built for SSE4.2; the matrix kernels it generates use the CPU that runs them
|
|
52
|
+
CIBW_BEFORE_ALL_LINUX: >
|
|
53
|
+
yum install -y lapack-devel openblas-devel fftw-devel &&
|
|
54
|
+
git clone --depth 1 --branch 2.1.0 https://github.com/libxsmm/libxsmm.git /opt/libxsmm &&
|
|
55
|
+
make -C /opt/libxsmm -j$(nproc) STATIC=1 SSE=4 lib
|
|
52
56
|
CIBW_BEFORE_BUILD_LINUX: python -m pip install --upgrade pip setuptools wheel numpy cmake ninja && git config --global --add safe.directory /project
|
|
53
57
|
CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux_2_28_x86_64
|
|
54
58
|
CIBW_SKIP: "*-musllinux_*"
|
|
55
|
-
CIBW_ENVIRONMENT_MACOS: CI=True VC_ARCH_FLAG=${{ matrix.arch_flag }} MACOSX_DEPLOYMENT_TARGET=${{ matrix.deployment_target }} CC=gcc-12 CXX=g++-12 # with GCC
|
|
59
|
+
CIBW_ENVIRONMENT_MACOS: CI=True VC_ARCH_FLAG=${{ matrix.arch_flag }} MACOSX_DEPLOYMENT_TARGET=${{ matrix.deployment_target }} CC=gcc-12 CXX=g++-12 LIBXSMM_DIR=/tmp/libxsmm # with GCC
|
|
56
60
|
#CIBW_ENVIRONMENT_MACOS: CI=True VC_ARCH_FLAG=${{ matrix.arch_flat }} MACOSX_DEPLOYMENT_TARGET=${{ matrix.deployment_target }} OpenMP_ROOT=$(brew --prefix)/opt/libomp # with Apple Clang
|
|
57
|
-
|
|
61
|
+
# LIBXSMM's own code is built for the runner (SSE4.2 on x86_64); the matrix kernels it generates use the CPU
|
|
62
|
+
# that runs them
|
|
63
|
+
CIBW_BEFORE_ALL_MACOS: >
|
|
64
|
+
brew install fftw lapack gcc@12 libomp openblas &&
|
|
65
|
+
git clone --depth 1 --branch 2.1.0 https://github.com/libxsmm/libxsmm.git /tmp/libxsmm &&
|
|
66
|
+
MACOSX_DEPLOYMENT_TARGET=${{ matrix.deployment_target }} make -C /tmp/libxsmm -j$(sysctl -n hw.ncpu) STATIC=1 lib
|
|
58
67
|
CIBW_BEFORE_BUILD_MACOS: python -m pip install --upgrade pip setuptools wheel numpy cmake ninja && git config --global --add safe.directory /project
|
|
59
68
|
CIBW_BUILD: cp310-* cp311-* cp312-* cp313-* cp314-*
|
|
60
69
|
# exercise the repaired wheel, not the source build test.yml already covers
|
|
@@ -53,6 +53,35 @@ if(FFTW_DOUBLE_LIB_FOUND)
|
|
|
53
53
|
endif()
|
|
54
54
|
# float/long-double FFTW is never called; linking it only bloats the wheel
|
|
55
55
|
|
|
56
|
+
# LIBXSMM generates SCTL's small matrix products for the CPU that runs them, whatever the compiler flags
|
|
57
|
+
option (VC_USE_LIBXSMM "Link LIBXSMM, if found in LIBXSMM_DIR or the default paths, for SCTL's small matrix products" ON)
|
|
58
|
+
if (VC_USE_LIBXSMM)
|
|
59
|
+
find_path (LIBXSMM_INCLUDE_DIR libxsmm.h HINTS "$ENV{LIBXSMM_DIR}/include")
|
|
60
|
+
find_library (LIBXSMM_LIBRARY NAMES libxsmm.a xsmm HINTS "$ENV{LIBXSMM_DIR}/lib")
|
|
61
|
+
endif ()
|
|
62
|
+
if (LIBXSMM_INCLUDE_DIR AND LIBXSMM_LIBRARY)
|
|
63
|
+
find_package (Threads REQUIRED)
|
|
64
|
+
set (LIBXSMM_LIBRARIES ${LIBXSMM_LIBRARY} Threads::Threads ${CMAKE_DL_LIBS} m)
|
|
65
|
+
if (NOT APPLE)
|
|
66
|
+
list (APPEND LIBXSMM_LIBRARIES rt)
|
|
67
|
+
endif ()
|
|
68
|
+
# versions before 2.0 lack this interface
|
|
69
|
+
include (CheckCXXSourceCompiles)
|
|
70
|
+
set (CMAKE_REQUIRED_INCLUDES ${LIBXSMM_INCLUDE_DIR})
|
|
71
|
+
set (CMAKE_REQUIRED_LIBRARIES ${LIBXSMM_LIBRARIES})
|
|
72
|
+
check_cxx_source_compiles ("#include <libxsmm.h>
|
|
73
|
+
int main() {
|
|
74
|
+
const libxsmm_gemm_shape shape = libxsmm_create_gemm_shape(1, 1, 1, 1, 1, 1, LIBXSMM_DATATYPE_F64, LIBXSMM_DATATYPE_F64, LIBXSMM_DATATYPE_F64, LIBXSMM_DATATYPE_F64);
|
|
75
|
+
return libxsmm_dispatch_gemm(shape, 0, 0) == nullptr;
|
|
76
|
+
}" LIBXSMM_FOUND)
|
|
77
|
+
unset (CMAKE_REQUIRED_INCLUDES)
|
|
78
|
+
unset (CMAKE_REQUIRED_LIBRARIES)
|
|
79
|
+
endif ()
|
|
80
|
+
if (LIBXSMM_FOUND)
|
|
81
|
+
add_definitions (-DSCTL_HAVE_LIBXSMM)
|
|
82
|
+
include_directories ("${LIBXSMM_INCLUDE_DIR}")
|
|
83
|
+
endif ()
|
|
84
|
+
|
|
56
85
|
find_package(Git QUIET)
|
|
57
86
|
if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
|
|
58
87
|
# Update submodules as needed
|
|
@@ -113,14 +142,20 @@ if (SKBUILD)
|
|
|
113
142
|
target_include_directories(${tgt} PRIVATE "$<$<BOOL:${FFTW_DOUBLE_LIB_FOUND}>:${FFTW_INCLUDE_DIRS}>"
|
|
114
143
|
"include" "extern/SCTL/include" "extern/BIEST/include")
|
|
115
144
|
target_link_libraries(${tgt} PRIVATE "$<$<BOOL:${OpenMP_CXX_FOUND}>:OpenMP::OpenMP_CXX>"
|
|
116
|
-
"$<$<BOOL:${FFTW_DOUBLE_LIB_FOUND}>:FFTW::Double>"
|
|
145
|
+
"$<$<BOOL:${FFTW_DOUBLE_LIB_FOUND}>:FFTW::Double>" "$<$<BOOL:${LIBXSMM_FOUND}>:${LIBXSMM_LIBRARIES}>"
|
|
117
146
|
"$<$<BOOL:${BLAS_FOUND}>:${BLAS_LIBRARIES}>" "$<$<BOOL:${LAPACK_FOUND}>:${LAPACK_LIBRARIES}>")
|
|
147
|
+
if (LIBXSMM_FOUND AND NOT APPLE)
|
|
148
|
+
# not exported, so that another copy of LIBXSMM in the process does not replace these functions
|
|
149
|
+
target_link_options(${tgt} PRIVATE "LINKER:--exclude-libs,libxsmm.a")
|
|
150
|
+
endif ()
|
|
118
151
|
install(TARGETS ${tgt} LIBRARY DESTINATION ${PROJECT_NAME})
|
|
119
152
|
endforeach()
|
|
120
153
|
|
|
121
154
|
pybind11_add_module(_cpu src/cpu_features.cpp) # baseline: must run anywhere
|
|
122
155
|
install(TARGETS _cpu LIBRARY DESTINATION ${PROJECT_NAME})
|
|
123
|
-
|
|
156
|
+
# py.typed opts the package in to PEP 561; without it the stubs are ignored
|
|
157
|
+
install(FILES src/__init__.py src/__init__.pyi src/_vc_baseline.pyi src/py.typed
|
|
158
|
+
DESTINATION ${PROJECT_NAME})
|
|
124
159
|
endif()
|
|
125
160
|
|
|
126
161
|
add_executable(vc_testing EXCLUDE_FROM_ALL test/virtual-casing.cpp)
|
|
@@ -129,5 +164,6 @@ target_compile_options(vc_testing PUBLIC "$<$<CXX_COMPILER_ID:PGI>:-Wc,--pending
|
|
|
129
164
|
target_include_directories(vc_testing PRIVATE "$<$<BOOL:${FFTW_DOUBLE_LIB_FOUND}>:${FFTW_INCLUDE_DIRS}>"
|
|
130
165
|
"include" "extern/SCTL/include" "extern/BIEST/include")
|
|
131
166
|
target_link_libraries(vc_testing PUBLIC $<$<BOOL:${FFTW_DOUBLE_LIB_FOUND}>:FFTW::Double>
|
|
167
|
+
"$<$<BOOL:${LIBXSMM_FOUND}>:${LIBXSMM_LIBRARIES}>"
|
|
132
168
|
"$<$<BOOL:${BLAS_FOUND}>:${BLAS_LIBRARIES}>"
|
|
133
169
|
"$<$<BOOL:${LAPACK_FOUND}>:${LAPACK_LIBRARIES}>" $<$<BOOL:${OpenMP_CXX_FOUND}>:OpenMP::OpenMP_CXX>)
|
|
@@ -53,6 +53,11 @@ CXXFLAGS += -lfftw3 -DSCTL_HAVE_FFTW
|
|
|
53
53
|
CXXFLAGS += -lfftw3f -DSCTL_HAVE_FFTWF
|
|
54
54
|
CXXFLAGS += -lfftw3l -DSCTL_HAVE_FFTWL
|
|
55
55
|
|
|
56
|
+
ifdef LIBXSMM_DIR # use LIBXSMM (version 2.0 or newer) for SCTL's small matrix products
|
|
57
|
+
CXXFLAGS += -I$(LIBXSMM_DIR)/include -DSCTL_HAVE_LIBXSMM
|
|
58
|
+
LDLIBS += $(LIBXSMM_DIR)/lib/libxsmm.a -lpthread -ldl -lm $(if $(filter Darwin,$(OS)),,-lrt)
|
|
59
|
+
endif
|
|
60
|
+
|
|
56
61
|
CXXFLAGS += -lmvec -lm -DSCTL_HAVE_LIBMVEC
|
|
57
62
|
#CXXFLAGS += -DSCTL_HAVE_SVML
|
|
58
63
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: virtual_casing
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Python Wrapper for Virtual Casing
|
|
5
|
-
Author: Dhairya Malhotra, Manas Rachh
|
|
5
|
+
Author: Dhairya Malhotra, Matt Landreman, Chris Smiet, Manas Rachh, Antoine Cerfon, Misha Padidar
|
|
6
6
|
Author-Email: Bharat Medasani <mbkumar@gmail.com>
|
|
7
|
-
|
|
7
|
+
Maintainer: Dhairya Malhotra, Bharat Medasani, Matt Landreman, Chris Smiet
|
|
8
|
+
License-Expression: Apache-2.0
|
|
8
9
|
License-File: LICENSE
|
|
9
10
|
Classifier: Programming Language :: Python :: 3
|
|
10
11
|
Classifier: Programming Language :: Python :: 3.10
|
|
@@ -15,11 +16,12 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
15
16
|
Classifier: Programming Language :: C++
|
|
16
17
|
Classifier: Operating System :: OS Independent
|
|
17
18
|
Project-URL: Repository, https://github.com/hiddenSymmetries/virtual-casing
|
|
19
|
+
Project-URL: Issues, https://github.com/hiddenSymmetries/virtual-casing/issues
|
|
18
20
|
Requires-Python: >=3.10
|
|
19
21
|
Provides-Extra: test
|
|
20
22
|
Requires-Dist: pytest>=6.0; extra == "test"
|
|
21
23
|
Provides-Extra: dev
|
|
22
|
-
Requires-Dist: pybind11-stubgen
|
|
24
|
+
Requires-Dist: pybind11-stubgen<4,>=3.0; extra == "dev"
|
|
23
25
|
Requires-Dist: pytest; extra == "dev"
|
|
24
26
|
Description-Content-Type: text/markdown
|
|
25
27
|
|
|
@@ -47,6 +49,10 @@ If the above command succeeds, we can go to the next step. Build the ``vc_testin
|
|
|
47
49
|
|
|
48
50
|
If the compilation is successful, you will have ``vc_testing`` in the ``build`` folder.
|
|
49
51
|
|
|
52
|
+
Optionally, set the environment variable ``LIBXSMM_DIR`` to a build of [LIBXSMM](https://github.com/libxsmm/libxsmm)
|
|
53
|
+
(version 2.0 or newer) before running cmake, or before installing the Python package, to use it for small matrix
|
|
54
|
+
products. The Makefile uses it in the same way.
|
|
55
|
+
|
|
50
56
|
|
|
51
57
|
### Python package
|
|
52
58
|
|
|
@@ -22,6 +22,10 @@ If the above command succeeds, we can go to the next step. Build the ``vc_testin
|
|
|
22
22
|
|
|
23
23
|
If the compilation is successful, you will have ``vc_testing`` in the ``build`` folder.
|
|
24
24
|
|
|
25
|
+
Optionally, set the environment variable ``LIBXSMM_DIR`` to a build of [LIBXSMM](https://github.com/libxsmm/libxsmm)
|
|
26
|
+
(version 2.0 or newer) before running cmake, or before installing the Python package, to use it for small matrix
|
|
27
|
+
products. The Makefile uses it in the same way.
|
|
28
|
+
|
|
25
29
|
|
|
26
30
|
### Python package
|
|
27
31
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Runs the Makefile's tests, also after a failure, each failure as a GitHub annotation; exits with 1 if any failed.
|
|
2
|
+
# SCTL_TESTS: the tests to run instead; SCTL_TEST_RUNNER: a command to run them under
|
|
3
|
+
set +e
|
|
4
|
+
s=0
|
|
5
|
+
for t in ${SCTL_TESTS:-$(sed -n '/^test: /,/^$/p' Makefile | grep -o '/test[^/ ]*$' | cut -c2-)}; do
|
|
6
|
+
echo "=== $t"
|
|
7
|
+
$SCTL_TEST_RUNNER ./bin/$t 2>&1 | tee $t.log
|
|
8
|
+
st=${PIPESTATUS[0]}
|
|
9
|
+
echo "=== $t: exit $st"
|
|
10
|
+
if [ $st -ne 0 ]; then
|
|
11
|
+
s=1
|
|
12
|
+
msg=$(grep -a -m4 -E 'Assertion|failed|Error|error' $t.log | cut -c1-500 | awk '{printf "%s%%0A", $0}')
|
|
13
|
+
[ -n "$msg" ] || msg=$(tail -n 5 $t.log | cut -c1-500 | awk '{printf "%s%%0A", $0}')
|
|
14
|
+
echo "::error title=$t exit $st::$msg"
|
|
15
|
+
fi
|
|
16
|
+
done
|
|
17
|
+
exit $s
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
name: Build and Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
pull_request:
|
|
8
|
+
branches:
|
|
9
|
+
- master
|
|
10
|
+
|
|
11
|
+
# a new push cancels the run in progress
|
|
12
|
+
concurrency:
|
|
13
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
14
|
+
cancel-in-progress: true
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
build:
|
|
18
|
+
strategy:
|
|
19
|
+
fail-fast: false
|
|
20
|
+
matrix:
|
|
21
|
+
os:
|
|
22
|
+
- ubuntu-24.04 # GCC 13.3, 14.2 (bug 117159)
|
|
23
|
+
- macos-latest
|
|
24
|
+
compiler:
|
|
25
|
+
- g++-13
|
|
26
|
+
- g++-14
|
|
27
|
+
- clang++
|
|
28
|
+
vecflag:
|
|
29
|
+
- -march=native
|
|
30
|
+
memdbgflag:
|
|
31
|
+
- ""
|
|
32
|
+
- -DSCTL_MEMDEBUG
|
|
33
|
+
optflag:
|
|
34
|
+
- -O0
|
|
35
|
+
- -O3
|
|
36
|
+
earlyra: # GCC 14 on Apple silicon: off adds -mearly-ra=none
|
|
37
|
+
- "off"
|
|
38
|
+
include:
|
|
39
|
+
# GCC 14 with its early register allocator: tests the workarounds in the code
|
|
40
|
+
- os: macos-latest
|
|
41
|
+
compiler: g++-14
|
|
42
|
+
vecflag: -march=native
|
|
43
|
+
memdbgflag: ""
|
|
44
|
+
optflag: -O3
|
|
45
|
+
earlyra: "on"
|
|
46
|
+
|
|
47
|
+
runs-on: ${{ matrix.os }}
|
|
48
|
+
|
|
49
|
+
env:
|
|
50
|
+
CPPFLAGS: >-
|
|
51
|
+
-std=c++17 -g1 -rdynamic -fopenmp -Wall -Wfloat-conversion
|
|
52
|
+
-DSCTL_GLOBAL_MEM_BUFF=500 -DSCTL_PROFILE=5 -DSCTL_VERBOSE
|
|
53
|
+
-DSCTL_SIG_HANDLER -fstack-protector
|
|
54
|
+
ASANFLAGS: >-
|
|
55
|
+
-fsanitize=address,leak,undefined,pointer-compare,pointer-subtract,float-divide-by-zero,float-cast-overflow
|
|
56
|
+
-fno-sanitize-recover=all
|
|
57
|
+
|
|
58
|
+
steps:
|
|
59
|
+
- name: Checkout repository
|
|
60
|
+
uses: actions/checkout@v7
|
|
61
|
+
|
|
62
|
+
- name: Setup dependencies (Linux)
|
|
63
|
+
if: runner.os == 'Linux'
|
|
64
|
+
run: |
|
|
65
|
+
sudo apt-get update
|
|
66
|
+
sudo apt-get install -y libomp-dev g++-14
|
|
67
|
+
|
|
68
|
+
- name: Setup dependencies (macOS)
|
|
69
|
+
if: runner.os == 'macOS'
|
|
70
|
+
run: |
|
|
71
|
+
brew install gcc@13 gcc@14 llvm libomp
|
|
72
|
+
echo "PATH=$(brew --prefix llvm)/bin:$PATH" >> $GITHUB_ENV
|
|
73
|
+
echo "LDFLAGS=-L$(brew --prefix llvm)/lib" >> $GITHUB_ENV
|
|
74
|
+
echo "CPPFLAGS=$CPPFLAGS -I$(brew --prefix llvm)/include" >> $GITHUB_ENV
|
|
75
|
+
echo "LIBRARY_PATH=$(brew --prefix llvm)/lib:$LIBRARY_PATH" >> $GITHUB_ENV
|
|
76
|
+
echo "MACOSX_DEPLOYMENT_TARGET=$(sw_vers -productVersion | cut -d. -f1).0" >> $GITHUB_ENV # GCC 13 assumes 16.0 on macOS 26
|
|
77
|
+
|
|
78
|
+
- name: CPU
|
|
79
|
+
run: |
|
|
80
|
+
if [ "$RUNNER_OS" == "Linux" ]; then
|
|
81
|
+
echo "::notice::CPU: $(lscpu | sed -n 's/^Model name: *//p'); AVX-512: $(grep -q -w avx512f /proc/cpuinfo && echo yes || echo no)"
|
|
82
|
+
else
|
|
83
|
+
echo "::notice::CPU: $(sysctl -n machdep.cpu.brand_string)"
|
|
84
|
+
fi
|
|
85
|
+
|
|
86
|
+
- name: Build project
|
|
87
|
+
run: |
|
|
88
|
+
CXXFLAGS="${CPPFLAGS} ${{ matrix.optflag }} ${{ matrix.memdbgflag }}"
|
|
89
|
+
if [ "$(uname -s)" == "Darwin" ] && [ "$(uname -m)" == "arm64" ]; then
|
|
90
|
+
CXXFLAGS+=" -mcpu=apple-m1"
|
|
91
|
+
if [[ "${{ matrix.compiler }}" == g++* ]]; then
|
|
92
|
+
CXXFLAGS+=" -lomp" # clang's -fopenmp links libomp
|
|
93
|
+
fi
|
|
94
|
+
if [ "${{ matrix.compiler }}" == "g++-14" ] && [ "${{ matrix.earlyra }}" == "off" ]; then
|
|
95
|
+
CXXFLAGS+=" -mearly-ra=none" # see README
|
|
96
|
+
fi
|
|
97
|
+
else
|
|
98
|
+
CXXFLAGS+=" ${{ matrix.vecflag }} ${ASANFLAGS}"
|
|
99
|
+
fi
|
|
100
|
+
# __float128: x86, and GCC on Apple silicon
|
|
101
|
+
if [ "$(uname -m)" == "x86_64" ] || [[ "${{ matrix.compiler }}" == g++* ]]; then
|
|
102
|
+
CXXFLAGS+=" -DSCTL_QUAD_T=__float128"
|
|
103
|
+
fi
|
|
104
|
+
# one compile per core: the sanitizer builds of the largest tests come close to the runner's memory
|
|
105
|
+
make -j$(getconf _NPROCESSORS_ONLN) CXX="${{ matrix.compiler }}" CXXFLAGS="${CXXFLAGS}"
|
|
106
|
+
|
|
107
|
+
- name: Run tests
|
|
108
|
+
run: bash .github/run-tests.sh
|
|
109
|
+
|
|
110
|
+
# without sanitizers, which hid GCC bug 117159; x86-64-v4 under Intel SDE on runners without AVX-512
|
|
111
|
+
release:
|
|
112
|
+
strategy:
|
|
113
|
+
fail-fast: false
|
|
114
|
+
matrix:
|
|
115
|
+
os:
|
|
116
|
+
- ubuntu-24.04
|
|
117
|
+
compiler:
|
|
118
|
+
- g++-13
|
|
119
|
+
- g++-14
|
|
120
|
+
- clang++
|
|
121
|
+
isa:
|
|
122
|
+
- x86-64-v3
|
|
123
|
+
- x86-64-v4
|
|
124
|
+
optflag:
|
|
125
|
+
- -O2
|
|
126
|
+
- -O3
|
|
127
|
+
include:
|
|
128
|
+
- {os: ubuntu-24.04, compiler: g++-12, isa: x86-64-v3, optflag: -O3}
|
|
129
|
+
- {os: ubuntu-24.04, compiler: g++-12, isa: x86-64-v4, optflag: -O3}
|
|
130
|
+
- {os: ubuntu-26.04, compiler: g++-15, isa: x86-64-v3, optflag: -O3}
|
|
131
|
+
- {os: ubuntu-26.04, compiler: g++-15, isa: x86-64-v4, optflag: -O3}
|
|
132
|
+
- {os: ubuntu-26.04, compiler: clang++-22, isa: x86-64-v3, optflag: -O3}
|
|
133
|
+
- {os: ubuntu-26.04, compiler: clang++-22, isa: x86-64-v4, optflag: -O3}
|
|
134
|
+
|
|
135
|
+
runs-on: ${{ matrix.os }}
|
|
136
|
+
|
|
137
|
+
env:
|
|
138
|
+
CPPFLAGS: >-
|
|
139
|
+
-std=c++17 -g1 -rdynamic -fopenmp -Wall -Wfloat-conversion
|
|
140
|
+
-DSCTL_GLOBAL_MEM_BUFF=500 -DSCTL_PROFILE=5 -DSCTL_VERBOSE
|
|
141
|
+
-DSCTL_SIG_HANDLER -fstack-protector
|
|
142
|
+
|
|
143
|
+
steps:
|
|
144
|
+
- name: Checkout repository
|
|
145
|
+
uses: actions/checkout@v7
|
|
146
|
+
|
|
147
|
+
- name: Setup dependencies
|
|
148
|
+
run: |
|
|
149
|
+
sudo apt-get update
|
|
150
|
+
c="${{ matrix.compiler }}"
|
|
151
|
+
case "$c" in
|
|
152
|
+
g++-*) sudo apt-get install -y libomp-dev "$c" ;;
|
|
153
|
+
clang++-*) sudo apt-get install -y "clang-${c#clang++-}" "libomp-${c#clang++-}-dev" ;;
|
|
154
|
+
*) sudo apt-get install -y libomp-dev ;;
|
|
155
|
+
esac
|
|
156
|
+
|
|
157
|
+
- name: CPU
|
|
158
|
+
id: cpu
|
|
159
|
+
run: |
|
|
160
|
+
avx512=$(grep -q -w avx512f /proc/cpuinfo && echo yes || echo no)
|
|
161
|
+
echo "::notice::CPU: $(lscpu | sed -n 's/^Model name: *//p'); AVX-512: ${avx512}"
|
|
162
|
+
if [ "${{ matrix.isa }}" == "x86-64-v4" ] && [ "${avx512}" != "yes" ]; then
|
|
163
|
+
echo "emulate=yes" >> $GITHUB_OUTPUT
|
|
164
|
+
echo "::notice::No AVX-512 on this runner: test-vec runs under Intel SDE, which emulates it; the other tests are not run"
|
|
165
|
+
fi
|
|
166
|
+
|
|
167
|
+
# Intel SDE 10.13.1, checked against Intel's SHA256
|
|
168
|
+
- name: Install Intel SDE
|
|
169
|
+
if: steps.cpu.outputs.emulate == 'yes'
|
|
170
|
+
run: |
|
|
171
|
+
curl -sSL --retry 3 -o "$RUNNER_TEMP/sde.tar.xz" https://media.githubusercontent.com/media/petarpetrovt/setup-sde/dfe773d77ce97b3da48d34ff9e6ff45a774ff4ff/binaries/sde-external-10.13.1-2026-07-28-lin.tar.xz
|
|
172
|
+
echo "94e97d623fec54385686e1e7ba65ebc9941748c05ee451423948334892bf2b50 $RUNNER_TEMP/sde.tar.xz" | sha256sum -c -
|
|
173
|
+
mkdir -p "$RUNNER_TEMP/sde"
|
|
174
|
+
tar -xJf "$RUNNER_TEMP/sde.tar.xz" -C "$RUNNER_TEMP/sde" --strip-components=1
|
|
175
|
+
|
|
176
|
+
- name: Build project
|
|
177
|
+
run: |
|
|
178
|
+
target=
|
|
179
|
+
if [ "${{ steps.cpu.outputs.emulate }}" == "yes" ]; then
|
|
180
|
+
target=bin/test-vec
|
|
181
|
+
fi
|
|
182
|
+
make -j$(getconf _NPROCESSORS_ONLN) ${target} CXX="${{ matrix.compiler }}" CXXFLAGS="${CPPFLAGS} ${{ matrix.optflag }} -march=${{ matrix.isa }} -DSCTL_QUAD_T=__float128"
|
|
183
|
+
|
|
184
|
+
- name: Run tests
|
|
185
|
+
run: |
|
|
186
|
+
if [ "${{ steps.cpu.outputs.emulate }}" == "yes" ]; then
|
|
187
|
+
SCTL_TESTS=test-vec SCTL_TEST_RUNNER="$RUNNER_TEMP/sde/sde64 -icx --" bash .github/run-tests.sh
|
|
188
|
+
else
|
|
189
|
+
bash .github/run-tests.sh
|
|
190
|
+
fi
|
{virtual_casing-0.2.1 → virtual_casing-0.3.0/extern/BIEST}/extern/SCTL/.github/workflows/codecov.yml
RENAMED
|
@@ -7,12 +7,12 @@ on:
|
|
|
7
7
|
|
|
8
8
|
jobs:
|
|
9
9
|
build:
|
|
10
|
-
runs-on: ubuntu-
|
|
10
|
+
runs-on: ubuntu-24.04
|
|
11
11
|
|
|
12
12
|
steps:
|
|
13
13
|
# Step 1: Checkout the repository
|
|
14
14
|
- name: Checkout repository
|
|
15
|
-
uses: actions/checkout@
|
|
15
|
+
uses: actions/checkout@v7
|
|
16
16
|
|
|
17
17
|
# Step 2: Compile the project
|
|
18
18
|
- name: Compile
|
|
@@ -12,18 +12,13 @@ endif
|
|
|
12
12
|
|
|
13
13
|
OS = $(shell uname -s)
|
|
14
14
|
ifeq "$(OS)" "Darwin"
|
|
15
|
-
CXXFLAGS += -g -rdynamic
|
|
15
|
+
CXXFLAGS += -g -rdynamic # for stack trace
|
|
16
16
|
else
|
|
17
17
|
CXXFLAGS += -gdwarf-4 -g -rdynamic # for stack trace
|
|
18
|
-
CXXFLAGS += -ldl # dladdr()
|
|
18
|
+
CXXFLAGS += -ldl # dladdr(), for glibc < 2.34
|
|
19
19
|
endif
|
|
20
20
|
|
|
21
|
-
#
|
|
22
|
-
# instructions (e.g. `vmovw`) that pre-2.38 binutils' system assembler can't
|
|
23
|
-
# decode. Disable just the FP16 subset; the rest of -march=native is fine. If a
|
|
24
|
-
# newer binutils is available (e.g. `module load binutils/2.43.1`), the user can
|
|
25
|
-
# remove this flag manually. macOS clang doesn't emit avx512fp16 and doesn't
|
|
26
|
-
# recognise the flag on Apple Silicon — skip there.
|
|
21
|
+
# AVX-512-FP16 of -march=native (Sapphire Rapids), which binutils before 2.38 can't assemble
|
|
27
22
|
ifneq "$(OS)" "Darwin"
|
|
28
23
|
CXXFLAGS += -mno-avx512fp16
|
|
29
24
|
endif
|
|
@@ -33,10 +28,15 @@ CXXFLAGS += -DSCTL_GLOBAL_MEM_BUFF=0 # Global memory buffer size in MB
|
|
|
33
28
|
CXXFLAGS += -DSCTL_PROFILE=5 -DSCTL_VERBOSE # Enable profiling
|
|
34
29
|
CXXFLAGS += -DSCTL_SIG_HANDLER # Enable SCTL stack trace
|
|
35
30
|
|
|
36
|
-
CXXFLAGS += -DSCTL_QUAD_T=__float128 # Enable quadruple precision
|
|
31
|
+
CXXFLAGS += -DSCTL_QUAD_T=__float128 # Enable quadruple precision (x86, or GCC on Apple silicon)
|
|
32
|
+
|
|
33
|
+
#CXXFLAGS += -DSCTL_MAX_DEPTH=20 # Morton/Tree depth limit
|
|
37
34
|
|
|
38
35
|
#CXXFLAGS += -DSCTL_HAVE_MPI #use MPI
|
|
39
36
|
|
|
37
|
+
#CXXFLAGS += -DSCTL_COMM_PTRACER # allow direct reads; exposes rank memory to the same user
|
|
38
|
+
#CXXFLAGS += -DSCTL_COMM_NO_DIRECT # disable direct reads (overrides the above)
|
|
39
|
+
|
|
40
40
|
CXXFLAGS += -lblas -DSCTL_HAVE_BLAS # use BLAS
|
|
41
41
|
CXXFLAGS += -llapack -DSCTL_HAVE_LAPACK # use LAPACK
|
|
42
42
|
#CXXFLAGS += -qmkl -DSCTL_HAVE_BLAS -DSCTL_HAVE_LAPACK -DSCTL_HAVE_FFTW3_MKL # use MKL BLAS, LAPACK and FFTW (Intel compiler)
|
|
@@ -50,13 +50,14 @@ CXXFLAGS += -lfftw3l -DSCTL_HAVE_FFTWL
|
|
|
50
50
|
#CXXFLAGS += -lmvec -lm -DSCTL_HAVE_LIBMVEC
|
|
51
51
|
#CXXFLAGS += -DSCTL_HAVE_SVML
|
|
52
52
|
|
|
53
|
+
#CXXFLAGS += -I$(LIBXSMM_DIR)/include -L$(LIBXSMM_DIR)/lib -l:libxsmm.a -lpthread -lrt -ldl -lm -DSCTL_HAVE_LIBXSMM # use LIBXSMM for SmallGEMM
|
|
54
|
+
|
|
53
55
|
#CXXFLAGS += -I${PETSC_DIR}/include -I${PETSC_DIR}/../include -DSCTL_HAVE_PETSC
|
|
54
56
|
#LDLIBS += -L${PETSC_DIR}/lib -lpetsc
|
|
55
57
|
|
|
56
58
|
#PVFMM_INC_DIR = ../include
|
|
57
59
|
#CXXFLAGS += -DSCTL_HAVE_PVFMM -I$(PVFMM_INC_DIR)
|
|
58
60
|
|
|
59
|
-
|
|
60
61
|
RM = rm -f
|
|
61
62
|
MKDIRS = mkdir -p
|
|
62
63
|
|
|
@@ -71,6 +72,7 @@ TARGET_BIN = \
|
|
|
71
72
|
$(BINDIR)/test-boundary_integral \
|
|
72
73
|
$(BINDIR)/test-cheb_utils \
|
|
73
74
|
$(BINDIR)/test-fft-fallback \
|
|
75
|
+
$(BINDIR)/test-function-table \
|
|
74
76
|
$(BINDIR)/test-generic-kernel \
|
|
75
77
|
$(BINDIR)/test-intrin-wrapper \
|
|
76
78
|
$(BINDIR)/test-iterator \
|
|
@@ -93,15 +95,17 @@ TARGET_BIN = \
|
|
|
93
95
|
$(BINDIR)/test-linear-solver \
|
|
94
96
|
$(BINDIR)/test-ode-solver \
|
|
95
97
|
$(BINDIR)/test-pt-tree \
|
|
98
|
+
$(BINDIR)/test-sort-scatter \
|
|
96
99
|
$(BINDIR)/test-quadrule \
|
|
97
100
|
$(BINDIR)/test-sph-harm \
|
|
98
101
|
$(BINDIR)/test-tensor \
|
|
99
102
|
$(BINDIR)/test-vec \
|
|
100
|
-
$(BINDIR)/test-quad-elem \
|
|
101
103
|
$(BINDIR)/test-scratch-pool \
|
|
102
|
-
$(BINDIR)/test-scratch-pool-perf
|
|
104
|
+
$(BINDIR)/test-scratch-pool-perf \
|
|
105
|
+
$(BINDIR)/test-small-gemm \
|
|
106
|
+
$(BINDIR)/test-quad-elem
|
|
103
107
|
|
|
104
|
-
.PHONY: all test clean
|
|
108
|
+
.PHONY: all gpu test clean
|
|
105
109
|
|
|
106
110
|
all : $(TARGET_BIN)
|
|
107
111
|
|
|
@@ -112,9 +116,39 @@ ifeq "$(OS)" "Darwin"
|
|
|
112
116
|
/usr/bin/dsymutil $@ -o $@.dSYM
|
|
113
117
|
endif
|
|
114
118
|
|
|
119
|
+
# link-only flags of CXXFLAGS, left out of compiles (clang warns of them)
|
|
120
|
+
LINK_ONLY_FLAGS = -l% -L% -Wl,% -rdynamic
|
|
121
|
+
|
|
115
122
|
$(OBJDIR)/%.o: $(SRCDIR)/%.cpp
|
|
116
123
|
-@$(MKDIRS) $(dir $@)
|
|
117
|
-
$(CXX) $(CXXFLAGS) -I$(INCDIR) -c
|
|
124
|
+
$(CXX) $(filter-out $(LINK_ONLY_FLAGS),$(CXXFLAGS)) -MMD -MP -I$(INCDIR) -c $< -o $@
|
|
125
|
+
|
|
126
|
+
# header dependencies (-MMD -MP)
|
|
127
|
+
-include $(wildcard $(OBJDIR)/*.d)
|
|
128
|
+
|
|
129
|
+
# keep the objects, which the dependency files name
|
|
130
|
+
.SECONDARY: $(patsubst $(BINDIR)/%,$(OBJDIR)/%.o,$(TARGET_BIN))
|
|
131
|
+
|
|
132
|
+
# GPU tree: needs CUDA and a CUDA-aware MPI (not in `all`)
|
|
133
|
+
NVCC = nvcc -ccbin mpicxx
|
|
134
|
+
NVCCFLAGS = -x cu -std=c++17 -O3 -arch=native -rdc=true --expt-relaxed-constexpr -Xcompiler "-fopenmp" \
|
|
135
|
+
-DSCTL_HAVE_MPI -DSCTL_MAX_DEPTH=20 -DTHRUST_HOST_SYSTEM=THRUST_HOST_SYSTEM_OMP
|
|
136
|
+
NVCCLIBS = -ldl
|
|
137
|
+
|
|
138
|
+
GPU_BIN = \
|
|
139
|
+
$(BINDIR)/test-device-scratch \
|
|
140
|
+
$(BINDIR)/test-gpu-tree \
|
|
141
|
+
$(BINDIR)/test-gpu-sort-scatter \
|
|
142
|
+
$(BINDIR)/example-gpu-tree
|
|
143
|
+
|
|
144
|
+
gpu: $(GPU_BIN)
|
|
145
|
+
|
|
146
|
+
GPU_DEPS = $(wildcard $(INCDIR)/*.hpp $(INCDIR)/sctl/*.hpp $(INCDIR)/sctl/*.txx \
|
|
147
|
+
$(INCDIR)/sctl/experimental/*.hpp $(INCDIR)/sctl/experimental/*.txx)
|
|
148
|
+
|
|
149
|
+
$(BINDIR)/%: $(SRCDIR)/%.cu $(GPU_DEPS)
|
|
150
|
+
-@$(MKDIRS) $(dir $@)
|
|
151
|
+
$(NVCC) $(NVCCFLAGS) -I$(INCDIR) $< $(NVCCLIBS) -o $@
|
|
118
152
|
|
|
119
153
|
test: $(TARGET_BIN)
|
|
120
154
|
./$(BINDIR)/test
|
|
@@ -122,6 +156,7 @@ test: $(TARGET_BIN)
|
|
|
122
156
|
./$(BINDIR)/test-boundary_integral
|
|
123
157
|
./$(BINDIR)/test-cheb_utils
|
|
124
158
|
./$(BINDIR)/test-fft-fallback
|
|
159
|
+
./$(BINDIR)/test-function-table
|
|
125
160
|
./$(BINDIR)/test-generic-kernel
|
|
126
161
|
./$(BINDIR)/test-intrin-wrapper
|
|
127
162
|
./$(BINDIR)/test-iterator
|
|
@@ -144,12 +179,14 @@ test: $(TARGET_BIN)
|
|
|
144
179
|
./$(BINDIR)/test-linear-solver
|
|
145
180
|
./$(BINDIR)/test-ode-solver
|
|
146
181
|
./$(BINDIR)/test-pt-tree
|
|
182
|
+
./$(BINDIR)/test-sort-scatter
|
|
147
183
|
./$(BINDIR)/test-quadrule
|
|
148
184
|
./$(BINDIR)/test-sph-harm
|
|
149
185
|
./$(BINDIR)/test-tensor
|
|
150
186
|
./$(BINDIR)/test-vec
|
|
151
|
-
./$(BINDIR)/test-quad-elem
|
|
152
187
|
./$(BINDIR)/test-scratch-pool
|
|
188
|
+
./$(BINDIR)/test-small-gemm
|
|
189
|
+
./$(BINDIR)/test-quad-elem
|
|
153
190
|
|
|
154
191
|
clean:
|
|
155
192
|
$(RM) -r $(BINDIR)/* $(OBJDIR)/*
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
|
|
12
12
|
The only requirement to use SCTL is a working C++17 compliant compiler with OpenMP 4.0 support. It has been tested with GCC-9 and newer.
|
|
13
13
|
|
|
14
|
+
**GCC 14 and newer on AArch64 (ARM, including Apple silicon):** compile with `-mearly-ra=none`. GCC's early register allocator for vector registers can assign one register to two values in use at the same time, which gave wrong results in `Vec` at `-O3` with GCC 14. GCC 15 and 16 have the same bug, hidden in the cases found so far. GCC 11 to 13 reject the flag.
|
|
15
|
+
|
|
14
16
|
## Getting Started
|
|
15
17
|
|
|
16
18
|
To get started, download the latest version of SCTL from the [SCTL GitHub](https://github.com/dmalhotra/SCTL).
|
|
@@ -27,6 +29,8 @@ Since SCTL is a header-only library, it does not require compilation or installa
|
|
|
27
29
|
|
|
28
30
|
Ensure the compiler can locate the header file by providing the path to `SCTL_ROOT/include` using the flag `-I ${SCTL_ROOT}/include`.
|
|
29
31
|
|
|
32
|
+
The included `Makefile` builds the tests (`make test`). On Apple silicon with Homebrew: `CPATH=/opt/homebrew/include LIBRARY_PATH=/opt/homebrew/lib make CXX=g++-15`.
|
|
33
|
+
|
|
30
34
|
## Optional Dependencies
|
|
31
35
|
|
|
32
36
|
The following libraries can be optionally used when available. If not available, SCTL uses its own implementation which may be slower.
|
|
@@ -50,7 +54,7 @@ The following compiler flags can be used to enable or disable specific features
|
|
|
50
54
|
- `-DSCTL_PROFILE=<level>`: Enable [profiling](include/sctl/profile.hpp).
|
|
51
55
|
- `-DSCTL_VERBOSE`: Enable verbose [profiling](include/sctl/profile.hpp) output.
|
|
52
56
|
- `-DSCTL_SIG_HANDLER`: Enable [stack trace](include/sctl/stacktrace.h). On Linux with glibc < 2.34, link with `-ldl` (newer glibc has it merged into libc).
|
|
53
|
-
- `-DSCTL_QUAD_T
|
|
57
|
+
- `-DSCTL_QUAD_T=<type>`: Enable support for [quad-precision type](include/sctl/math_utils.hpp), e.g. `__float128` on x86 and with GCC on Apple silicon.
|
|
54
58
|
|
|
55
59
|
## Features and Capabilities
|
|
56
60
|
|
|
@@ -72,6 +76,7 @@ The following list outlines the primary features and capabilities provided by th
|
|
|
72
76
|
- [ChebQuadRule, LegQuadRule](include/sctl/quadrule.hpp): Clenshaw-Curtis and Gauss-Legendre quadrature rules.
|
|
73
77
|
- [InterpQuadRule](include/sctl/quadrule.hpp): Generating special quadrature rules.
|
|
74
78
|
- [Tree, PtTree](include/sctl/tree.hpp), [Morton](include/sctl/morton.hpp): Morton order based N-dimensional parallel tree structure.
|
|
79
|
+
- [SortScatter](include/sctl/sort-scatter.hpp): keys sorted into a rank-partitioned order, kept together with the permutation to and from the caller's order; the trees move particle data with it.
|
|
75
80
|
|
|
76
81
|
- **Spectral Methods**:
|
|
77
82
|
Methods for spectral representations and transformations.
|
|
@@ -105,8 +110,12 @@ The following list outlines the primary features and capabilities provided by th
|
|
|
105
110
|
- [Stacktrace utility](include/sctl/stacktrace.h): Prints stack traces for debugging.
|
|
106
111
|
- [GEMM, SVD (unoptimized)](include/sctl/mat_utils.hpp): Provides basic implementations of GEMM and SVD operations.
|
|
107
112
|
|
|
113
|
+
- **Experimental**:
|
|
114
|
+
Components whose interfaces may still change.
|
|
115
|
+
|
|
116
|
+
- [GPUTree, PtTree](include/sctl/experimental/gpu-tree.hpp): The `Tree`/`PtTree` interface on a thrust backend, OpenMP host or CUDA device, with CUDA-aware MPI (`make gpu`).
|
|
117
|
+
|
|
108
118
|
- **Legacy (Unmaintained)**:
|
|
109
119
|
Older functionalities that are no longer actively maintained.
|
|
110
120
|
|
|
111
|
-
- [Boundary quadrature](include/sctl/boundary_quadrature.hpp): Boundary integrals on quad-patches using hedgehog quadrature.
|
|
112
121
|
- [ChebBasis](include/sctl/cheb_utils.hpp): Tensor product Chebyshev basis for general-dimension computations.
|