示例#1
0
        /// <summary>
        /// Copy constructor.
        /// </summary>
        /// <param name="from">Another polynomial function to clone from.</param>
        public ScaledSumFunction(ScaledSumFunction from)
        {
            if (from._coefficients != null)
            {
                _coefficients = (double[])from._coefficients.Clone();
            }
            else
            {
                _coefficients = null;
            }

            if (from._functions != null)
            {
                _functions = new Altaxo.Calc.IScalarFunctionDD[from._functions.Length];
                for (int i = 0; i < from._functions.Length; i++)
                {
                    if (from._functions[i] is ICloneable)
                    {
                        _functions[i] = (Altaxo.Calc.IScalarFunctionDD)((ICloneable)from._functions[i]).Clone();
                    }
                    else
                    {
                        _functions[i] = from._functions[i];
                    }
                }
            }
            else
            {
                _functions = null;
            }
        }
示例#2
0
            public virtual void Serialize(object obj, Altaxo.Serialization.Xml.IXmlSerializationInfo info)
            {
                ScaledSumFunction s = (ScaledSumFunction)obj;

                info.AddArray("Coefficients", s._coefficients, s._coefficients.Length);
                info.CreateArray("Functions", s._functions.Length);
                for (int i = 0; i < s._functions.Length; i++)
                {
                    info.AddValue("e", s._functions[i]);
                }
                info.CommitArray();
            }
示例#3
0
            public virtual object Deserialize(object o, Altaxo.Serialization.Xml.IXmlDeserializationInfo info, object parent)
            {
                ScaledSumFunction s = null != o ? (ScaledSumFunction)o : new ScaledSumFunction();

                info.GetArray("Coefficients", out s._coefficients);

                int cnt = info.OpenArray();

                s._functions = new Altaxo.Calc.IScalarFunctionDD[cnt];
                for (int i = 0; i < cnt; i++)
                {
                    s._functions[i] = (Altaxo.Calc.IScalarFunctionDD)info.GetValue("e", parent);
                }

                info.CloseArray(cnt);

                return(s);
            }
    /// <summary>
    /// Copy constructor.
    /// </summary>
    /// <param name="from">Another polynomial function to clone from.</param>
    public ScaledSumFunction(ScaledSumFunction from)
    {
      if (from._coefficients != null)
        _coefficients = (double[])from._coefficients.Clone();
      else
        _coefficients = null;

      if (from._functions != null)
      {
        _functions = new Altaxo.Calc.IScalarFunctionDD[from._functions.Length];
        for (int i = 0; i < from._functions.Length; i++)
        {
          if (from._functions[i] is ICloneable)
            _functions[i] = (Altaxo.Calc.IScalarFunctionDD)((ICloneable)from._functions[i]).Clone();
          else
            _functions[i] = from._functions[i];
        }
      }
      else
      {
        _functions = null;
      }

    }