Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

[Question]In what situations will af::copy() fail

Aberta
#3,638 2 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
20/100
Tipo de issue
Documentação
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
cpp

Direção de pesquisa

A issue fornece um TEST_CASE("af::copy()") que usa af::array, af::seq, af::span e af::copy. Comece reproduzindo o teste fornecido e inspecionando o comportamento da API af::copy; o trabalho estará concluído quando houver uma explicação clara das situações em que af::copy() falha.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

TEST_CASE("af::copy()") {
    double data[] = {1.0, 2.0, 3.0, 4.0, 5, 6, 7, 8,9,10,11,12,13,14,15,16,17,18};
    af::array a(2, 3, 3, data);
    af::array b(2, 3, 3, af::dtype::f64);

    af::array at = a(af::seq(0, 1), af::seq(0, 1), af::seq(0, 1));
    af::array bt = b(af::seq(0, 1), af::seq(0, 1), af::seq(0, 1));

    af::copy(bt, at, af::span);

    CHECK(b(0, 0, 0).scalar<double>() == 0.0);
    CHECK(b(1, 0, 0).scalar<double>() == 0.0);
    CHECK(b(0, 1, 0).scalar<double>() == 0.0);
    CHECK(b(1, 1, 0).scalar<double>() == 0.0);

    af::array at1 = a(af::seq(0, 1), af::seq(0, 0), af::seq(0, 0));
    af::array bt1 = b(af::seq(0, 1), af::seq(0, 0), af::seq(0, 0));

    af::copy(bt1, at1, af::span);

    CHECK(b(0, 0, 0).scalar<double>() == 1.0);
    CHECK(b(1, 0, 0).scalar<double>() == 2.0);
    CHECK(b(0, 1, 0).scalar<double>() == 0.0);
    CHECK(b(1, 1, 0).scalar<double>() == 0.0);
}
Linguagem predominante
C++
Estrelas
4.9k
Forks
555
Merge médio
1h 24min
PRs com merge (30d)
1

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de arrayfire/arrayfire

Todas as issues de arrayfire/arrayfire

Issues semelhantes

Mais issues de C++

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.