Example #1
0
		public override Element Operateur (Operateurs operateur, Element droite)
		{
			if (droite.GetType () != this.GetType ()) {
				return base.Operateur (operateur, droite);
			} else if (this.name != ((Inconnue)droite).name) {
				if (((Inconnue)droite).name == "0") {
					switch (operateur) {
					case Operateurs.Addition:
						return this;
					case Operateurs.Multiplication:
						return droite;
					default:
						return base.Operateur (operateur, droite);
					}
				} else {
					return base.Operateur (operateur, droite);
				}
			} else {
				switch (operateur) {
				case Operateurs.Addition:
					return new Multiplication ((R)2, this);
				default:
					return base.Operateur (operateur, droite);
				}
			}
		}
Example #2
0
		public override Element Operateur (Operateurs operateur, Element droite) {
			if (droite.GetType () != this.GetType ()) {
				return null;
			} else {
				switch (operateur) {
				case Operateurs.Addition:
					return this + (R) droite;

				case Operateurs.Multiplication:
					return this * (R) droite;

				default:
					Console.WriteLine ("Operator not handled");
					return null;
				}
			}
		}
Example #3
0
		public override Element Neutre (Operateurs operateur)
		{
			switch (operateur) {
			case Operateurs.Addition:
				return (R)0;
			case Operateurs.Multiplication:
				return (R)1;
			default:
				return (R)0;
			}
		}
Example #4
0
		public virtual bool IsDistributiveOn(Operateurs operateur) {
			return distributiveSur.Contains(operateur);
		}
Example #5
0
		public virtual Element Neutre (Operateurs operateur) {
			return new Element ();
		}
Example #6
0
		public virtual Element Operateur (Operateurs operateur, Element droite) {
			return (Element)System.Activator.CreateInstance (Type.GetType ("Maths." + operateur.ToString ()), this, droite);
		}
Example #7
0
		public override Element Neutre (Operateurs operateur)
		{
			return new Inconnue("0");
		}