?? stl_valarray.h
字號(hào):
inline valarray<_Tp> operator|(const valarray<_Tp>& __x,
const valarray<_Tp>& __y) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] | __y[__i];
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator<<(const valarray<_Tp>& __x,
const valarray<_Tp>& __y) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] << __y[__i];
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator>>(const valarray<_Tp>& __x,
const valarray<_Tp>& __y) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] >> __y[__i];
return __tmp;
}
// Binary arithmetic operations between an array and a scalar.
template <class _Tp>
inline valarray<_Tp> operator*(const valarray<_Tp>& __x, const _Tp& __c) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] * __c;
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator*(const _Tp& __c, const valarray<_Tp>& __x) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c * __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator/(const valarray<_Tp>& __x, const _Tp& __c) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] / __c;
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator/(const _Tp& __c, const valarray<_Tp>& __x) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c / __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator%(const valarray<_Tp>& __x, const _Tp& __c) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] % __c;
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator%(const _Tp& __c, const valarray<_Tp>& __x) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c % __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator+(const valarray<_Tp>& __x, const _Tp& __c) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] + __c;
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator+(const _Tp& __c, const valarray<_Tp>& __x) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c + __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator-(const valarray<_Tp>& __x, const _Tp& __c) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] - __c;
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator-(const _Tp& __c, const valarray<_Tp>& __x) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c - __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator^(const valarray<_Tp>& __x, const _Tp& __c) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] ^ __c;
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator^(const _Tp& __c, const valarray<_Tp>& __x) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c ^ __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator&(const valarray<_Tp>& __x, const _Tp& __c) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] & __c;
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator&(const _Tp& __c, const valarray<_Tp>& __x) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c & __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator|(const valarray<_Tp>& __x, const _Tp& __c) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] | __c;
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator|(const _Tp& __c, const valarray<_Tp>& __x) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c | __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator<<(const valarray<_Tp>& __x, const _Tp& __c) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] << __c;
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator<<(const _Tp& __c, const valarray<_Tp>& __x) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c << __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator>>(const valarray<_Tp>& __x, const _Tp& __c) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] >> __c;
return __tmp;
}
template <class _Tp>
inline valarray<_Tp> operator>>(const _Tp& __c, const valarray<_Tp>& __x) {
typedef typename valarray<_Tp>::_NoInit _NoInit;
valarray<_Tp> __tmp(__x.size(), _NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c >> __x[__i];
return __tmp;
}
// Binary logical operations between two arrays. Behavior is undefined
// if the two arrays have different lengths. Note that operator== does
// not do what you might at first expect.
template <class _Tp>
inline valarray<bool> operator==(const valarray<_Tp>& __x,
const valarray<_Tp>& __y)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] == __y[__i];
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator<(const valarray<_Tp>& __x,
const valarray<_Tp>& __y)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] < __y[__i];
return __tmp;
}
#ifdef __STL_USE_SEPARATE_RELOPS_NAMESPACE
template <class _Tp>
inline valarray<bool> operator!=(const valarray<_Tp>& __x,
const valarray<_Tp>& __y)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] != __y[__i];
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator>(const valarray<_Tp>& __x,
const valarray<_Tp>& __y)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] > __y[__i];
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator<=(const valarray<_Tp>& __x,
const valarray<_Tp>& __y)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] <= __y[__i];
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator>=(const valarray<_Tp>& __x,
const valarray<_Tp>& __y)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] >= __y[__i];
return __tmp;
}
#endif /* __STL_USE_SEPARATE_RELOPS_NAMESPACE */
// fbp : swap ?
template <class _Tp>
inline valarray<bool> operator&&(const valarray<_Tp>& __x,
const valarray<_Tp>& __y)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] && __y[__i];
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator||(const valarray<_Tp>& __x,
const valarray<_Tp>& __y)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] || __y[__i];
return __tmp;
}
// Logical operations between an array and a scalar.
template <class _Tp>
inline valarray<bool> operator==(const valarray<_Tp>& __x, const _Tp& __c)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] == __c;
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator==(const _Tp& __c, const valarray<_Tp>& __x)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c == __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator!=(const valarray<_Tp>& __x, const _Tp& __c)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] != __c;
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator!=(const _Tp& __c, const valarray<_Tp>& __x)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c != __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator<(const valarray<_Tp>& __x, const _Tp& __c)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] < __c;
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator<(const _Tp& __c, const valarray<_Tp>& __x)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c < __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator>(const valarray<_Tp>& __x, const _Tp& __c)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] > __c;
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator>(const _Tp& __c, const valarray<_Tp>& __x)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c > __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator<=(const valarray<_Tp>& __x, const _Tp& __c)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] <= __c;
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator<=(const _Tp& __c, const valarray<_Tp>& __x)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c <= __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator>=(const valarray<_Tp>& __x, const _Tp& __c)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] >= __c;
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator>=(const _Tp& __c, const valarray<_Tp>& __x)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c >= __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator&&(const valarray<_Tp>& __x, const _Tp& __c)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] && __c;
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator&&(const _Tp& __c, const valarray<_Tp>& __x)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __c && __x[__i];
return __tmp;
}
template <class _Tp>
inline valarray<bool> operator||(const valarray<_Tp>& __x, const _Tp& __c)
{
valarray<bool> __tmp(__x.size(), valarray<bool>::_NoInit());
for (size_t __i = 0; __i < __x.size(); ++__i)
__tmp[__i] = __x[__i] || __c;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -