Init
This commit is contained in:
192
cppdraft/valarray/members.md
Normal file
192
cppdraft/valarray/members.md
Normal file
@@ -0,0 +1,192 @@
|
||||
[valarray.members]
|
||||
|
||||
# 29 Numerics library [[numerics]](./#numerics)
|
||||
|
||||
## 29.6 Numeric arrays [[numarray]](numarray#valarray.members)
|
||||
|
||||
### 29.6.2 Class template valarray [[template.valarray]](template.valarray#valarray.members)
|
||||
|
||||
#### 29.6.2.8 Member functions [valarray.members]
|
||||
|
||||
[ð](#lib:swap,valarray)
|
||||
|
||||
`void swap(valarray& v) noexcept;
|
||||
`
|
||||
|
||||
[1](#1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L7933)
|
||||
|
||||
*Effects*: *this obtains the value ofv[.](#1.sentence-1)
|
||||
|
||||
v obtains the value of *this[.](#1.sentence-2)
|
||||
|
||||
[2](#2)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L7938)
|
||||
|
||||
*Complexity*: Constant[.](#2.sentence-1)
|
||||
|
||||
[ð](#lib:size,valarray)
|
||||
|
||||
`size_t size() const;
|
||||
`
|
||||
|
||||
[3](#3)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L7949)
|
||||
|
||||
*Returns*: The number of elements in the array[.](#3.sentence-1)
|
||||
|
||||
[4](#4)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L7953)
|
||||
|
||||
*Complexity*: Constant time[.](#4.sentence-1)
|
||||
|
||||
[ð](#lib:sum,valarray)
|
||||
|
||||
`T sum() const;
|
||||
`
|
||||
|
||||
[5](#5)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L7964)
|
||||
|
||||
*Mandates*: operator+= can be applied to operands of type T[.](#5.sentence-1)
|
||||
|
||||
[6](#6)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L7968)
|
||||
|
||||
*Preconditions*: size() > 0 is true[.](#6.sentence-1)
|
||||
|
||||
[7](#7)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L7972)
|
||||
|
||||
*Returns*: The sum of all the elements of the array[.](#7.sentence-1)
|
||||
|
||||
If the array has length 1, returns the value of element 0[.](#7.sentence-2)
|
||||
|
||||
Otherwise, the returned value is calculated by applyingoperator+= to a copy of an element of the array and
|
||||
all other elements of the array in an unspecified order[.](#7.sentence-3)
|
||||
|
||||
[ð](#lib:min,valarray)
|
||||
|
||||
`T min() const;
|
||||
`
|
||||
|
||||
[8](#8)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L7988)
|
||||
|
||||
*Preconditions*: size() > 0 is true[.](#8.sentence-1)
|
||||
|
||||
[9](#9)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L7992)
|
||||
|
||||
*Returns*: The minimum value contained in *this[.](#9.sentence-1)
|
||||
|
||||
For an array of length 1, the value of element 0 is returned[.](#9.sentence-2)
|
||||
|
||||
For all other array
|
||||
lengths, the determination is made usingoperator<[.](#9.sentence-3)
|
||||
|
||||
[ð](#lib:max,valarray)
|
||||
|
||||
`T max() const;
|
||||
`
|
||||
|
||||
[10](#10)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L8007)
|
||||
|
||||
*Preconditions*: size() > 0 is true[.](#10.sentence-1)
|
||||
|
||||
[11](#11)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L8011)
|
||||
|
||||
*Returns*: The maximum value contained in *this[.](#11.sentence-1)
|
||||
|
||||
For an array of length 1, the value of element 0 is returned[.](#11.sentence-2)
|
||||
|
||||
For all other array
|
||||
lengths, the determination is made usingoperator<[.](#11.sentence-3)
|
||||
|
||||
[ð](#lib:shift,valarray)
|
||||
|
||||
`valarray shift(int n) const;
|
||||
`
|
||||
|
||||
[12](#12)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L8026)
|
||||
|
||||
*Returns*: A valarray of length size(), each of whose elements*I* is(*this)[*I* + n] if *I* + n is non-negative and less thansize(), otherwise T()[.](#12.sentence-1)
|
||||
|
||||
[*Note [1](#note-1)*:
|
||||
|
||||
If element zero is taken as the leftmost element,
|
||||
a positive value of n shifts the elements left n places, with zero fill[.](#12.sentence-2)
|
||||
|
||||
â *end note*]
|
||||
|
||||
[13](#13)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L8040)
|
||||
|
||||
[*Example [1](#example-1)*:
|
||||
|
||||
If the argument has the value â2,
|
||||
the first two elements of the result will be [value-initialized](dcl.init#def:value-initialization "9.5 Initializers [dcl.init]"); the third element of the result will be assigned the value
|
||||
of the first element of *this; etc[.](#13.sentence-1)
|
||||
|
||||
â *end example*]
|
||||
|
||||
[ð](#lib:cshift,valarray)
|
||||
|
||||
`valarray cshift(int n) const;
|
||||
`
|
||||
|
||||
[14](#14)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L8054)
|
||||
|
||||
*Returns*: A valarray of length size() that is a circular shift of *this[.](#14.sentence-1)
|
||||
|
||||
If element zero is taken as
|
||||
the leftmost element, a non-negative value of n shifts
|
||||
the elements circularly left n places and a negative
|
||||
value of n shifts the elements circularly right ân places[.](#14.sentence-2)
|
||||
|
||||
[ð](#lib:apply,valarray)
|
||||
|
||||
`valarray apply(T func(T)) const;
|
||||
valarray apply(T func(const T&)) const;
|
||||
`
|
||||
|
||||
[15](#15)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L8070)
|
||||
|
||||
*Returns*: A valarray whose length is size()[.](#15.sentence-1)
|
||||
|
||||
Each element of the returned array is assigned
|
||||
the value returned by applying the argument function to the
|
||||
corresponding element of *this[.](#15.sentence-2)
|
||||
|
||||
[ð](#lib:resize,valarray)
|
||||
|
||||
`void resize(size_t sz, T c = T());
|
||||
`
|
||||
|
||||
[16](#16)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L8084)
|
||||
|
||||
*Effects*: Changes the length of the *this array to sz and then assigns to each element the value of the second argument[.](#16.sentence-1)
|
||||
|
||||
Resizing invalidates all pointers and references to elements in the array[.](#16.sentence-2)
|
||||
Reference in New Issue
Block a user