public RDDFlatMapMMFunction(CacheType type, PartitionedBroadcastMatrix binput) { _type = type; _pbc = binput; // created operator for reuse AggregateOperator agg = new AggregateOperator(0, Plus.getPlusFnObject()); _op = new AggregateBinaryOperator(Multiply.getMultiplyFnObject(), agg); }
public CumulativeOffsetInstruction(byte in1, byte in2, byte out, String opcode, String istr) { super(null, in1, in2, out, istr); if ("bcumoffk+".equals(opcode)) { _bop = new BinaryOperator(Plus.getPlusFnObject()); _uop = new UnaryOperator(Builtin.getBuiltinFnObject("ucumk+")); } else if ("bcumoff*".equals(opcode)) { _bop = new BinaryOperator(Multiply.getMultiplyFnObject()); _uop = new UnaryOperator(Builtin.getBuiltinFnObject("ucum*")); } else if ("bcumoffmin".equals(opcode)) { _bop = new BinaryOperator(Builtin.getBuiltinFnObject("min")); _uop = new UnaryOperator(Builtin.getBuiltinFnObject("ucummin")); } else if ("bcumoffmax".equals(opcode)) { _bop = new BinaryOperator(Builtin.getBuiltinFnObject("max")); _uop = new UnaryOperator(Builtin.getBuiltinFnObject("ucummax")); } }
/** * @param str * @return * @throws DMLRuntimeException */ public static PmmSPInstruction parseInstruction(String str) throws DMLRuntimeException { String parts[] = InstructionUtils.getInstructionPartsWithValueType(str); String opcode = InstructionUtils.getOpCode(str); if (opcode.equalsIgnoreCase(PMMJ.OPCODE)) { CPOperand in1 = new CPOperand(parts[1]); CPOperand in2 = new CPOperand(parts[2]); CPOperand nrow = new CPOperand(parts[3]); CPOperand out = new CPOperand(parts[4]); CacheType type = CacheType.valueOf(parts[5]); AggregateOperator agg = new AggregateOperator(0, Plus.getPlusFnObject()); AggregateBinaryOperator aggbin = new AggregateBinaryOperator(Multiply.getMultiplyFnObject(), agg); return new PmmSPInstruction(aggbin, in1, in2, out, nrow, type, opcode, str); } else { throw new DMLRuntimeException( "PmmSPInstruction.parseInstruction():: Unknown opcode " + opcode); } }
/** * @param str * @return * @throws DMLRuntimeException */ public static MapmmSPInstruction parseInstruction(String str) throws DMLRuntimeException { String parts[] = InstructionUtils.getInstructionPartsWithValueType(str); String opcode = parts[0]; if (opcode.equalsIgnoreCase(MapMult.OPCODE)) { CPOperand in1 = new CPOperand(parts[1]); CPOperand in2 = new CPOperand(parts[2]); CPOperand out = new CPOperand(parts[3]); CacheType type = CacheType.valueOf(parts[4]); boolean outputEmpty = Boolean.parseBoolean(parts[5]); SparkAggType aggtype = SparkAggType.valueOf(parts[6]); AggregateOperator agg = new AggregateOperator(0, Plus.getPlusFnObject()); AggregateBinaryOperator aggbin = new AggregateBinaryOperator(Multiply.getMultiplyFnObject(), agg); return new MapmmSPInstruction(aggbin, in1, in2, out, type, outputEmpty, aggtype, opcode, str); } else { throw new DMLRuntimeException( "MapmmSPInstruction.parseInstruction():: Unknown opcode " + opcode); } }