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) { 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++; } }