Apache C++ Standard Library Reference Guide

## <valarray>

Library: Numerics

    Header

- Local Index
- Summary
- Synopsis
- See Also
- Standards Conformance

### Local Index

No Entries

### Summary

The header `<valarray>` is part of the Numerics library of the Standard C++ Library. It defines:

- the class template valararry and four related class templates: slice_array, gslice_array, mask_array, and indirect_array

- two classes: slice and gslice

- several functions for manipulating and comparing arrays of values

### Synopsis

    namespace std {
      template<class T> class valarray;
      class slice;
      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>
      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>&);
    }

### See Also

valarray, slice, gslice, gslice_array, mask_array, indirect_array

### Standards Conformance

ISO/IEC 14882:1998 -- International Standard for Information Systems --Programming Language C++, Section 26.3.1