当前位置: 首页>>代码示例>>C#>>正文


C# G25.OutputCppOrC方法代码示例

本文整理汇总了C#中G25.OutputCppOrC方法的典型用法代码示例。如果您正苦于以下问题:C# G25.OutputCppOrC方法的具体用法?C# G25.OutputCppOrC怎么用?C# G25.OutputCppOrC使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在G25的用法示例。


在下文中一共展示了G25.OutputCppOrC方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetRuntimeComputeGpFuncName

 /// <param name="S">Specification.</param>
 /// <param name="FT">Float type</param>
 /// <param name="fromOutsideRuntimeNamespace">When calling the function from outside the runtime namespace, set this param to true.</param>
 /// <returns>The name of the function used to compute the geometric product in real-time (depends only on the floating point type)</returns>
 public static string GetRuntimeComputeGpFuncName(G25.Specification S, G25.FloatType FT, bool fromOutsideRuntimeNamespace)
 {
     if (S.OutputCppOrC())
     {
         string prefix = "";
         if (fromOutsideRuntimeNamespace && (S.OutputCpp()))
             prefix = Main.RUNTIME_NAMESPACE + "::";
         return prefix + S.m_namespace + "_runtimeComputeGp_" + FT.type;
     }
     else if (S.OutputCSharp())
     {
         return "RuntimeComputeGp_" + FT.type;
     }
     else
     {
         return "runtimeComputeGp_" + FT.type;
     }
 }
开发者ID:Sciumo,项目名称:gaigen,代码行数:22,代码来源:gp_parts.cs

示例2: GetRuntimeGpTableName

 /// <param name="S">Specification.</param>
 /// <param name="M">Metric</param>
 /// <param name="g1">Input grade/group 1.</param>
 /// <param name="g2">Input grade/group 2.</param>
 /// <param name="gd">Destination grade/group.</param>
 /// <param name="fromOutsideRuntimeNamespace">When calling the function from outside the runtime namespace, set this param to true.</param>
 /// <returns>The name of the table which is used to compute <c>gd = g1 g2</c> using metric <c>M</c></returns>
 public static string GetRuntimeGpTableName(G25.Specification S, G25.Metric M, int g1, int g2, int gd, bool fromOutsideRuntimeNamespace)
 {
     if (S.OutputCppOrC())
     {
         string prefix = "";
         if (fromOutsideRuntimeNamespace && (S.OutputCpp()))
             prefix = Main.RUNTIME_NAMESPACE + "::";
         return prefix + S.m_namespace + "_runtimeGpProductTable_" + M.m_name + "_" + g1 + "_" + g2 + "_" + gd;
     }
     else
     {
         return "runtimeGpProductTable_" + M.m_name + "_" + g1 + "_" + g2 + "_" + gd;
     }
 }
开发者ID:Sciumo,项目名称:gaigen,代码行数:21,代码来源:gp_parts.cs

示例3: GetRuntimeDualCode

        /// <param name="S"></param>
        /// <param name="FT"></param>
        /// <param name="M"></param>
        /// <param name="d">1 -> generate dual, d = 0 -> generate undual</param>
        /// <param name="g1"></param>
        /// <param name="gd"></param>
        /// <param name="name1"></param>
        /// <param name="name2"></param>
        /// <param name="name3"></param>
        /// <returns>The code to compute a (un)dual at runtime using the geometric product tables.</returns>
        public static string GetRuntimeDualCode(G25.Specification S, G25.FloatType FT, G25.Metric M, 
            int d, int g1, int gd,
            string name1, string name2, string name3)
        {
            // get pseudoscalar
            RefGA.Multivector I = RefGA.Multivector.GetPseudoscalar(S.m_dimension);
            if (d == 1) // if dual: use inverse I
                I = RefGA.Multivector.VersorInverse(I, M.m_metric);

            // get grade/group of pseudoscalar in GMV
            int g2 = S.m_GMV.GetGroupIdx(I.BasisBlades[0]);

            // get sign of pseudo scalar basis blade in GMV:
            double IbladeSign = S.m_GMV.Group(g2)[0].scale;

            string tmpArrayCode;
            if (S.OutputCppOrC())
                tmpArrayCode = "\t" + FT.type + " " + name2 + "[1] = {" + FT.DoubleToString(S, IbladeSign * I.BasisBlades[0].scale) + "};\n";
            else tmpArrayCode = "\t\t" + FT.type + "[] " + name2 + " = new " + FT.type + "[]{" + FT.DoubleToString(S, IbladeSign * I.BasisBlades[0].scale) + "};\n\t";

            return
                tmpArrayCode +
                "\t" + GPparts.GetGPpartFunctionName(S, FT, M, g1, g2, gd) + "(" + name1 + ", " + name2 + ", " + name3 + ");\n";
        }
开发者ID:Sciumo,项目名称:gaigen,代码行数:34,代码来源:dual_parts.cs


注:本文中的G25.OutputCppOrC方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。