-
Notifications
You must be signed in to change notification settings - Fork 26
/
trig.jl
71 lines (65 loc) · 2.12 KB
/
trig.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
trig1arg = Dict{Symbol,Any}(
:acosd => :(-(180/pi)./sqrt(1-abs2(x))), # domain: abs(x) <= 1; trig,operators
:acot => :(-1./(1+abs2(x))), # trig
:acotd => :(-(180/pi)./(1+abs2(x))), # trig,operators
:acoth => :(1./(1-abs2(x))), # domain: abs(x) >= 1; trig
:acsc => :(-1./sqrt(x.*x.*(x-1).*(x+1))), # domain: abs(x) >= 1; trig
:acscd => :(-(180/pi)./sqrt(x.*x.*(x-1).*(x+1))), # domain: abs(x) >= 1; trig,operators
:acsch => :(-1./sqrt(x.^4+x.^2)), # trig
:asec => :(1./sqrt(x.^4-x.^2)), # domain: abs(x) >= 1; trig
:asecd => :((180/pi)./sqrt(x.^4-x.^2)), # domain: abs(x) >= 1; trig,operators
:asech => :(-1./sqrt(x.^2-x.^4)), # domain: 0 < x <= 1; trig
#:asind => :todo, # domain: abs(x) <= 1; trig,operators
#:atand => :todo, # trig,operators
#:cosc => :todo, # trig,operators
#:cosd => :todo, # trig,operators
:cospi => :(-sinpi(x).*pi), # trig,operators
#:cot => :todo, # trig
#:cotd => :todo, # trig
#:coth => :todo, # trig
#:csc => :todo, # trig
#:cscd => :todo, # trig
#:csch => :todo, # trig
#:sec => :todo, # trig
#:secd => :todo, # trig
#:sech => :todo, # trig
#:sinc => :todo, # trig,operators
#:sind => :todo, # trig,operators
:sinpi => :(cospi(x).*pi), # trig,operators
#:tand => :todo, # trig,operators
)
defgrads(trig1arg, Number)
defgrads(trig1arg, AbstractArray)
for (f,g) in ((:acosd, :cosd),
(:acotd, :cotd),
(:acscd, :cscd),
(:asecd, :secd))
gx = eval(g)
fx = x->gx(180x/pi)
testargs(::Fn{f},a...)=map(fx, testargs(Fn2(f),a...))
end
for (f,g) in ((:acot, :cot),
(:acoth, :coth),
(:acsc, :csc),
(:acsch, :csch),
(:asec, :sec),
(:asech, :sech))
gx = eval(g)
testargs(::Fn{f},a...)=map(gx, testargs(Fn2(f),a...))
end
# TODO:
# eval
# sin_kernel: Not exported
# cos_kernel: Not exported
# mulpi_ext: Not exported
# sinpi
# cospi
# sinc
# cosc
# $(Expr(:$, :finv)): Not a symbol
# $(Expr(:$, :fa)): Not a symbol
# deg2rad_ext: Not exported
# sind
# cosd
# tand
# $(Expr(:$, :fd)): Not a symbol