## public subroutine dbcsr_t_copy(tensor_in, tensor_out, order, summation, bounds, move_data, unit_nr)

Copy tensor data.
Redistributes tensor data according to distributions of target and source tensor.
Permutes tensor index according to `order`

argument (if present).
Source and target tensor formats are arbitrary as long as the following requirements are met:
* source and target tensors have the same rank and the same sizes in each dimension in terms
of tensor elements (block sizes don't need to be the same).
If `order`

argument is present, sizes must match after index permutation.
OR
* target tensor is not yet created, in this case an exact copy of source tensor is returned.

### Arguments

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

type(dbcsr_t_type), |
intent(inout), |
| TARGET | :: |
**tensor_in** | Source
Target |

type(dbcsr_t_type), |
intent(inout), |
| TARGET | :: |
**tensor_out** | Source
Target |

integer, |
intent(in), |
optional | DIMENSION(ndims_tensor(tensor_in)) | :: |
**order** | Permutation of target tensor index. Exact same convention as order argument of RESHAPE intrinsic |

logical, |
intent(in), |
optional | | :: |
**summation** | |

integer, |
intent(in), |
optional | DIMENSION(2, ndims_tensor(tensor_in)) | :: |
**bounds** | crop tensor data: start and end index for each tensor dimension |

logical, |
intent(in), |
optional | | :: |
**move_data** | |

integer, |
intent(in), |
optional | | :: |
**unit_nr** | |