SUBROUTINE dbcsr_norm_r8_vec(matrix, which_norm, norm_vector)
TYPE(dbcsr_type), INTENT(INOUT) :: matrix
INTEGER, INTENT(IN) :: which_norm
REAL(KIND=real_8), DIMENSION(:), INTENT(OUT), &
TARGET, CONTIGUOUS :: norm_vector
REAL(KIND=real_8), DIMENSION(:), POINTER, CONTIGUOUS :: v_p
TYPE(dbcsr_data_obj) :: norm_vector_a
CALL dbcsr_data_init(norm_vector_a)
CALL dbcsr_data_new(norm_vector_a, dbcsr_type_real_8)
v_p => norm_vector
CALL dbcsr_data_set_pointer(norm_vector_a, v_p)
CALL dbcsr_norm_vec(matrix, which_norm, norm_vector_a)
CALL dbcsr_data_clear_pointer(norm_vector_a)
CALL dbcsr_data_release(norm_vector_a)
END SUBROUTINE dbcsr_norm_r8_vec