diff --git a/.JuliaFormatter.toml b/.JuliaFormatter.toml deleted file mode 100644 index 8a19c90..0000000 --- a/.JuliaFormatter.toml +++ /dev/null @@ -1,2 +0,0 @@ -style = "sciml" -annotate_untyped_fields_with_any = false diff --git a/.github/workflows/FormatCheck.yml b/.github/workflows/FormatCheck.yml index 7e46c8d..6762c6f 100644 --- a/.github/workflows/FormatCheck.yml +++ b/.github/workflows/FormatCheck.yml @@ -1,13 +1,19 @@ -name: "Format Check" +name: format-check on: push: branches: + - 'master' - 'main' + - 'release-' tags: '*' pull_request: jobs: - format-check: - name: "Format Check" - uses: "SciML/.github/.github/workflows/format-check.yml@v1" + runic: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: fredrikekre/runic-action@v1 + with: + version: '1' diff --git a/ext/FastPowerEnzymeExt.jl b/ext/FastPowerEnzymeExt.jl index bca131b..2349034 100644 --- a/ext/FastPowerEnzymeExt.jl +++ b/ext/FastPowerEnzymeExt.jl @@ -5,7 +5,9 @@ import FastPower: fastpower using Enzyme using Enzyme.EnzymeRules: FwdConfig -Enzyme.EnzymeRules.@easy_rule(FastPower.fastpower(x, y), - (y * fastpower(x, y - 1), Ω * log(x))) +Enzyme.EnzymeRules.@easy_rule( + FastPower.fastpower(x, y), + (y * fastpower(x, y - 1), Ω * log(x)) +) end diff --git a/ext/FastPowerMonteCarloMeasurementsExt.jl b/ext/FastPowerMonteCarloMeasurementsExt.jl index d161cb1..9398620 100644 --- a/ext/FastPowerMonteCarloMeasurementsExt.jl +++ b/ext/FastPowerMonteCarloMeasurementsExt.jl @@ -3,9 +3,11 @@ module FastPowerMonteCarloMeasurementsExt using FastPower using MonteCarloMeasurements -@inline function FastPower.fastpower(x::MonteCarloMeasurements.AbstractParticles, - y::MonteCarloMeasurements.AbstractParticles) - x^y +@inline function FastPower.fastpower( + x::MonteCarloMeasurements.AbstractParticles, + y::MonteCarloMeasurements.AbstractParticles + ) + return x^y end end diff --git a/test/runtests.jl b/test/runtests.jl index 6761f56..d2b24d3 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -7,7 +7,7 @@ const GROUP = get(ENV, "GROUP", "All") if GROUP == "All" || GROUP == "Core" @testset "Fast log2" begin for x in 0.001:0.001:1.2 # (0, 1+something] is the domain which a controller uses - @test log2(x)≈fastlog2(Float32(x)) atol=1e-3 + @test log2(x) ≈ fastlog2(Float32(x)) atol = 1.0e-3 end end @@ -15,31 +15,31 @@ if GROUP == "All" || GROUP == "Core" @test fastpower(1, 1) isa Float64 @test fastpower(1.0, 1.0) isa Float64 errors = [abs(^(x, y) - fastpower(x, y)) for x in 0.001:0.001:1, y in 0.08:0.001:0.5] - @test maximum(errors) < 1e-4 + @test maximum(errors) < 1.0e-4 errors = [abs(^(x, y) - fastpower(x, y)) for x in 0.001:0.001:1, y in 0.08:0.001:1000.0] - @test maximum(errors) < 1e-3 + @test maximum(errors) < 1.0e-3 errors = [abs(^(x, y) - fastpower(x, y)) for x in 0.001:0.001:100, y in 0.08:0.001:1.0] - @test maximum(errors) < 1e-2 + @test maximum(errors) < 1.0e-2 end using ForwardDiff, ReverseDiff, Tracker, Mooncake function mooncake_derivative(f, x) - Mooncake.value_and_gradient!!(Mooncake.build_rrule(f, x), f, x)[2][2] + return Mooncake.value_and_gradient!!(Mooncake.build_rrule(f, x), f, x)[2][2] end @testset "Fast pow - Other AD Engines" begin x = 1.5123233245141 y = 0.22352354326 @test ForwardDiff.derivative(x -> fastpower(x, x + y), x) ≈ - ForwardDiff.derivative(x -> ^(x, x + y), x) + ForwardDiff.derivative(x -> ^(x, x + y), x) @test Tracker.gradient(x -> fastpower(x, x + y), x)[1] ≈ - Tracker.gradient(x -> ^(x, x + y), x)[1] + Tracker.gradient(x -> ^(x, x + y), x)[1] @test ReverseDiff.gradient(x -> fastpower(x[1], x[1] + y), [x])[1] ≈ - ReverseDiff.gradient(x -> ^(x[1], x[1] + y), [x])[1] + ReverseDiff.gradient(x -> ^(x[1], x[1] + y), [x])[1] @test mooncake_derivative(x -> fastpower(x, x + y), x) ≈ - mooncake_derivative(x -> ^(x, x + y), x) + mooncake_derivative(x -> ^(x, x + y), x) end end @@ -48,12 +48,12 @@ if GROUP == "All" || GROUP == "Enzyme" @testset "Fast pow - Enzyme forward rule" begin @testset for RT in (Duplicated, DuplicatedNoNeed), - Tx in (Const, Duplicated), - Ty in (Const, Duplicated) + Tx in (Const, Duplicated), + Ty in (Const, Duplicated) x = 1.0 y = 0.5 - test_forward(fastpower, RT, (x, Tx), (y, Ty), atol = 1e-4, rtol = 1e-3) + test_forward(fastpower, RT, (x, Tx), (y, Ty), atol = 1.0e-4, rtol = 1.0e-3) end end @@ -61,7 +61,7 @@ if GROUP == "All" || GROUP == "Enzyme" @testset for RT in (Active,), Tx in (Active, Const), Ty in (Active, Const) x = 1.0 y = 0.5 - test_reverse(fastpower, RT, (x, Tx), (y, Ty), atol = 1e-4, rtol = 1e-3) + test_reverse(fastpower, RT, (x, Tx), (y, Ty), atol = 1.0e-4, rtol = 1.0e-3) end end end