Skip to content

Commit dd72964

Browse files
lrnvtansongchen
authored andcommitted
up
1 parent 193f374 commit dd72964

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

src/primitive.jl

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,18 @@ import Base: asin, acos, atan, acot, asec, acsc, asinh, acosh, atanh, acoth, ase
55
import Base: sinc, cosc
66
import Base: +, -, *, /, \, ^, >, <, >=, <=, ==
77
import Base: hypot, max, min
8-
import Base: zero, one, adjoint, conj, transpose
9-
10-
using Base: tail
8+
import Base: tail
119

1210
# Unary
13-
14-
@inline zero(::Type{TaylorScalar{T, N}}) where {T, N} = TaylorScalar{T, N}(zero(T))
15-
@inline one(::Type{TaylorScalar{T, N}}) where {T, N} = TaylorScalar{T, N}(one(T))
16-
@inline zero(::TaylorScalar{T, N}) where {T, N} = zero(TaylorScalar{T, N})
17-
@inline one(::TaylorScalar{T, N}) where {T, N} = one(TaylorScalar{T, N})
18-
19-
transpose(t::TaylorScalar) = t
20-
adjoint(t::TaylorScalar) = t
21-
conj(t::TaylorScalar) = t
11+
@inline +(a::Number, b::TaylorScalar) = TaylorScalar((a + value(b)[1]), tail(value(b))...)
12+
@inline -(a::Number, b::TaylorScalar) = TaylorScalar((a - value(b)[1]), .-tail(value(b))...)
13+
@inline *(a::Number, b::TaylorScalar) = TaylorScalar((a .* value(b))...)
14+
@inline /(a::Number, b::TaylorScalar) = /(promote(a, b)...)
15+
16+
@inline +(a::TaylorScalar, b::Number) = TaylorScalar((value(a)[1] + b), tail(value(a))...)
17+
@inline -(a::TaylorScalar, b::Number) = TaylorScalar((value(a)[1] - b), tail(value(a))...)
18+
@inline *(a::TaylorScalar, b::Number) = TaylorScalar((value(a) .* b)...)
19+
@inline /(a::TaylorScalar, b::Number) = TaylorScalar((value(a) ./ b)...)
2220

2321
## Delegated
2422

src/scalar.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import Base: zero, one, adjoint, conj, transpose
2+
import Base: +, -, *, /
13
import Base: convert, promote_rule
24

35
export TaylorScalar

0 commit comments

Comments
 (0)