@Override public Object visitAssignInputsVector(GAPPAssignInputsVector gappAssignInputsVector, Object arg) { return new GAPPAssignInputsVector(copyVariableset(gappAssignInputsVector.getValues())); }
@Override public Object visitAssignInputsVector(GAPPAssignInputsVector gappAssignInputsVector, Object arg) { result.append("assignInputsVector inputsVector = "); printVariableSet(gappAssignInputsVector.getValues()); result.append(";\n"); return null; }
gappStart.addInstruction(new GAPPAssignInputsVector(varSet));
@Override public Object visitAssignInputsVector(GAPPAssignInputsVector gappAssignInputsVector, Object arg) { final String inputsArrayName = GAPPOpenCLCodeGenerator.getVarName(GAPPOpenCLCodeGenerator.inputsVector); // create bladeIndex map Map<Integer,String> bladeMap = new HashMap<Integer,String>(); Iterator<GAPPValueHolder> it = gappAssignInputsVector.getValues().iterator(); while(it.hasNext()) { // instead of explicitly declaring the inputs vector // just put the elements into the bladeIndex map bladeMap.put(bladeMap.size(), it.next().prettyPrint()); } // add bladeIndex map to multivector->bladeIndex map mvBladeMap.put(inputsArrayName,bladeMap); return null; } }
public GAPPBaseInstruction createBaseInstruction(String cmd) { InstructionType instr = InstructionType.valueOf(cmd); switch (instr) { case assignMv: return new GAPPAssignMv(null); case assignInputsVector: return new GAPPAssignInputsVector(null); case calculateMv: return new GAPPCalculateMv(null, null, null, null); case dotVectors: GAPPMultivector m = null; return new GAPPDotVectors(m, null, null); case resetMv: return new GAPPResetMv(null, 0); case setMv: return new GAPPSetMv(null, null, null, null); case setVector: return new GAPPSetVector(null, null); } return null; }
@Override public Object visitAssignInputsVector(GAPPAssignInputsVector gappAssignInputsVector, Object arg) { int size = gappAssignInputsVector.getValues().size(); String name = "inputsVector"; createVector(name, size); MultivectorWithValues destination = getMultivector(name); for (int sel = 0; sel < size; sel++) { GAPPValueHolder scalarVar = gappAssignInputsVector.getValues().get(sel); double value = (scalarVar.isVariable()) ? getVariableValue(((GAPPVariable) scalarVar).getName()) : ((GAPPConstant) scalarVar).getValue(); destination.getEntries()[sel] = value; } return null; }