IF(err>0)CALLjudft_error("Allocation of memmory failed for mat datatype",hint="You probably run out of memory")
ENDSUBROUTINEt_mat_alloc
SUBROUTINEt_mat_multiply(mat1,mat2,res)
CLASS(t_mat),INTENT(INOUT)::mat1
TYPE(t_mat),INTENT(IN)::mat2
TYPE(t_mat),INTENT(OUT),OPTIONAL::res
if(mat1%matsize2.ne.mat2%matsize1)CALLjudft_error("Cannot multiply matrices because of non-matching dimensions",hint="This is a BUG in FLEUR, please report")
if(mat1%matsize1.ne.mat1%matsize2)CALLjudft_error("Cannot multiply matrices inplace because of non-matching dimensions",hint="This is a BUG in FLEUR, please report")
if(mat1%matsize1.ne.mat1%matsize2)CALLjudft_error("Cannot transpose matrices inplace because of non-matching dimensions",hint="This is a BUG in FLEUR, please report")