public void Serialize(object obj, Altaxo.Serialization.Xml.IXmlSerializationInfo info) { FitFunctionScript s = (FitFunctionScript)obj; // Update the user defined paramter names if (s.m_ScriptObject != null && s.IsUsingUserDefinedParameterNames) { IFitFunction ff = (IFitFunction)s.m_ScriptObject; if (s._UserDefinedParameterNames == null || s._UserDefinedParameterNames.Length != ff.NumberOfParameters) { s._UserDefinedParameterNames = new string[ff.NumberOfParameters]; } for (int i = 0; i < ff.NumberOfParameters; ++i) { s._UserDefinedParameterNames[i] = ff.ParameterName(i); } } info.AddValue("Category", s.FitFunctionCategory); info.AddValue("Name", s.FitFunctionName); info.AddValue("CreationTime", s._fitFunctionCreationTime); info.AddValue("Description", s.FitFunctionName); info.AddBaseValueEmbedded(s, typeof(AbstractScript)); info.AddValue("NumberOfParameters", s.NumberOfParameters); info.AddValue("UserDefinedParameters", s.IsUsingUserDefinedParameterNames); if (s.IsUsingUserDefinedParameterNames) { info.AddArray("UserDefinedParameterNames", s._UserDefinedParameterNames, s._UserDefinedParameterNames.Length); } info.AddArray("IndependentVariableNames", s._IndependentVariablesNames, s._IndependentVariablesNames.Length); info.AddArray("DependentVariableNames", s._DependentVariablesNames, s._DependentVariablesNames.Length); }
/// <summary> /// Gives the ith parameter name. /// </summary> /// <param name="i">Index of the parameter whose name is to be retrieved.</param> /// <returns>The ith parameter name. Returns null if the <see cref="_fitFunction"/> is <c>null</c>. /// Otherwise, if <see cref="_parameterNames"/>[i] is not null, returns this value. /// If <see cref="_parameterNames"/>[i] is null then the value of <see cref="_parameterNameStart"/> is concenated with the original parameter name of the fit function and that value is returned. /// </returns> public string ParameterName(int i) { if (null != _fitFunction) { if (null != _parameterNames[i]) { return(_parameterNames[i]); } else { return(_parameterNameStart + _fitFunction.ParameterName(i)); } } else { return(null); } }
public override bool Compile() { bool success = base.Compile(); if (success && (this.m_ScriptObject is IFitFunction)) { IFitFunction ff = (IFitFunction)m_ScriptObject; this._NumberOfParameters = ff.NumberOfParameters; this._fitFunctionCreationTime = DateTime.Now; if (this.IsUsingUserDefinedParameterNames) { if (_UserDefinedParameterNames == null || _UserDefinedParameterNames.Length != ff.NumberOfParameters) { _UserDefinedParameterNames = new string[ff.NumberOfParameters]; } for (int i = 0; i < ff.NumberOfParameters; ++i) { _UserDefinedParameterNames[i] = ff.ParameterName(i); } } this._IndependentVariablesNames = new string[ff.NumberOfIndependentVariables]; for (int i = 0; i < this._IndependentVariablesNames.Length; ++i) { this._IndependentVariablesNames[i] = ff.IndependentVariableName(i); } this._DependentVariablesNames = new string[ff.NumberOfDependentVariables]; for (int i = 0; i < this._DependentVariablesNames.Length; ++i) { this._DependentVariablesNames[i] = ff.DependentVariableName(i); } } return(success); }