block calc_c21(block A, block B, block C) { block tempC = C.block21(); tempC.add_scratch(); future<block> A21B11 = async(rec_mult, A.block21(), B.block11(), C.block21()); future<block> A22B21 = async(rec_mult, A.block22(), B.block21(), tempC); return add_blocks(A21B11.get(), A22B21.get(), C.block21()); }
block calc_c11(block A, block B, block C) { block tempC = C.block11();//scratch space tempC.add_scratch(); future<block> A11B11 = async(rec_mult, A.block11(), B.block11(), C.block11()); future<block> A12B21 = async(rec_mult, A.block12(), B.block21(), tempC); return add_blocks(A11B11.get(), A12B21.get(), C.block11()); }