本文整理汇总了C#中Specification.GetScalarSMV方法的典型用法代码示例。如果您正苦于以下问题:C# Specification.GetScalarSMV方法的具体用法?C# Specification.GetScalarSMV怎么用?C# Specification.GetScalarSMV使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Specification
的用法示例。
在下文中一共展示了Specification.GetScalarSMV方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteGMVnormFunction
/// <summary>
/// Writes any norm function for general multivectors, based on gp parts code.
/// </summary>
/// <param name="SB"></param>
/// <param name="S"></param>
/// <param name="cgd"></param>
/// <param name="FT"></param>
/// <param name="M"></param>
/// <param name="FAI"></param>
/// <param name="F"></param>
/// <param name="comment"></param>
/// <param name="declOnly"></param>
/// <param name="squared"></param>
/// <returns>name of generated function.</returns>
public static string WriteGMVnormFunction(Specification S, G25.CG.Shared.CGdata cgd, FloatType FT, G25.Metric M,
G25.CG.Shared.FuncArgInfo[] FAI, G25.fgs F,
Comment comment, bool squared)
{
// setup instructions
System.Collections.Generic.List<G25.CG.Shared.Instruction> I = new System.Collections.Generic.List<G25.CG.Shared.Instruction>();
int nbTabs = 1;
// because of lack of overloading, function names include names of argument types
G25.fgs CF = G25.CG.Shared.Util.AppendTypenameToFuncName(S, FT, F, FAI);
string funcName = CF.OutputName;
// get return info
G25.SMV returnType = null;
string returnTypeName = null;
G25.CG.Shared.FuncArgInfo returnArgument = null;
{ // try to get scalar type
returnType = S.GetScalarSMV();
if (returnType == null)
{
returnTypeName = FT.type;
}
else
{
if (S.OutputC())
returnArgument = new G25.CG.Shared.FuncArgInfo(S, CF, -1, FT, returnType.Name, false); // false = compute value
returnTypeName = FT.GetMangledName(S, returnType.GetName());
}
}
// write this function:
string code = G25.CG.Shared.GPparts.GetNormCode(S, cgd, FT, M, squared, FAI, returnType, G25.fgs.RETURN_ARG_NAME);
// add the verbatim code
I.Add(new G25.CG.Shared.VerbatimCodeInstruction(nbTabs, code));
// write function
bool inline = false; // never inline GMV functions
bool staticFunc = Functions.OutputStaticFunctions(S);
G25.CG.Shared.Functions.WriteFunction(S, cgd, F, inline, staticFunc, returnTypeName, funcName, returnArgument, FAI, I, comment);
return funcName;
}