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

            macroBinding.BindMultivectorPartToVariables("v", InputGrade1);
            macroBinding.BindMultivectorPartToVariables("mv", InputGrade2);
        }
Exemple #2
0
        protected override void SetMacroParametersBindings(GMacMacroBinding macroBinding)
        {
            var outputValueAccess = macroBinding.BaseMacro.OutputParameterValueAccess;

            if (outputValueAccess.GMacType.IsValidMultivectorType)
            {
                macroBinding.BindMultivectorPartToVariables(outputValueAccess, _outGrade);
            }
            else
            {
                macroBinding.BindToVariables(outputValueAccess);
            }

            macroBinding.BindMultivectorPartToVariables("mv", _inGrade);
        }
Exemple #3
0
        protected override void SetMacroParametersBindings(GMacMacroBinding macroBinding)
        {
            var outputParam = macroBinding.BaseMacro.OutputParameterValueAccess;

            if (outputParam.GMacType.IsValidMultivectorType)
            {
                macroBinding.BindMultivectorPartToVariables(outputParam, OutputGrade);
            }
            else
            {
                macroBinding.BindToVariables(outputParam);
            }

            macroBinding.BindMultivectorPartToVariables("mv1", InputGrade1);
            macroBinding.BindMultivectorPartToVariables("mv2", InputGrade2);
        }
Exemple #4
0
        protected override void SetMacroParametersBindings(GMacMacroBinding macroBinding)
        {
            macroBinding.BindMultivectorPartToVariables("result", InputGrade);
            macroBinding.BindMultivectorPartToVariables("mv", InputGrade);

            for (var i = 0; i < CurrentFrame.VSpaceDimension; i++)
            {
                var id = CurrentFrame.BasisVectorId(i);

                for (var j = 0; j < CurrentFrame.VSpaceDimension; j++)
                {
                    var valueAccessName = "om.ImageV" + (j + 1) + ".#E" + id + "#";

                    macroBinding.BindToVariables(valueAccessName);
                }
            }
        }
        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);
                }
            }
        }
Exemple #6
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++;
            }
        }
        protected override void SetMacroParametersBindings(GMacMacroBinding macroBinding)
        {
            macroBinding.BindToVariables(macroBinding.BaseMacro.OutputParameterValueAccess);

            macroBinding.BindMultivectorPartToVariables("mv", _inGrade);
        }