indexed(histogram) not usable with ranges
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Comienza compilando el ejemplo de C++20 proporcionado, centrándote en indexed(hist) con std::ranges::subrange y std::views::transform. Compara esos fallos con los casos de histogramas directos que funcionan; el trabajo estará terminado cuando indexed(hist) pueda ser consumido por ambas formas de range mostradas en el informe.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
While a boost::histogram can be used as a range in C++20, an indexed(histogram) cannot. At least for me (tested with clang++ 13 and g++ 11.3), the following code does not compile:
#include <random>
#include <ranges>
#include <iostream>
#include <boost/histogram.hpp>
int main() {
using namespace boost::histogram;
std::mt19937 rng;
std::exponential_distribution dist;
auto hist = make_histogram(axis::regular<>(20, 1, 10.0));
for (int i = 0; i < 1'000; ++i) {
hist(dist(rng));
}
// these work
auto r1 = std::ranges::subrange(hist.cbegin(), hist.cend());
auto v1 = hist | std::views::transform([] (auto&& x) {return 1;});
// these don't:
auto x = indexed(hist);
auto r2 = std::ranges::subrange(x.cbegin(), x.cend());
auto v2 = indexed(hist) | std::views::transform([] (auto&& x) {return 1;});
return 0;
}
- Lenguaje dominante
- C++
- Estrellas
- 334
- Forks
- 76
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de boostorg/histogram
-
Fable review of Boost.HistogramAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 28/100
-
Mixed scalar/array `fill` zeroes the whole histogram when a non-inclusive axis drops the first entryAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
Todos los issues de boostorg/histogram
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
sandialabs/seacas#945 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
ROCm/FastFlowLM#757 ·
Los mantenedores suelen responder en 1 día
-
WaterHeaterManagement: tank_percent feature reports wrong feature id (FeatureMap corruption)Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
espressif/esp-matter#1867 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
mltframework/shotcut#1920 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día