From 449870d8d5dd24a44c9e7e4f9d5da6b04a1e45dc Mon Sep 17 00:00:00 2001 From: Songchen Tan Date: Wed, 27 Sep 2023 12:23:38 -0400 Subject: [PATCH] Fix erf by adding IrrationalConstants --- Project.toml | 2 ++ src/codegen.jl | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index ff9fc4e..e7690c0 100644 --- a/Project.toml +++ b/Project.toml @@ -7,6 +7,7 @@ version = "0.2.1" ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2" ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" ChainRulesOverloadGeneration = "f51149dc-2911-5acf-81fc-2076a2a81d4f" +IrrationalConstants = "92d709cd-6900-40b7-9082-c6be49f344b6" SliceMap = "82cb661a-3f19-5665-9e27-df437c7e54c8" SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" SymbolicUtils = "d1185830-fcd6-423d-90d6-eec64667417b" @@ -18,6 +19,7 @@ ChainRulesCore = "1" ChainRulesOverloadGeneration = "0.1" SliceMap = "0.2" SpecialFunctions = "2" +IrrationalConstants = "0.2" SymbolicUtils = "1" Zygote = "0.6.55" julia = "1.6" diff --git a/src/codegen.jl b/src/codegen.jl index 6a093b4..5e27b04 100644 --- a/src/codegen.jl +++ b/src/codegen.jl @@ -1,5 +1,6 @@ using ChainRulesCore using SpecialFunctions +using IrrationalConstants: sqrtπ using SymbolicUtils, SymbolicUtils.Code using SymbolicUtils: BasicSymbolic, Pow @@ -26,7 +27,7 @@ using SymbolicUtils: BasicSymbolic, Pow @scalar_rule asech(x::BasicSymbolic) inv(x * -sqrt(1 - x^2)) @scalar_rule asinh(x::BasicSymbolic) inv(sqrt(x^2 + 1)) @scalar_rule atanh(x::BasicSymbolic) inv(1 - x^2) -@scalar_rule erf(x::BasicSymbolic) exp(-x^2)*(2 / sqrt(pi)) +@scalar_rule erf(x::BasicSymbolic) exp(-x^2) * 2/sqrtπ dummy = (NoTangent(), 1) @syms t₁