Skip to content

Commit 68532f2

Browse files
authored
Use deg2rad and rad2deg instead of handcoding conversions (#554)
* Use `deg2rad` and `rad2deg` * Bump version
1 parent 04870d1 commit 68532f2

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ChainRules"
22
uuid = "082447d4-558c-5d27-93f4-14fc19e9eca2"
3-
version = "1.16.0"
3+
version = "1.17.0"
44

55
[deps]
66
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"

src/rulesets/Base/base.jl

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ end
9999
(ifelse(isint, nan, one(u)), ifelse(isint, nan, -floor(u))),
100100
)
101101

102-
@scalar_rule deg2rad(x) π / oftype(x, 180)
103-
@scalar_rule rad2deg(x) oftype(x, 180) / π
102+
@scalar_rule deg2rad(x) deg2rad(one(x))
103+
@scalar_rule rad2deg(x) rad2deg(one(x))
104104

105105
@scalar_rule(ldexp(x, y), (2^y, NoTangent()))
106106

@@ -114,23 +114,23 @@ end
114114
@scalar_rule atanh(x) inv(1 - x ^ 2)
115115

116116

117-
@scalar_rule acosd(x) (-(oftype(x, 180)) / π) / sqrt(1 - x ^ 2)
118-
@scalar_rule acotd(x) (-(oftype(x, 180)) / π) / (1 + x ^ 2)
119-
@scalar_rule acscd(x) ((-(oftype(x, 180)) / π) / x ^ 2) / sqrt(1 - x ^ -2)
120-
@scalar_rule acscd(x::Real) ((-(oftype(x, 180)) / π) / abs(x)) / sqrt(x ^ 2 - 1)
121-
@scalar_rule asecd(x) ((oftype(x, 180) / π) / x ^ 2) / sqrt(1 - x ^ -2)
122-
@scalar_rule asecd(x::Real) ((oftype(x, 180) / π) / abs(x)) / sqrt(x ^ 2 - 1)
123-
@scalar_rule asind(x) (oftype(x, 180) / π) / sqrt(1 - x ^ 2)
124-
@scalar_rule atand(x) (oftype(x, 180) / π) / (1 + x ^ 2)
117+
@scalar_rule acosd(x) -inv(deg2rad(sqrt(1 - x ^ 2)))
118+
@scalar_rule acotd(x) -inv(deg2rad(1 + x ^ 2))
119+
@scalar_rule acscd(x) -inv(deg2rad(x^2 * sqrt(1 - x ^ -2)))
120+
@scalar_rule acscd(x::Real) -inv(deg2rad(abs(x) * sqrt(x ^ 2 - 1)))
121+
@scalar_rule asecd(x) inv(deg2rad(x ^ 2 * sqrt(1 - x ^ -2)))
122+
@scalar_rule asecd(x::Real) inv(deg2rad(abs(x) * sqrt(x ^ 2 - 1)))
123+
@scalar_rule asind(x) inv(deg2rad(sqrt(1 - x ^ 2)))
124+
@scalar_rule atand(x) inv(deg2rad(1 + x ^ 2))
125125

126126
@scalar_rule cot(x) -((1 + Ω ^ 2))
127127
@scalar_rule coth(x) -(csch(x) ^ 2)
128-
@scalar_rule cotd(x) -/ oftype(x, 180)) * (1 + Ω ^ 2)
128+
@scalar_rule cotd(x) -deg2rad(1 + Ω ^ 2)
129129
@scalar_rule csc(x) -Ω * cot(x)
130-
@scalar_rule cscd(x) -/ oftype(x, 180)) * Ω * cotd(x)
130+
@scalar_rule cscd(x) -deg2rad(Ω * cotd(x))
131131
@scalar_rule csch(x) -(coth(x)) * Ω
132132
@scalar_rule sec(x) Ω * tan(x)
133-
@scalar_rule secd(x) / oftype(x, 180)) * Ω * tand(x)
133+
@scalar_rule secd(x) deg2rad(Ω * tand(x))
134134
@scalar_rule sech(x) -(tanh(x)) * Ω
135135

136136
@scalar_rule acot(x) -(inv(1 + x ^ 2))
@@ -139,11 +139,11 @@ end
139139
@scalar_rule asec(x) inv(x ^ 2 * sqrt(1 - x ^ -2))
140140
@scalar_rule asec(x::Real) inv(abs(x) * sqrt(x ^ 2 - 1))
141141

142-
@scalar_rule cosd(x) -/ oftype(x, 180)) * sind(x)
142+
@scalar_rule cosd(x) -deg2rad(sind(x))
143143
@scalar_rule cospi(x) -π * sinpi(x)
144-
@scalar_rule sind(x) / oftype(x, 180)) * cosd(x)
144+
@scalar_rule sind(x) deg2rad(cosd(x))
145145
@scalar_rule sinpi(x) π * cospi(x)
146-
@scalar_rule tand(x) / oftype(x, 180)) * (1 + Ω ^ 2)
146+
@scalar_rule tand(x) deg2rad(1 + Ω ^ 2)
147147

148148
@scalar_rule sinc(x) cosc(x)
149149

0 commit comments

Comments
 (0)