/// <summary> /// Performs a scalar multiplication, if possible. /// </summary> /// <param name="Scalar">Scalar element.</param> /// <param name="ModuleElement">Module element.</param> /// <returns>Result, if understood, null otherwise.</returns> public virtual ILeftModuleElement MultiplyScalarLeft(IRingElement Scalar, ILeftModuleElement ModuleElement) { if (ModuleElement is IModuleElement E) { return(this.MultiplyScalar(Scalar, E)); } else { return(null); } }
/// <summary> /// Performs a scalar multiplication, if possible. /// </summary> /// <param name="Scalar">Scalar element.</param> /// <param name="ModuleElement">Module element.</param> /// <returns>Result, if understood, null otherwise.</returns> public virtual ILeftModuleElement MultiplyScalarLeft(IRingElement Scalar, ILeftModuleElement ModuleElement) { IModuleElement E = ModuleElement as IModuleElement; if (E == null) { return(null); } else { return(this.MultiplyScalar(Scalar, E)); } }
/// <summary> /// Performs a scalar multiplication, if possible. /// </summary> /// <param name="Scalar">Scalar element.</param> /// <param name="ModuleElement">Module element.</param> /// <returns>Result, if understood, null otherwise.</returns> public abstract ILeftModuleElement MultiplyScalarLeft(IRingElement Scalar, ILeftModuleElement ModuleElement);