Example #1
0
 public Complex Evaluate()
 {
     if (Variables.Any())
     {
         return(Complex.Multiply(CoEfficient, Variables.Select(indt => indt.Evaluate()).Aggregate(Complex.Multiply)));
     }
     else
     {
         return(CoEfficient.Clone());;
     }
 }
Example #2
0
        public override int GetHashCode()
        {
            int hashCode = CoEfficient.GetHashCode();

            if (Variables.Any())
            {
                foreach (var variable in Variables)
                {
                    hashCode = CombineHashCodes(hashCode, variable.GetHashCode());
                }
            }
            return(hashCode);
        }
        public override string ToString()
        {
            if (CoEfficient == 0)
            {
                return("0");
            }

            string signString        = string.Empty;
            string coefficientString = string.Empty;
            string variableString    = string.Empty;
            string multiplyString    = string.Empty;

            if (Variables.Any())
            {
                variableString = string.Join("*", Variables.Select(v => v.ToString()));
            }
            else if (BigInteger.Abs(CoEfficient) == 1)
            {
                coefficientString = CoEfficient.ToString();
            }

            if (BigInteger.Abs(CoEfficient) != 1)
            {
                if (Variables.Any())
                {
                    multiplyString = "*";
                }
                coefficientString = CoEfficient.ToString();
            }
            else if (Variables.Any() && CoEfficient.Sign == -1)
            {
                coefficientString = "-";
            }

            return($"{coefficientString}{multiplyString}{variableString}");
        }
Example #4
0
 public Term Clone()
 {
     return(new Term(CoEfficient.Clone(), CloneHelper <Indeterminate> .CloneCollection(Variables).ToArray()));
 }