名前空間
変種
操作

標準ライブラリヘッダ <valarray>

提供: cppreference.com
< cpp‎ | header
 
 
 

このヘッダは数値演算ライブラリの一部です。

目次

[編集] クラス

数値配列および配列スライス
(クラステンプレート)
BLAS ライクな valarray のスライス: 開始位置、長さ、ストライド
(クラス) [edit]
slice 適用後の valarray のサブセットへのプロキシ
(クラステンプレート) [edit]
一般化された valarray のスライス: 開始位置、長さのセット、ストライドのセット
(クラス) [edit]
gslice 適用後の valarray のサブセットへのプロキシ
(クラステンプレート) [edit]
ブーリアンマスクの operator[] 適用後の valarray のサブセットへのプロキシ
(クラステンプレート) [edit]
間接参照の operator[] 適用後の valarray のサブセットへのプロキシ
(クラステンプレート) [edit]

[編集] 関数

操作
std::swap アルゴリズムの特殊化
(関数テンプレート) [edit]
std::begin の特殊化
(関数テンプレート) [edit]
std::end の特殊化
(関数テンプレート) [edit]
2つの valarray の各要素または valarray と値に二項演算子を適用します
(関数テンプレート) [edit]
2つの valarray または valarray と値を比較します
(関数テンプレート) [edit]
valarray の各要素に関数 std::abs を適用します
(関数テンプレート) [edit]
指数関数
valarray の各要素に関数 std::exp を適用します
(関数テンプレート) [edit]
valarray の各要素に関数 std::log を適用します
(関数テンプレート) [edit]
valarray の各要素に関数 std::log10 を適用します
(関数テンプレート) [edit]
冪関数
2つの valarray または valarray と値に関数 std::pow を適用します
(関数テンプレート) [edit]
valarray の各要素に関数 std::sqrt を適用します
(関数テンプレート) [edit]
三角関数
valarray の各要素に関数 std::sin を適用します
(関数テンプレート) [edit]
valarray の各要素に関数 std::cos を適用します
(関数テンプレート) [edit]
valarray の各要素に関数 std::tan を適用します
(関数テンプレート) [edit]
valarray の各要素に関数 std::asin を適用します
(関数テンプレート) [edit]
valarray の各要素に関数 std::acos を適用します
(関数テンプレート) [edit]
valarray の各要素に関数 std::atan を適用します
(関数テンプレート) [edit]
valarray と値に関数 std::atan2 を適用します
(関数テンプレート) [edit]
双曲線関数
valarray の各要素に関数 std::sinh を適用します
(関数テンプレート) [edit]
valarray の各要素に関数 std::cosh を適用します
(関数テンプレート) [edit]
valarray の各要素に関数 std::tanh を適用します
(関数テンプレート) [edit]


[編集] 概要

#include <initializer_list>
 
namespace std {
    template<class T> class valarray;       // An array of type T
    class slice;                            // a BLAS-like slice out of an array
    template<class T> class slice_array;   
    class gslice;                           // a generalized slice out of an array
    template<class T> class gslice_array;
    template<class T> class mask_array;     // a masked array
    template<class T> class indirect_array; // an indirected 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 T&);
    template<class T> valarray<T> operator* (const T&, 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 T&);
    template<class T> valarray<T> operator/ (const T&, 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 T&);
    template<class T> valarray<T> operator% (const T&, 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 T&);
    template<class T> valarray<T> operator+ (const T&, 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 T&);
    template<class T> valarray<T> operator- (const T&, 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 T&);
    template<class T> valarray<T> operator^ (const T&, 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 T&);
    template<class T> valarray<T> operator& (const T&, 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 T&);
    template<class T> valarray<T> operator| (const T&, 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 T&);
    template<class T> valarray<T> operator<<(const T&, 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 T&);
    template<class T> valarray<T> operator>>(const T&, 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 T&);
    template<class T> valarray<bool> operator&&(const T&, 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 T&);
    template<class T> valarray<bool> operator||(const T&, 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 T&);
    template<class T> valarray<bool> operator==(const T&, 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 T&);
    template<class T> valarray<bool> operator!=(const T&, 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 T&);
    template<class T> valarray<bool> operator< (const T&, 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 T&);
    template<class T> valarray<bool> operator> (const T&, 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 T&);
    template<class T> valarray<bool> operator<=(const T&, 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 T&);
    template<class T> valarray<bool> operator>=(const T&, 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 T&);
    template<class T> valarray<T> atan2(const T&, 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 T&);
    template<class T> valarray<T> pow(const T&, 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>  /*unspecified1*/ begin(valarray<T>& v);
    template<class T>  /*unspecified2*/ begin(const valarray<T>& v);
    template<class T>  /*unspecified1*/ end(valarray<T>& v);
    template<class T>  /*unspecified2*/ end(const valarray<T>& v);
 
 
}

[編集] std::valarray

namespace std {
    template<class T> class valarray {
    public:
        typedef T value_type;
 
        // 26.6.2.2 construct/destroy:
        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();
 
        // 26.6.2.3 assignment:
        valarray<T>& operator=(const valarray<T>&);
        valarray<T>& operator=(valarray<T>&&) noexcept;
        valarray& operator=(initializer_list<T>);
        valarray<T>& operator=(const T&);
        valarray<T>& operator=(const slice_array<T>&);
        valarray<T>& operator=(const gslice_array<T>&);
        valarray<T>& operator=(const mask_array<T>&);
        valarray<T>& operator=(const indirect_array<T>&);
 
        // 26.6.2.4 element access:
        const T&        operator[](size_t) const;
        T&              operator[](size_t);
 
        // 26.6.2.5 subset operations:
        valarray<T>             operator[](slice) const;
        slice_array<T>          operator[](slice);
        valarray<T>             operator[](const gslice&) const;
        gslice_array<T>         operator[](const gslice&);
        valarray<T>             operator[](const valarray<bool>&) const;
        mask_array<T>           operator[](const valarray<bool>&);
        valarray<T>             operator[](const valarray<size_t>&) const;
        indirect_array<T>       operator[](const valarray<size_t>&);
 
        // 26.6.2.6 unary operators:
        valarray<T> operator+() const;
        valarray<T> operator-() const;
        valarray<T> operator~() const;
        valarray<bool> operator!() const;
 
        // 26.6.2.7 computed assignment:
        valarray<T>& operator*= (const T&);
        valarray<T>& operator/= (const T&);
        valarray<T>& operator%= (const T&);
        valarray<T>& operator+= (const T&);
        valarray<T>& operator-= (const T&);
        valarray<T>& operator^= (const T&);
        valarray<T>& operator&= (const T&);
        valarray<T>& operator|= (const T&);
        valarray<T>& operator<<=(const T&);
        valarray<T>& operator>>=(const T&);
 
        valarray<T>& operator*= (const valarray<T>&);
        valarray<T>& operator/= (const valarray<T>&);
        valarray<T>& operator%= (const valarray<T>&);
        valarray<T>& operator+= (const valarray<T>&);
        valarray<T>& operator-= (const valarray<T>&);
        valarray<T>& operator^= (const valarray<T>&);
        valarray<T>& operator|= (const valarray<T>&);
        valarray<T>& operator&= (const valarray<T>&);
        valarray<T>& operator<<=(const valarray<T>&);
        valarray<T>& operator>>=(const valarray<T>&);
 
        // 26.6.2.8 member functions:
        void swap(valarray&) noexcept;
 
        size_t size() const;
 
        T sum() const;
        T min() const;
        T max() const;
 
        valarray<T> shift (int) const;
        valarray<T> cshift(int) const;
        valarray<T> apply(T func(T)) const;
        valarray<T> apply(T func(const T&)) const;
        void resize(size_t sz, T c = 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;
    };
}

[編集] std::slice_array

namespace std {
template <class T> class slice_array {
    public:
        typedef T value_type;
 
        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;
        // as implied by declaring copy constructor above
    };
}

[編集] 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:
        typedef T value_type;
        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;        // as implied by declaring copy constructor above
    };
}

[編集] std::mask_array

namespace std {
    template <class T> class mask_array {
    public:
        typedef T value_type;
 
        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;        // as implied by declaring copy constructor above
    };
}

[編集] std::indirect_array

namespace std {
    template <class T> class indirect_array {
    public:
        typedef T value_type;
 
        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; // as implied by declaring copy constructor above
    };
}