public virtual Array <Type> GtEq(Array <Type> a, Array <Type> b) => NN.Apply(a, b, (a_, b_) => GtEq(a_, b_));
public virtual Array <Type> GtEq(Type a, Array <Type> b) => NN.Apply(b, b_ => GtEq(a, b_));
public virtual Array <Type> Div(Type a, Array <Type> b) => NN.Apply(b, b_ => Div(a, b_));
public virtual Array <Type> Gt(Array <Type> a, Type b) => NN.Apply(a, a_ => Gt(a_, b));
public virtual Array <Type> Sub(Type a, Array <Type> b) => NN.Apply(b, b_ => Sub(a, b_));
public virtual Array <Type> Div(Array <Type> a, Array <Type> b) => NN.Apply(a, b, (a_, b_) => Div(a_, b_));
public virtual Array <Type> Sub(Array <Type> a, Array <Type> b) => NN.Apply(a, b, (a_, b_) => Sub(a_, b_));
public virtual Array <Type> Mul(Type a, Array <Type> b) => NN.Apply(b, b_ => Mul(a, b_));
public virtual Array <Type> Mul(Array <Type> a, Array <Type> b) => NN.Apply(a, b, (a_, b_) => Mul(a_, b_));
public virtual Array <Type> Add(Type a, Array <Type> b) => NN.Apply(b, b_ => Add(a, b_));
// Default implementation, should be overriden for float and double public virtual Array <Type> Add(Array <Type> a, Array <Type> b) => NN.Apply(a, b, (a_, b_) => Add(a_, b_));