public ToParametric2D(MulticastDelegate funcX, MulticastDelegate funcY) { _funcX = funcX as RealFunction; _funcY = funcY as RealFunction; _cFuncX = funcX as ConstantFunction; _cFuncY = funcY as ConstantFunction; }
public Constant(ConstantFunction function) { if (function == null) throw new ArgumentNullException("function"); _function = function; base._delegate = _function; base._definitionType = DefinitionType.Numerical; }
public Constant(ConstantFunction function) { if (function == null) { throw new ArgumentNullException("function"); } _function = function; base._delegate = _function; base._definitionType = DefinitionType.Numerical; }
// TODO : Add constant function and trapeziodal private static IFuzzyFunction defineFunction(Match match) { string value = match.Groups[3].Value; string[] functionParameters = match.Groups[4].Value.Split(' '); NumberStyles numberStyles = NumberStyles.AllowParentheses | NumberStyles.AllowTrailingSign | NumberStyles.Float | NumberStyles.AllowThousands | NumberStyles.AllowExponent; if (value == "gaussmf") { GaussianFunction function = new GaussianFunction(); function.Center = Double.Parse(functionParameters[1].ToUpper(), numberStyles, CultureInfo.InvariantCulture); function.Steepness = Double.Parse(functionParameters[0].ToUpper(), numberStyles, CultureInfo.InvariantCulture); return(function); } else if (value == "trimf") { TriangleFunction function = new TriangleFunction(); function.LeftPoint = Double.Parse(functionParameters[0].ToUpper(), numberStyles, CultureInfo.InvariantCulture); function.MiddlePoint = Double.Parse(functionParameters[1].ToUpper(), numberStyles, CultureInfo.InvariantCulture); function.RightPoint = Double.Parse(functionParameters[2].ToUpper(), numberStyles, CultureInfo.InvariantCulture); return(function); } else if (value == "constant") { ConstantFunction function = new ConstantFunction(); function.ConstValue = Double.Parse(functionParameters[0].ToUpper(), numberStyles); return(function); } else if (value == "trapmf") { TrapezoidalFunction function = new TrapezoidalFunction(); function.LeftBottomPoint = Double.Parse(functionParameters[0].ToUpper(), numberStyles, CultureInfo.InvariantCulture); function.LeftTopPoint = Double.Parse(functionParameters[1].ToUpper(), numberStyles, CultureInfo.InvariantCulture); function.RightTopPoint = Double.Parse(functionParameters[2].ToUpper(), numberStyles, CultureInfo.InvariantCulture); function.RightBottomPoint = Double.Parse(functionParameters[3].ToUpper(), numberStyles, CultureInfo.InvariantCulture); return(function); } else { throw new FuzzyLogicException("Unknown function"); } }
public Constant(string expression) { if (expression == null) throw new ArgumentNullException("expression"); _expressionTree = new ExpressionTree(_expression); if (_expressionTree.Variables.Length != 0) throw new ArgumentException("Constant function cant have any variable in expression","expression"); _expression = expression; ExpressionCompiler compiler = new ExpressionCompiler(_expressionTree); _function = (ConstantFunction) compiler.CreateDelegate(typeof(ConstantFunction)); base._delegate = _function; base._definitionType = DefinitionType.Analytic; }
public Constant(string expression) { if (expression == null) { throw new ArgumentNullException("expression"); } _expressionTree = new ExpressionTree(_expression); if (_expressionTree.Variables.Length != 0) { throw new ArgumentException("Constant function cant have any variable in expression", "expression"); } _expression = expression; ExpressionCompiler compiler = new ExpressionCompiler(_expressionTree); _function = (ConstantFunction)compiler.CreateDelegate(typeof(ConstantFunction)); base._delegate = _function; base._definitionType = DefinitionType.Analytic; }
private void Do(ref uint A, ref uint B, ref uint C, ref uint D, uint X, int s, uint T, ConstantFunction F) { A = B + (Calc.Logic.Function.ROL((A + F(B, C, D) + X + T), s)); }
public InteractiveSeries Execute(double price, double time, int barNum) { int barsCount = ContextBarsCount; if (barNum < barsCount - 1) { return(Constants.EmptySeries); } double futPx = price; double dT = time; if (Double.IsNaN(dT) || (dT < Double.Epsilon) || Double.IsNaN(futPx) || (futPx < Double.Epsilon)) { return(Constants.EmptySeries); } double width = (SigmaMult * m_sigma * Math.Sqrt(dT)) * futPx; List <InteractiveObject> controlPoints = new List <InteractiveObject>(); int half = NumControlPoints / 2; // Целочисленное деление! double dK = width / half; // Сдвигаю точки, чтобы избежать отрицательных значений while ((futPx - half * dK) <= Double.Epsilon) { half--; } for (int j = 0; j < NumControlPoints; j++) { double k = futPx + (j - half) * dK; InteractivePointLight ip; bool edgePoint = (j == 0) || (j == NumControlPoints - 1); if (m_showNodes || (edgePoint && m_showEdgeLabels)) // На крайние точки повешу Лейблы { InteractivePointActive tmp = new InteractivePointActive(); tmp.IsActive = m_showNodes || (edgePoint && m_showEdgeLabels); //tmp.DragableMode = DragableMode.None; //tmp.Geometry = Geometries.Rect; //tmp.Color = Colors.DarkOrange; tmp.Tooltip = String.Format(CultureInfo.InvariantCulture, m_tooltipFormat, k, m_value * Constants.PctMult); // "K:{0}; V:{1:0.00}%" if (edgePoint) { tmp.Label = String.Format(CultureInfo.InvariantCulture, m_labelFormat, m_value * Constants.PctMult); // "V:{0:0.00}%" } ip = tmp; } else { ip = new InteractivePointLight(); } ip.Value = new Point(k, m_value); controlPoints.Add(new InteractiveObject(ip)); } InteractiveSeries res = new InteractiveSeries(); // Здесь так надо -- мы делаем новую улыбку res.ControlPoints = new ReadOnlyCollection <InteractiveObject>(controlPoints); SmileInfo info = new SmileInfo(); info.F = futPx; info.dT = dT; info.RiskFreeRate = 0; try { ConstantFunction spline = new ConstantFunction(m_value, futPx, dT); info.ContinuousFunction = spline; info.ContinuousFunctionD1 = spline.DeriveD1(); res.Tag = info; } catch (Exception ex) { m_context.Log(ex.ToString(), MessageType.Error, true); return(Constants.EmptySeries); } return(res); }
private void buttonInitializeNet_Click(object sender, EventArgs e) { if (currentProject == null) { MessageBox.Show("No network loaded.", "Invalid Operation", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } DialogResult dr = MessageBox.Show("All weights will be reset - are you sure?", "Confirmation", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (dr == DialogResult.OK) { try { IInitializer initFunct; double tmp; double? param1 = null; double? param2 = null; if (double.TryParse(textParam1.Text, out tmp)) { param1 = tmp; } if (double.TryParse(textParam2.Text, out tmp)) { param2 = tmp; } switch ((InitializerFunction)comboInitializeFunction.SelectedItem) { case InitializerFunction.Constant: initFunct = new ConstantFunction(param1.Value); break; case InitializerFunction.NguyenWidrow: initFunct = new NguyenWidrowFunction(param1.Value); break; case InitializerFunction.NormRand: initFunct = new NormalizedRandomFunction(); break; case InitializerFunction.Random: initFunct = new RandomFunction(param1.Value, param2.Value); break; case InitializerFunction.Zero: initFunct = new ZeroFunction(); break; default: throw new Exception("InitializerFunction undefined."); } // 需要设置回前面因为反序列化在新状态下失败。 不知道为什么。 IInitializer oldInitializer; foreach (ILayer layer in currentProject.Network.Layers) { oldInitializer = layer.Initializer; layer.Initializer = initFunct; layer.Initialize(); layer.Initializer = oldInitializer; foreach (IConnector conn in layer.TargetConnectors) { oldInitializer = conn.Initializer; conn.Initializer = initFunct; conn.Initialize(); conn.Initializer = oldInitializer; } } //currentProject.Network.Initialize(); 已单独调用 } catch (Exception ex) { MessageBox.Show("Error in program - " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public ConstantFunctionPlotter(Constant function) { _function = function.ValueAt; }
public void EvaluateConstantFunction() { ConstantFunction function = new ConstantFunction(1); Assert.AreEqual(1, function.Value); }
public ToParametric3D(MulticastDelegate funcX,MulticastDelegate funcY, MulticastDelegate funcZ) { _funcX = funcX as RealFunction; _funcY = funcY as RealFunction; _funcZ = funcZ as RealFunction; _cFuncX = funcX as ConstantFunction; _cFuncY = funcY as ConstantFunction; _cFuncZ = funcZ as ConstantFunction; }
public ConstantFunctionPlotter(Constant function) { _function = function.ValueAt; }
public IFunctionRasterDataset constantRasterFunction(IRaster template, IEnvelope NewExtent, double rasterValue, IPnt cellSize) { IFunctionRasterDataset tDset = createIdentityRaster(template, rstPixelType.PT_FLOAT); IConstantFunctionArguments rasterFunctionArguments = (IConstantFunctionArguments)new ConstantFunctionArguments(); rasterFunctionArguments.Constant = rasterValue; IRasterInfo rsInfo = tDset.RasterInfo; rsInfo.NativeExtent = NewExtent; rsInfo.Extent = NewExtent; rsInfo.CellSize = cellSize; rasterFunctionArguments.RasterInfo = rsInfo; string tempAr = funcDir + "\\" + FuncCnt + ".afr"; IFunctionRasterDataset frDset = new FunctionRasterDatasetClass(); IFunctionRasterDatasetName frDsetName = new FunctionRasterDatasetNameClass(); frDsetName.FullName = tempAr; frDset.FullName = (IName)frDsetName; IRasterFunction rsFunc = new ConstantFunction(); frDset.Init(rsFunc, rasterFunctionArguments); IRasterInfo2 rsInfo2 = (IRasterInfo2)frDset.RasterInfo; IRasterStatistics rsStats = new RasterStatisticsClass(); rsStats.Mean = rasterValue; rsStats.Maximum = rasterValue; rsStats.Minimum = rasterValue; rsStats.StandardDeviation = rasterValue; rsStats.SkipFactorX = 1; rsStats.SkipFactorY = 1; rsStats.IsValid = true; for (int i = 0; i < rsInfo2.BandCount; i++) { rsInfo2.set_Statistics(i, rsStats); } return frDset; }