@@ -101,10 +101,10 @@ function expand_derivatives(O::Term, simplify=true; occurances=nothing)
101101 x = if _iszero (t2)
102102 t2
103103 elseif _isone (t2)
104- d = derivative (o, i)
104+ d = derivative_idx (o, i)
105105 d isa NoDeriv ? D (o) : d
106106 else
107- t1 = derivative (o, i)
107+ t1 = derivative_idx (o, i)
108108 t1 = t1 isa NoDeriv ? D (o) : t1
109109 make_operation (* , [t1, t2])
110110 end
@@ -159,7 +159,7 @@ julia> using ModelingToolkit
159159
160160julia> @variables x y;
161161
162- julia> ModelingToolkit.derivative (sin(x), 1)
162+ julia> ModelingToolkit.derivative_idx (sin(x), 1)
163163cos(x())
164164```
165165
@@ -173,20 +173,20 @@ sin(x()) * y() ^ 2
173173julia> typeof(myop.op) # Op is multiplication function
174174typeof(*)
175175
176- julia> ModelingToolkit.derivative (myop, 1) # wrt. sin(x)
176+ julia> ModelingToolkit.derivative_idx (myop, 1) # wrt. sin(x)
177177y() ^ 2
178178
179- julia> ModelingToolkit.derivative (myop, 2) # wrt. y^2
179+ julia> ModelingToolkit.derivative_idx (myop, 2) # wrt. y^2
180180sin(x())
181181```
182182"""
183- derivative (O:: Term , idx ) = derivative (O . op, (O . args ... ,), Val (idx))
184- derivative (O:: Any , :: Any ) = 0
183+ derivative_idx (O:: Any , :: Any ) = 0
184+ derivative_idx (O:: Term , idx ) = derivative (O . op, (O . args ... ,), Val (idx))
185185
186186# Indicate that no derivative is defined.
187187struct NoDeriv
188188end
189- derivative (f, args:: Tuple , v:: Val ) = NoDeriv ()
189+ derivative (f, args, v) = NoDeriv ()
190190
191191# Pre-defined derivatives
192192import DiffRules
0 commit comments