Deallocates a tensor.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(torch_tensor), | intent(inout) | :: | tensor |
subroutine torch_tensor_delete(tensor) use, intrinsic :: iso_c_binding, only : c_associated, c_null_ptr type(torch_tensor), intent(inout) :: tensor interface subroutine torch_tensor_delete_c(tensor) & bind(c, name = 'torch_tensor_delete') use, intrinsic :: iso_c_binding, only : c_ptr implicit none type(c_ptr), value, intent(in) :: tensor end subroutine torch_tensor_delete_c end interface ! Call the destructor, if it hasn't already been called if (c_associated(tensor%p)) then call torch_tensor_delete_c(tensor%p) tensor%p = c_null_ptr end if end subroutine torch_tensor_delete