protected override void SetMacroParametersBindings(GMacMacroBinding macroBinding)
        {
            macroBinding.BindMultivectorPartToVariables("result", _outGrade);

            for (var gradeIdx = 0; gradeIdx < CurrentFrame.VSpaceDimension; gradeIdx++)
            {
                if (gradeIdx < _outGrade)
                {
                    macroBinding.BindToVariables("v" + gradeIdx + ".@G1@");
                }
                else
                {
                    macroBinding.BindScalarToConstant("v" + gradeIdx + ".#E0#", 1);
                }
            }
        }
示例#2
0
        protected override void SetMacroParametersBindings(GMacMacroBinding macroBinding)
        {
            macroBinding.BindMultivectorPartToVariables("B", InputGrade);

            var idx = 1;

            foreach (var basisVectorId in InputId.GetBasicPatterns())
            {
                var valueAccessName = "inputVectors.f" + idx + ".#E" + basisVectorId + "#";

                macroBinding.BindScalarToConstant(valueAccessName, 1);

                valueAccessName = "result.f" + idx + ".@G1@";

                macroBinding.BindToVariables(valueAccessName);

                idx++;
            }
        }