本文整理汇总了C#中FunctionCollection.Add方法的典型用法代码示例。如果您正苦于以下问题:C# FunctionCollection.Add方法的具体用法?C# FunctionCollection.Add怎么用?C# FunctionCollection.Add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FunctionCollection
的用法示例。
在下文中一共展示了FunctionCollection.Add方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteBindings
void WriteBindings(DelegateCollection delegates, FunctionCollection wrappers, EnumCollection enums)
{
Console.WriteLine("Writing bindings to {0}", Settings.OutputPath);
if (!Directory.Exists(Settings.OutputPath))
Directory.CreateDirectory(Settings.OutputPath);
// Hack: Fix 3dfx extension category so it doesn't start with a digit
if (wrappers.ContainsKey("3dfx"))
{
var three_dee_fx = wrappers["3dfx"];
wrappers.Remove("3dfx");
wrappers.Add(DigitPrefix + "3dfx", three_dee_fx);
}
using (var sw = sw_h)
{
WriteLicense(sw);
sw.WriteLine("package {0}.{1};", Settings.OutputNamespace, Settings.GLClass);
sw.WriteLine();
sw.WriteLine("import java.nio.*;");
sw.WriteLine();
WriteDefinitions(sw, enums, wrappers, Type.CSTypes);
sw.Flush();
sw.Close();
}
string output_header = Path.Combine(Settings.OutputPath, OutputFileHeader);
Move(sw_h.File, output_header);
}
示例2: CalculateTest1
public void CalculateTest1()
{
var functions = new FunctionCollection();
functions.Add(new UserFunction("f", new IExpression[] { new Variable("x") }, 1), new Ln(new Variable("x")));
var func = new UserFunction("f", new IExpression[] { new Number(1) }, 1);
Assert.AreEqual(Math.Log(1), func.Calculate(functions));
}
示例3: WriteBindings
void WriteBindings(DelegateCollection delegates, FunctionCollection wrappers, EnumCollection enums)
{
Console.WriteLine("Writing bindings to {0}", Settings.OutputPath);
if (!Directory.Exists(Settings.OutputPath))
Directory.CreateDirectory(Settings.OutputPath);
// Hack: Fix 3dfx extension category so it doesn't start with a digit
if (wrappers.ContainsKey("3dfx"))
{
var three_dee_fx = wrappers["3dfx"];
wrappers.Remove("3dfx");
wrappers.Add(DigitPrefix + "3dfx", three_dee_fx);
}
Settings.DefaultOutputNamespace = "OpenTK";
// Enums
using (var sw = sw_h_enums)
{
WriteEnums(sw, enums);
sw.Flush();
sw.Close();
}
// Core definitions
using (var sw = sw_h)
{
WriteDefinitions(sw, enums, wrappers, Type.CSTypes, false);
sw.Flush();
sw.Close();
}
// Compatibility definitions
using (var sw = sw_h_compat)
{
WriteDefinitions(sw, enums, wrappers, Type.CSTypes, true);
sw.Flush();
sw.Close();
}
// Core & compatibility declarations
using (var sw = sw_cpp)
{
WriteDeclarations(sw, wrappers, Type.CSTypes);
sw.Flush();
sw.Close();
}
string output_header = Path.Combine(Settings.OutputPath, OutputFileHeader);
string output_cpp = Path.Combine(Settings.OutputPath, OutputFileCpp);
string output_header_compat = Path.Combine(Settings.OutputPath, OutputFileHeaderCompat);
string output_header_enums = Path.Combine(Settings.OutputPath, OutputFileHeaderEnums);
Move(sw_h.File, output_header);
Move(sw_cpp.File, output_cpp);
Move(sw_h_compat.File, output_header_compat);
Move(sw_h_enums.File, output_header_enums);
}
示例4: CalculateTest3
public void CalculateTest3()
{
var uf1 = new UserFunction("func", new[] { new Variable("x") }, 1);
var func = new DelegateExpression(p => (double)p.Parameters["x"] == 10 ? 0 : 1);
var funcs = new FunctionCollection();
funcs.Add(uf1, func);
var uf2 = new UserFunction("func", new[] { new Number(12) }, 1);
var result = uf2.Calculate(new ExpressionParameters(funcs));
Assert.AreEqual(1.0, result);
}
示例5: WriteBindings
void WriteBindings(DelegateCollection delegates, FunctionCollection wrappers, EnumCollection enums)
{
Console.WriteLine("Writing bindings to {0}", Settings.OutputPath);
if (!Directory.Exists(Settings.OutputPath))
Directory.CreateDirectory(Settings.OutputPath);
// Hack: Fix 3dfx extension category so it doesn't start with a digit
if (wrappers.ContainsKey("3dfx"))
{
var three_dee_fx = wrappers["3dfx"];
wrappers.Remove("3dfx");
wrappers.Add(DigitPrefix + "3dfx", three_dee_fx);
}
Settings.DefaultOutputNamespace = "OpenTK";
using (var sw = sw_h)
{
sw.WriteLine("#pragma once");
sw.WriteLine("#ifndef GLPP_H");
sw.WriteLine("#define GLPP_H");
sw.WriteLine();
WriteLicense(sw);
sw.WriteLine("namespace {0}", Settings.OutputNamespace);
sw.WriteLine("{");
sw.Indent();
WriteGetAddress(sw);
WriteTypes(sw);
WriteEnums(sw, enums);
WriteDefinitions(sw, enums, wrappers, Generator.CSTypes); // Core definitions
sw.Unindent();
sw.WriteLine("}");
sw.WriteLine("#endif");
sw.Flush();
sw.Close();
}
string output_header = Path.Combine(Settings.OutputPath, OutputFileHeader);
Move(sw_h.File, output_header);
}
示例6: UserFunctionDerivTest
public void UserFunctionDerivTest()
{
var parameters = new FunctionCollection();
var uf = new UserFunction("f", new IExpression[] { new Variable("x") }, 1);
parameters.Add(uf, new Sin(new Variable("x")));
var diff = Differentiate(uf, "x", parameters);
Assert.Equal("cos(x) * 1", diff.ToString());
}