|
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >()+std::declval< U >()), Dims... > | console::operator+ (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() - std::declval< U >()), Dims... > | console::operator- (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() *std::declval< U >()), Dims... > | console::operator* (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >()/std::declval< U >()), Dims... > | console::operator/ (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() % std::declval< U >()), Dims... > | console::operator% (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator+= (MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator-= (MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator*= (MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator/= (MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator%= (MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator+= (MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator-= (MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator*= (MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator/= (MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator%= (MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator== (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator!= (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator< (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator> (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator<= (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator>= (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >()+std::declval< U >()), Dims... > | console::operator+ (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() - std::declval< U >()), Dims... > | console::operator- (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() *std::declval< U >()), Dims... > | console::operator* (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >()/std::declval< U >()), Dims... > | console::operator/ (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() % std::declval< U >()), Dims... > | console::operator% (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >()+std::declval< U >()), Dims... > | console::operator+ (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() - std::declval< U >()), Dims... > | console::operator- (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() *std::declval< U >()), Dims... > | console::operator* (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >()/std::declval< U >()), Dims... > | console::operator/ (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() % std::declval< U >()), Dims... > | console::operator% (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, size_t... Dims> |
| MultiArray< decltype(+std::declval< T >()), Dims... > | console::operator+ (const MultiArray< T, Dims... > &a) |
| template<class T, size_t... Dims> |
| MultiArray< decltype(- std::declval< T >()), Dims... > | console::operator- (const MultiArray< T, Dims... > &a) |
| template<class T, size_t... Dims> |
| MultiArray< decltype(~ std::declval< T >()), Dims... > | console::operator~ (const MultiArray< T, Dims... > &a) |
| template<class T, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator! (const MultiArray< T, Dims... > &a) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator== (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator!= (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator< (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator> (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator<= (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator>= (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator== (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator!= (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator< (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator> (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator<= (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator>= (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator&& (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator|| (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator&& (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator|| (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator&& (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< bool, Dims... > | console::operator|| (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() &std::declval< U >()), Dims... > | console::operator& (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >()|std::declval< U >()), Dims... > | console::operator| (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() ^ std::declval< U >()), Dims... > | console::operator^ (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >()<< std::declval< U >()), Dims... > | console::operator<< (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() > > std::declval< U >()), Dims... > | console::operator>> (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator&= (MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator|= (MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator^= (MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator<<= (MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator>>= (MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() &std::declval< U >()), Dims... > | console::operator& (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >()|std::declval< U >()), Dims... > | console::operator| (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() ^ std::declval< U >()), Dims... > | console::operator^ (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >()<< std::declval< U >()), Dims... > | console::operator<< (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() > > std::declval< U >()), Dims... > | console::operator>> (const MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() &std::declval< U >()), Dims... > | console::operator& (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >()|std::declval< U >()), Dims... > | console::operator| (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() ^ std::declval< U >()), Dims... > | console::operator^ (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< decltype(std::declval< T >() > > std::declval< U >()), Dims... > | console::operator>> (const U &a, const MultiArray< T, Dims... > &b) |
| template<class T, class U, size_t... Dims> |
| std::enable_if<!std::is_base_of< std::ios_base, U >::value, MultiArray< decltype(std::declval< U >()<< std::declval< T >()), Dims... > >::type | console::operator<< (const U &value, const MultiArray< T, Dims... > &a) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator&= (MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator|= (MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator^= (MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator<<= (MultiArray< T, Dims... > &a, const U &b) |
| template<class T, class U, size_t... Dims> |
| MultiArray< T, Dims... > & | console::operator>>= (MultiArray< T, Dims... > &a, const U &b) |
| template<class T, size_t... Dims> |
| T | console::sum (const MultiArray< T, Dims... > &a) |
| | 求和所有元素。
|
| template<class T, size_t... Dims> |
| T | console::min (const MultiArray< T, Dims... > &a) |
| | 求最小值。
|
| template<class T, size_t... Dims> |
| T | console::max (const MultiArray< T, Dims... > &a) |
| | 求最大值。
|
| template<class T, size_t... Dims> |
| bool | console::all (const MultiArray< T, Dims... > &a) |
| | 检查所有元素是否都为 true(逻辑与归约)。
|
| template<class T, size_t... Dims> |
| bool | console::any (const MultiArray< T, Dims... > &a) |
| | 检查是否存在至少一个 true 元素(逻辑或归约)。
|
| template<class T, class U, size_t... Dims> |
| bool | console::equals (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| | 检查两个 MultiArray 是否相等。
|
| template<class T, class U, size_t... Dims1, size_t... Dims2> |
| constexpr bool | console::equals (const MultiArray< T, Dims1... > &, const MultiArray< U, Dims2... > &) |
| | 检查两个 MultiArray 是否相等。
|
| template<class T, class U, size_t... Dims, class Op> |
| bool | console::equals (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b, Op &&op) |
| | 检查两个 MultiArray 是否相等。
|
| template<class T, class U, size_t... Dims1, size_t... Dims2, class Op> |
| constexpr bool | console::equals (const MultiArray< T, Dims1... > &, const MultiArray< U, Dims2... > &, Op &&) |
| | 检查两个 MultiArray 是否相等。
|
| template<class T, class U, size_t... Dims> |
| int | console::compare (const MultiArray< T, Dims... > &a, const MultiArray< U, Dims... > &b) |
| | 比较两个 MultiArray 的大小。
|