@Override public Object visitResetMv(GAPPResetMv gappResetMv, Object arg) { return new GAPPResetMv( (GAPPMultivector) GAPPValueHolderCopier.copyValueHolder( gappResetMv.getDestination()), gappResetMv.getSize()); }
@Override public Object visitResetMv(GAPPResetMv gappResetMv, Object arg) { result.append("resetMv "); printMultivector(gappResetMv.getDestination()); result.append("["); result.append(gappResetMv.getSize()); result.append("];\n"); return null; }
@Override public Object visitResetMv(GAPPResetMv gappResetMv, Object arg) { multivectors.add(gappResetMv.getDestination().getName()); return null; }
/** * Creates a new temporary GAPPMultivector and inserts a resetMv command in GAPP * @param The number of entries in the new multivector * @return The new GAPPMultivector */ public GAPPMultivector createMv() { GAPPMultivector mv = new GAPPMultivector(createTMP(PREFIX_TMPMV)); gapp.addInstruction(new GAPPResetMv(mv, 1)); return mv; }
@Override public Object visitResetMv(GAPPResetMv gappResetMv, Object arg) { curLine++; liveStatistics.put(gappResetMv.getDestination().getName(), new LiveStatistics(curLine, gappResetMv.getSize())); return null; }
@Override public Object visitResetMv(GAPPResetMv gappResetMv, Object arg) { final String destMv = GAPPOpenCLCodeGenerator.getVarName(gappResetMv.getDestination().getName()); if(gpcMetaInfo && !destMv.startsWith(GAPPOpenCLCodeGenerator.tempMv)) result.append("//#pragma gpc multivector ").append(destMv).append("\n"); printOpenCLVectorType(computeNearestOpenCLVectorSize(mvSizes.get(destMv))); result.append(" "); result.append(destMv).append(";\n"); mvBladeMap.put(destMv,new HashMap<Integer,String>()); return null; }
/** * Creates a temporary multivector with one entry and returns the according GAPPMultivectorComponent * @return The GAPPMultivectorComponent */ public GAPPMultivectorComponent createMvComp() { GAPPMultivector mv = new GAPPMultivector(createTMP(PREFIX_TMPMV)); gapp.addInstruction(new GAPPResetMv(mv, 1)); return new GAPPMultivectorComponent(mv.getName(), 0); }
@Override public Object visitResetMv(GAPPResetMv gappResetMv, Object arg) { MultivectorWithValues mv = new MultivectorWithValues(gappResetMv.getSize(),true); values.put(gappResetMv.getDestination().getName(), mv); mv.clear(); return null; }
@Override public Object visitResetMv(GAPPResetMv gappResetMv, Object arg) { getMvSizes().put(GAPPOpenCLCodeGenerator.getVarName(gappResetMv.getDestination().getName()), 0); 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; }
gapp.addInstruction(new GAPPResetMv(mv, bladeCount)); createdGAPPVariables.add(name);