## private subroutine reshape_mm_small(mp_comm, matrix_in, matrix_out, transposed, trans, nodata, move_data)

Make sure that smallest matrix involved in a multiplication is not split and bring it to
the same process grid as the other 2 matrices.

### Arguments

Type | Intent | Optional | Attributes | | Name | |

integer, |
intent(in) |
| | :: |
**mp_comm** | communicator that defines Cartesian topology |

type(dbcsr_tas_type), |
intent(inout) |
| | :: |
**matrix_in** | |

type(dbcsr_tas_type), |
intent(out) |
| | :: |
**matrix_out** | |

logical, |
intent(in) |
| | :: |
**transposed** | Whether matrix_out should be transposed |

character(len=1), |
intent(inout) |
| | :: |
**trans** | update transpose flag for DBCSR mm according to 'transposed' argument |

logical, |
intent(in), |
optional | | :: |
**nodata** | Data of matrix_in should not be copied to matrix_out
memory optimization: move data such that matrix_in is empty on return. |

logical, |
intent(in), |
optional | | :: |
**move_data** | Data of matrix_in should not be copied to matrix_out
memory optimization: move data such that matrix_in is empty on return. |