æ ååºæ 头 <valarray>
æ¥èªcppreference.com
æ¤å¤´æä»¶æ¯æ°å¼åºçä¸é¨åã
ç±» | ||
æ°å¼æ°ç»ä¸æ°ç»åç (类模æ¿) | ||
valarray ç BLAS å¼åçï¼èµ·å§ä¸æ ãé¿åº¦ã跨度 (ç±») | ||
å° valarray åºç¨ slice åçåéç代ç (类模æ¿) | ||
valarray çéç¨åçï¼èµ·å§ä¸æ ãé¿åº¦éãæ¥å¹
é (ç±») | ||
valarray åºç¨ gslice åçåéç代ç (类模æ¿) | ||
å°åºç¨å¸å°æ©ç operator[] åç valarray åéç代ç (类模æ¿) | ||
å°åºç¨é´æ¥ operator[] åç valarray åéç代çã (类模æ¿) | ||
彿° | ||
æä½ | ||
(C++11) |
ç¹å std::swap ç®æ³ (彿°æ¨¡æ¿) | |
(C++11) |
ç¹åç std::begin (彿°æ¨¡æ¿) | |
(C++11) |
ç¹åç std::end (彿°æ¨¡æ¿) | |
对两个 valarray çæ¯ä¸ªå
ç´ ï¼æä¸ä¸ª valarray çæ¯ä¸ªå
ç´ åä¸ä¸ªå¼è¿ç¨äºå
è¿ç®ç¬¦ (彿°æ¨¡æ¿) | ||
æ¯è¾ä¸¤ä¸ª valarraysï¼ææ¯è¾ä¸ä¸ª valarray åä¸ä¸ªå¼ (彿°æ¨¡æ¿) | ||
åºç¨å½æ° std::abs å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | ||
ææ°å½æ° | ||
åºç¨å½æ° std::exp å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | ||
åºç¨å½æ° std::log å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | ||
åºç¨å½æ° std::log10 å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | ||
å¹å½æ° | ||
åºç¨å½æ° std::pow å°äºä¸ª valarray æä¸ä¸ª valarray ä¸ä¸ä¸ªå¼ (彿°æ¨¡æ¿) | ||
åºç¨å½æ° std::sqrt å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | ||
ä¸è§å½æ° | ||
对 valarray çæ¯ä¸ªå
ç´ åºç¨std::sin彿° (彿°æ¨¡æ¿) | ||
åºç¨å½æ° std::cos å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | ||
åºç¨å½æ° std::tan å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | ||
åºç¨å½æ° std::asin å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | ||
åºç¨å½æ° std::acos å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | ||
åºç¨å½æ° std::atan å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | ||
åºç¨å½æ° std::atan2 å°ä¸ä¸ª valarray åä¸ä¸ªå¼ (彿°æ¨¡æ¿) | ||
忲彿° | ||
å¨ valarray çæ¯ä¸ªå
ç´ ä¸è°ç¨ std::sinh 彿° (彿°æ¨¡æ¿) | ||
å¨ valarray çæ¯ä¸ªå
ç´ ä¸è°ç¨ std::cosh 彿° (彿°æ¨¡æ¿) | ||
å¨ valarray çæ¯ä¸ªå
ç´ ä¸è°ç¨ std::tanh 彿° (彿°æ¨¡æ¿) |
[ç¼è¾] æ¦è¦
#include <initializer_list> namespace std { template<class T> class valarray; // T ç±»åçæ°ç» class slice; // æ°ç»ä¸ç BLAS å¼åç template<class T> class slice_array; class gslice; // æ°ç»ä¸ç广ä¹åç template<class T> class gslice_array; template<class T> class mask_array; // æ©ç æ°ç» template<class T> class indirect_array; // é´æ¥æ°ç» template<class T> void swap(valarray<T>&, valarray<T>&) noexcept; template<class T> valarray<T> operator* (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator* (const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<T> operator* (const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<T> operator/ (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator/ (const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<T> operator/ (const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<T> operator% (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator% (const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<T> operator% (const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<T> operator+ (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator+ (const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<T> operator+ (const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<T> operator- (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator- (const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<T> operator- (const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<T> operator^ (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator^ (const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<T> operator^ (const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<T> operator& (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator& (const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<T> operator& (const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<T> operator| (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator| (const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<T> operator| (const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<T> operator<<(const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator<<(const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<T> operator<<(const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<T> operator>>(const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator>>(const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<T> operator>>(const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<bool> operator&&(const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator&&(const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<bool> operator&&(const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<bool> operator||(const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator||(const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<bool> operator||(const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<bool> operator==(const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator==(const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<bool> operator==(const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<bool> operator!=(const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator!=(const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<bool> operator!=(const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<bool> operator< (const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator< (const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<bool> operator< (const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<bool> operator> (const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator> (const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<bool> operator> (const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<bool> operator<=(const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator<=(const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<bool> operator<=(const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<bool> operator>=(const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator>=(const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<bool> operator>=(const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<T> abs (const valarray<T>&); template<class T> valarray<T> acos (const valarray<T>&); template<class T> valarray<T> asin (const valarray<T>&); template<class T> valarray<T> atan (const valarray<T>&); template<class T> valarray<T> atan2(const valarray<T>&, const valarray<T>&); template<class T> valarray<T> atan2(const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<T> atan2(const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<T> cos (const valarray<T>&); template<class T> valarray<T> cosh (const valarray<T>&); template<class T> valarray<T> exp (const valarray<T>&); template<class T> valarray<T> log (const valarray<T>&); template<class T> valarray<T> log10(const valarray<T>&); template<class T> valarray<T> pow(const valarray<T>&, const valarray<T>&); template<class T> valarray<T> pow(const valarray<T>&, const typename valarray<T>::value_type&); template<class T> valarray<T> pow(const typename valarray<T>::value_type&, const valarray<T>&); template<class T> valarray<T> sin (const valarray<T>&); template<class T> valarray<T> sinh (const valarray<T>&); template<class T> valarray<T> sqrt (const valarray<T>&); template<class T> valarray<T> tan (const valarray<T>&); template<class T> valarray<T> tanh (const valarray<T>&); template<class T> /* æªææ 1 */ begin(valarray<T>& v); template<class T> /* æªææ 2 */ begin(const valarray<T>& v); template<class T> /* æªææ 1 */ end(valarray<T>& v); template<class T> /* æªææ 2 */ end(const valarray<T>& v); }
[ç¼è¾] ç±»æ¨¡æ¿ std::valarray
namespace std { template<class T> class valarray { public: using value_type = T; // æé /ææ valarray(); explicit valarray(size_t); valarray(const T&, size_t); valarray(const T*, size_t); valarray(const valarray&); valarray(valarray&&) noexcept; valarray(const slice_array<T>&); valarray(const gslice_array<T>&); valarray(const mask_array<T>&); valarray(const indirect_array<T>&); valarray(initializer_list<T>); ~valarray(); // èµå¼ valarray& operator=(const valarray&); valarray& operator=(valarray&&) noexcept; valarray& operator=(initializer_list<T>); valarray& operator=(const T&); valarray& operator=(const slice_array<T>&); valarray& operator=(const gslice_array<T>&); valarray& operator=(const mask_array<T>&); valarray& operator=(const indirect_array<T>&); // å ç´ è®¿é® const T& operator[](size_t) const; T& operator[](size_t); // åéæä½ valarray operator[](slice) const; slice_array<T> operator[](slice); valarray operator[](const gslice&) const; gslice_array<T> operator[](const gslice&); valarray operator[](const valarray<bool>&) const; mask_array<T> operator[](const valarray<bool>&); valarray operator[](const valarray<size_t>&) const; indirect_array<T> operator[](const valarray<size_t>&); // ä¸å è¿ç®ç¬¦ valarray operator+() const; valarray operator-() const; valarray operator~() const; valarray<bool> operator!() const; // å¤åèµå¼ valarray& operator*= (const T&); valarray& operator/= (const T&); valarray& operator%= (const T&); valarray& operator+= (const T&); valarray& operator-= (const T&); valarray& operator^= (const T&); valarray& operator&= (const T&); valarray& operator|= (const T&); valarray& operator<<=(const T&); valarray& operator>>=(const T&); valarray& operator*= (const valarray&); valarray& operator/= (const valarray&); valarray& operator%= (const valarray&); valarray& operator+= (const valarray&); valarray& operator-= (const valarray&); valarray& operator^= (const valarray&); valarray& operator|= (const valarray&); valarray& operator&= (const valarray&); valarray& operator<<=(const valarray&); valarray& operator>>=(const valarray&); // æå彿° void swap(valarray&) noexcept; size_t size() const; T sum() const; T min() const; T max() const; valarray shift (int) const; valarray cshift(int) const; valarray apply(T func(T)) const; valarray apply(T func(const T&)) const; void resize(size_t sz, T c = T()); }; template<class T, size_t cnt> valarray(const T(&)[cnt], size_t) -> valarray<T>; }
[ç¼è¾] ç±» std::slice
namespace std { class slice { public: slice(); slice(size_t, size_t, size_t); size_t start() const; size_t size() const; size_t stride() const; friend bool operator==(const slice& x, const slice& y); }; }
[ç¼è¾] ç±»æ¨¡æ¿ std::slice_array
namespace std { template<class T> class slice_array { public: using value_type = T; void operator= (const valarray<T>&) const; void operator*= (const valarray<T>&) const; void operator/= (const valarray<T>&) const; void operator%= (const valarray<T>&) const; void operator+= (const valarray<T>&) const; void operator-= (const valarray<T>&) const; void operator^= (const valarray<T>&) const; void operator&= (const valarray<T>&) const; void operator|= (const valarray<T>&) const; void operator<<=(const valarray<T>&) const; void operator>>=(const valarray<T>&) const; slice_array(const slice_array&); ~slice_array(); const slice_array& operator=(const slice_array&) const; void operator=(const T&) const; slice_array() = delete; // ä¸é¢å£°æçå¤å¶æé 彿°æéå« }; }
[ç¼è¾] ç±» std::gslice
namespace std { class gslice { public: gslice(); gslice(size_t s, const valarray<size_t>& l, const valarray<size_t>& d); size_t start() const; valarray<size_t> size() const; valarray<size_t> stride() const; }; }
[ç¼è¾] ç±»æ¨¡æ¿ std::gslice_array
namespace std { template<class T> class gslice_array { public: using value_type = T; void operator= (const valarray<T>&) const; void operator*= (const valarray<T>&) const; void operator/= (const valarray<T>&) const; void operator%= (const valarray<T>&) const; void operator+= (const valarray<T>&) const; void operator-= (const valarray<T>&) const; void operator^= (const valarray<T>&) const; void operator&= (const valarray<T>&) const; void operator|= (const valarray<T>&) const; void operator<<=(const valarray<T>&) const; void operator>>=(const valarray<T>&) const; gslice_array(const gslice_array&); ~gslice_array(); const gslice_array& operator=(const gslice_array&) const; void operator=(const T&) const; gslice_array() = delete; // ä¸é¢å£°æçå¤å¶æé 彿°æéå« }; }
[ç¼è¾] ç±»æ¨¡æ¿ std::mask_array
namespace std { template<class T> class mask_array { public: using value_type = T; void operator= (const valarray<T>&) const; void operator*= (const valarray<T>&) const; void operator/= (const valarray<T>&) const; void operator%= (const valarray<T>&) const; void operator+= (const valarray<T>&) const; void operator-= (const valarray<T>&) const; void operator^= (const valarray<T>&) const; void operator&= (const valarray<T>&) const; void operator|= (const valarray<T>&) const; void operator<<=(const valarray<T>&) const; void operator>>=(const valarray<T>&) const; mask_array(const mask_array&); ~mask_array(); const mask_array& operator=(const mask_array&) const; void operator=(const T&) const; mask_array() = delete; // ä¸é¢å£°æçå¤å¶æé 彿°æéå« }; }
[ç¼è¾] ç±»æ¨¡æ¿ std::indirect_array
namespace std { template<class T> class indirect_array { public: using value_type = T; void operator= (const valarray<T>&) const; void operator*= (const valarray<T>&) const; void operator/= (const valarray<T>&) const; void operator%= (const valarray<T>&) const; void operator+= (const valarray<T>&) const; void operator-= (const valarray<T>&) const; void operator^= (const valarray<T>&) const; void operator&= (const valarray<T>&) const; void operator|= (const valarray<T>&) const; void operator<<=(const valarray<T>&) const; void operator>>=(const valarray<T>&) const; indirect_array(const indirect_array&); ~indirect_array(); const indirect_array& operator=(const indirect_array&) const; void operator=(const T&) const; indirect_array() = delete; // ä¸é¢å£°æçå¤å¶æé 彿°æéå« }; }
[ç¼è¾] ç¼ºé·æ¥å
ä¸åæ´æ¹è¡ä¸ºçç¼ºé·æ¥å追溯å°åºç¨äºä»¥ååºçç C++ æ åã
ç¼ºé·æ¥å | åºç¨äº | åºçæ¶çè¡ä¸º | æ£ç¡®è¡ä¸º |
---|---|---|---|
LWG 125 | C++98 | 卿¦è¦ä¸ valarray<T>::operator!() çè¿åç±»åæ¯ valarray<T> | æ¹æ valarray<bool> |