@@ -5,20 +5,18 @@ import Base: asin, acos, atan, acot, asec, acsc, asinh, acosh, atanh, acoth, ase
55import Base: sinc, cosc
66import Base: + , - , * , / , \ , ^ , > , < , >= , <= , ==
77import 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
0 commit comments