Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

`asarray` with `copy=False` produces new array?

Đang mở
#1,009 3 bình luận 1 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
50/100
Loại issue
Tài liệu
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
python
Lĩnh vực
documentation

Hướng nghiên cứu

Bắt đầu bằng cách so sánh cách diễn đạt trong đặc tả cho asarray và astype với các ví dụ trong issue, sau đó kiểm tra cách văn bản tiêu chuẩn hiện có đề cập đến danh tính đối tượng so với bộ nhớ dùng chung. Công việc được xem là hoàn tất khi đã xác định liệu copy=False có yêu cầu trả về cùng một đối tượng mảng hay không và làm cho đặc tả trở nên rõ ràng, không mơ hồ.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

This may be related to gh-788, but I think it is distinct.

The behavior of astype with copy=False is:

If False and the specified dtype matches the data type of the input array, the input array must be returned...

So this passes:

import array_api_strict as xp
dtype = xp.int64
x = xp.asarray([1, 2, 3], dtype=dtype)

y = xp.astype(x, dtype, copy=False)
assert y is x 

For asarray:

If False, the function must never copy for input which supports the buffer protocol...

Here, it is not explicit whether "must never copy" refers to the array object itself or the underlying memory buffer. In any case, array_api_strict creates a new array object, so the equivalent assertion fails.

y = xp.asarray(x, dtype=dtype, copy=False)
assert y is x 
# AssertionError: 

Is "must never copy" intended to allow the returned object to be different from the input? Either way, should it be more explicit?
If it helps, NumPy, PyTorch, JAX, and Dask all pass both assertions.

Ngôn ngữ chính
Python
Star
281
Fork
52
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của data-apis/array-api

Tất cả issue của data-apis/array-api

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.