public void Visit(Compiled.Abs elem) { if (ValueOf(elem.Arg) >= 0) { LocalDerivative = elem.Adjoint; } else if (ValueOf(elem.Arg) < 0) { LocalDerivative = -elem.Adjoint; } }
public void Visit(Compiled.Abs elem) { double arg = ValueOf(elem.Arg); elem.Value = Math.Abs(arg); if (arg > 0) { elem.Inputs[0].Weight = 1; } else { elem.Inputs[0].Weight = -1; } }
public int Visit(Abs abs) { return(Compile(abs, () => { var argIndex = abs.Arg.Accept(this); var element = new Compiled.Abs { Arg = argIndex, Inputs = new Compiled.InputEdge[] { new Compiled.InputEdge { Index = argIndex }, } }; return element; })); }
public void Visit(Compiled.Abs elem) { elem.Value = Math.Abs(ValueOf(elem.Arg)); }