diff --git a/.github/workflows/typos.yml b/.github/workflows/typos.yml new file mode 100644 index 000000000..ffa64b962 --- /dev/null +++ b/.github/workflows/typos.yml @@ -0,0 +1,20 @@ +name: Typos Check + +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] + +jobs: + typos-check: + name: Check for typos + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Check for typos + uses: crate-ci/typos@master + with: + config: ./_typos.toml diff --git a/_typos.toml b/_typos.toml new file mode 100644 index 000000000..2b16ca9db --- /dev/null +++ b/_typos.toml @@ -0,0 +1,109 @@ +# Typos configuration for SciML repositories + +[files] +extend-exclude = [ + "*.png", + "*.jpg", + "*.jpeg", + "*.gif", + "*.svg", + "*.pdf", + "*.woff", + "*.woff2", + "*.ttf", + "*.eot", + "*/build/*", + "*/node_modules/*", + "*/.git/*", + "*.lock", + "Manifest.toml" +] + +[default.extend-words] +# Julia-specific functions +indexin = "indexin" +findfirst = "findfirst" +findlast = "findlast" +eachindex = "eachindex" +setp = "setp" +getp = "getp" +setu = "setu" +getu = "getu" + +# Mathematical/scientific terms +jacobian = "jacobian" +hessian = "hessian" +eigenvalue = "eigenvalue" +eigenvector = "eigenvector" +discretization = "discretization" +linearization = "linearization" +parameterized = "parameterized" +discretized = "discretized" +vectorized = "vectorized" + +# Common variable patterns in Julia/SciML +ists = "ists" +ispcs = "ispcs" +osys = "osys" +rsys = "rsys" +usys = "usys" +fsys = "fsys" +eqs = "eqs" +rhs = "rhs" +lhs = "lhs" +ode = "ode" +pde = "pde" +sde = "sde" +dde = "dde" +bvp = "bvp" +ivp = "ivp" + +# Common abbreviations +tol = "tol" +rtol = "rtol" +atol = "atol" +idx = "idx" +jdx = "jdx" +prev = "prev" +curr = "curr" +init = "init" +tmp = "tmp" +vec = "vec" +arr = "arr" +dt = "dt" +du = "du" +dx = "dx" +dy = "dy" +dz = "dz" + +# Algorithm/type suffixes +alg = "alg" +prob = "prob" +sol = "sol" +cb = "cb" +opts = "opts" +args = "args" +kwargs = "kwargs" + +# Biological/chemical terms (from Catalyst.jl context) +Pase = "Pase" +KKPase = "KKPase" +KKPKKPase = "KKPKKPase" +KKPPKKPase = "KKPPKKPase" + +# Common scientific abbreviations +ND = "ND" +nd = "nd" + +# SVG/auto-generated identifiers (common patterns) +daa = "daa" +myu = "myu" + +# Units and dimensions +nd = "nd" + +# Common Julia package/module abbreviations +MT = "MT" +ODE = "ODE" +PDE = "PDE" +SDE = "SDE" diff --git a/benchmarks/sparselu.jl b/benchmarks/sparselu.jl index efc45962d..84edde50f 100644 --- a/benchmarks/sparselu.jl +++ b/benchmarks/sparselu.jl @@ -38,7 +38,7 @@ algs = [ MKLPardisoFactorize(), SparspakFactorization() ] -cols = [:red, :blue, :green, :magenta, :turqoise] # one color per alg +cols = [:red, :blue, :green, :magenta, :turquoise] # one color per alg lst = [:dash, :solid, :dashdot] # one line style per dim __parameterless_type(T) = Base.typename(T).wrapper diff --git a/docs/src/tutorials/accelerating_choices.md b/docs/src/tutorials/accelerating_choices.md index 387326343..3733cf812 100644 --- a/docs/src/tutorials/accelerating_choices.md +++ b/docs/src/tutorials/accelerating_choices.md @@ -34,7 +34,7 @@ there are a few major tips to note when fine tuning the results to your system: v7 it's no longer loaded by default! Thus if your matrices are in this range and you would value better run times at the cost of compile and load times, it is recommended you add `using RecursiveFactorization`. The defaulting algorithm will then consider it in its list - and will automatically (in an architecture-specific way) insert it as it feels necesssary. + and will automatically (in an architecture-specific way) insert it as it feels necessary. 2. One of the major factors that can inhibit BLAS performance on LU factorization is multithreading. In many of these plots you can see a giant dip in GFLOPs (higher is better) when a certain size threshold is hit. This is because, for the number of chosen threads, there was not enough work