BroadcastIterator#

class numpy::BroadcastIterator#

Iterator class for array traversal.

Example#

#include <numpy/np_ndarray.h>
using namespace numpy;

// Use BroadcastIterator
NDArray<double> arr = np::arange<double>(12).reshape({3, 4});
for (auto it = arr.begin(); it != arr.end(); ++it) {
    // ... process elements ...
}

Constructors#

Signature

Location

Example

BroadcastIterator(Arrays &...arrays)

NP_VECTORIZE_BROADCAST.H:48

Operators#

Signature

Return Type

Location

Example

value_type operator\*()

value_type

NP_VECTORIZE_BROADCAST.H:61

BroadcastIterator & operator++()

BroadcastIterator &

NP_VECTORIZE_BROADCAST.H:68

BroadcastIterator operator++(int)

BroadcastIterator

NP_VECTORIZE_BROADCAST.H:81

bool operator==(const BroadcastIterator &other)

bool

NP_VECTORIZE_BROADCAST.H:90

bool operator!=(const BroadcastIterator &other)

bool

NP_VECTORIZE_BROADCAST.H:99

Indexing / Selection#

Signature

Return Type

Location

Example

auto & getArrayElement()

auto &

NP_VECTORIZE_BROADCAST.H:212

const std::vector<size_t>& getBroadcastShape()

const std::vector<size_t>&

NP_VECTORIZE_BROADCAST.H:111

value_type getCurrentElements(std::index_sequence<Is...>)

value_type

NP_VECTORIZE_BROADCAST.H:204

size_t getFlatIndex()

size_t

NP_VECTORIZE_BROADCAST.H:106

void getOriginalShapes(std::index_sequence<Is...>)

void

NP_VECTORIZE_BROADCAST.H:147

size_t getTotalSize()

size_t

NP_VECTORIZE_BROADCAST.H:118

Testing#

Signature

Return Type

Location

Example

void calculateStrides()

void

NP_VECTORIZE_BROADCAST.H:155

void calculateStridesImpl(std::index_sequence<Is...>)

void

NP_VECTORIZE_BROADCAST.H:162

Other Methods#

Signature

Return Type

Location

Example

void calculateArrayStrides()

void

NP_VECTORIZE_BROADCAST.H:167

void initializeBroadcasting()

void

NP_VECTORIZE_BROADCAST.H:129

bool isEnd()

bool

NP_VECTORIZE_BROADCAST.H:123

void updateMultiIndex()

void

NP_VECTORIZE_BROADCAST.H:193