public static void DefaultActionSetMacroParametersBindings(GMacMacroBinding macroBinding) { var lowLevelParams = macroBinding .BaseMacro .Parameters .SelectMany(p => p.DatastoreValueAccess.ExpandAll()); foreach (var macroParam in lowLevelParams) { macroBinding.BindToVariables(macroParam); } }
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); }
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); } } }
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); }
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("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("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); }