|
1 | 1 | @scalar_rule(abs2(x), Wirtinger(x', x))
|
2 | 2 | @scalar_rule(log(x), inv(x))
|
3 |
| -@scalar_rule(log10(x), inv(x) / log(10f0)) |
4 |
| -@scalar_rule(log2(x), inv(x) / log(2f0)) |
| 3 | +@scalar_rule(log10(x), inv(x) / log(oftype(x, 10))) |
| 4 | +@scalar_rule(log2(x), inv(x) / log(oftype(x, 2))) |
5 | 5 | @scalar_rule(log1p(x), inv(x + 1))
|
6 | 6 | @scalar_rule(expm1(x), exp(x))
|
7 | 7 | @scalar_rule(sin(x), cos(x))
|
8 | 8 | @scalar_rule(cos(x), -sin(x))
|
9 | 9 | @scalar_rule(sinpi(x), π * cospi(x))
|
10 | 10 | @scalar_rule(cospi(x), -π * sinpi(x))
|
11 |
| -@scalar_rule(sind(x), (π / 180f0) * cosd(x)) |
12 |
| -@scalar_rule(cosd(x), -(π / 180f0) * sind(x)) |
| 11 | +@scalar_rule(sind(x), (π / oftype(x, 180)) * cosd(x)) |
| 12 | +@scalar_rule(cosd(x), -(π / oftype(x, 180)) * sind(x)) |
13 | 13 | @scalar_rule(asin(x), inv(sqrt(1 - x^2)))
|
14 | 14 | @scalar_rule(acos(x), -inv(sqrt(1 - x^2)))
|
15 | 15 | @scalar_rule(atan(x), inv(1 + x^2))
|
16 | 16 | @scalar_rule(asec(x), inv(abs(x) * sqrt(x^2 - 1)))
|
17 | 17 | @scalar_rule(acsc(x), -inv(abs(x) * sqrt(x^2 - 1)))
|
18 | 18 | @scalar_rule(acot(x), -inv(1 + x^2))
|
19 |
| -@scalar_rule(asind(x), 180f0 / π / sqrt(1 - x^2)) |
20 |
| -@scalar_rule(acosd(x), -180f0 / π / sqrt(1 - x^2)) |
21 |
| -@scalar_rule(atand(x), 180f0 / π / (1 + x^2)) |
22 |
| -@scalar_rule(asecd(x), 180f0 / π / abs(x) / sqrt(x^2 - 1)) |
23 |
| -@scalar_rule(acscd(x), -180f0 / π / abs(x) / sqrt(x^2 - 1)) |
24 |
| -@scalar_rule(acotd(x), -180f0 / π / (1 + x^2)) |
| 19 | +@scalar_rule(asind(x), oftype(x, 180) / π / sqrt(1 - x^2)) |
| 20 | +@scalar_rule(acosd(x), -oftype(x, 180) / π / sqrt(1 - x^2)) |
| 21 | +@scalar_rule(atand(x), oftype(x, 180) / π / (1 + x^2)) |
| 22 | +@scalar_rule(asecd(x), oftype(x, 180) / π / abs(x) / sqrt(x^2 - 1)) |
| 23 | +@scalar_rule(acscd(x), -oftype(x, 180) / π / abs(x) / sqrt(x^2 - 1)) |
| 24 | +@scalar_rule(acotd(x), -oftype(x, 180) / π / (1 + x^2)) |
25 | 25 | @scalar_rule(sinh(x), cosh(x))
|
26 | 26 | @scalar_rule(cosh(x), sinh(x))
|
27 | 27 | @scalar_rule(tanh(x), sech(x)^2)
|
|
32 | 32 | @scalar_rule(asech(x), -inv(x * sqrt(1 - x^2)))
|
33 | 33 | @scalar_rule(acsch(x), -inv(abs(x) * sqrt(1 + x^2)))
|
34 | 34 | @scalar_rule(acoth(x), inv(1 - x^2))
|
35 |
| -@scalar_rule(deg2rad(x), π / 180f0) |
36 |
| -@scalar_rule(rad2deg(x), 180f0 / π) |
| 35 | +@scalar_rule(deg2rad(x), π / oftype(x, 180)) |
| 36 | +@scalar_rule(rad2deg(x), oftype(x, 180) / π) |
37 | 37 | @scalar_rule(conj(x), Wirtinger(Zero(), One()))
|
38 | 38 | @scalar_rule(adjoint(x), Wirtinger(Zero(), One()))
|
39 | 39 | @scalar_rule(transpose(x), One())
|
|
50 | 50 | @scalar_rule(sqrt(x), inv(2 * Ω))
|
51 | 51 | @scalar_rule(cbrt(x), inv(3 * Ω^2))
|
52 | 52 | @scalar_rule(exp(x), Ω)
|
53 |
| -@scalar_rule(exp2(x), Ω * log(2f0)) |
54 |
| -@scalar_rule(exp10(x), Ω * log(10f0)) |
| 53 | +@scalar_rule(exp2(x), Ω * log(oftype(x, 2))) |
| 54 | +@scalar_rule(exp10(x), Ω * log(oftype(x, 10))) |
55 | 55 | @scalar_rule(tan(x), 1 + Ω^2)
|
56 | 56 | @scalar_rule(sec(x), Ω * tan(x))
|
57 | 57 | @scalar_rule(csc(x), -Ω * cot(x))
|
58 | 58 | @scalar_rule(cot(x), -(1 + Ω^2))
|
59 |
| -@scalar_rule(tand(x), (π / 180f0) * (1 + Ω^2)) |
60 |
| -@scalar_rule(secd(x), (π / 180f0) * Ω * tand(x)) |
61 |
| -@scalar_rule(cscd(x), -(π / 180f0) * Ω * cotd(x)) |
62 |
| -@scalar_rule(cotd(x), -(π / 180f0) * (1 + Ω^2)) |
| 59 | +@scalar_rule(tand(x), (π / oftype(x, 180)) * (1 + Ω^2)) |
| 60 | +@scalar_rule(secd(x), (π / oftype(x, 180)) * Ω * tand(x)) |
| 61 | +@scalar_rule(cscd(x), -(π / oftype(x, 180)) * Ω * cotd(x)) |
| 62 | +@scalar_rule(cotd(x), -(π / oftype(x, 180)) * (1 + Ω^2)) |
63 | 63 | @scalar_rule(sech(x), -tanh(x) * Ω)
|
64 | 64 | @scalar_rule(csch(x), -coth(x) * Ω)
|
65 | 65 | @scalar_rule(hypot(x, y), (y / Ω, x / Ω))
|
|
0 commit comments