Beispiel #1
0
        public static void DefaultActionSetMacroParametersBindings(GMacMacroBinding macroBinding)
        {
            var lowLevelParams =
                macroBinding
                .BaseMacro
                .Parameters
                .SelectMany(p => p.DatastoreValueAccess.ExpandAll());

            foreach (var macroParam in lowLevelParams)
            {
                macroBinding.BindToVariables(macroParam);
            }
        }
Beispiel #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);
        }
Beispiel #3
0
        private void InitializeFullMacroBinding(GMacMacroBinding macroBinding)
        {
            macroBinding.Clear();

            var valueAccessList =
                macroBinding
                .BaseMacro
                .Parameters
                .SelectMany(paramInfo => paramInfo.DatastoreValueAccess.ExpandAll());

            foreach (var valueAccess in valueAccessList)
            {
                macroBinding.BindToVariables(valueAccess);
            }
        }
        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);
                }
            }
        }
Beispiel #5
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);
        }
Beispiel #6
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);
                }
            }
        }
Beispiel #7
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++;
            }
        }
Beispiel #8
0
 protected override void SetMacroParametersBindings(GMacMacroBinding macroBinding)
 {
     macroBinding.BindToVariables("result");
     macroBinding.BindToTreePattern("mv1", ClassData.ClassBinding);
     macroBinding.BindToTreePattern("mv2", CalcClassData.ClassBinding);
 }
        protected override void SetMacroParametersBindings(GMacMacroBinding macroBinding)
        {
            macroBinding.BindToVariables(macroBinding.BaseMacro.OutputParameterValueAccess);

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