11#include <initializer_list>
15#define ArrayProduct_D 0
24 const F* d = (
const F*)a;
26 for(uint i = a.
size(); i--; ) val *= *d++;
33 const F* d = (
const F*)a;
35 for(uint i = 0; i < a.
size(); ++i, ++d)
36 if (i != j) val *= *d;
45 const F* d = (
const F*)a;
47 for(uint i = 0; i < a.
size(); ++i, ++d)
48 if (i != j && i != k) val *= *d;
58 const F* d = a; F* o = res;
69 const F* d = a; F* e = res;
70 for(uint i = a.
size(); i--; ) *e++ = std::abs(*d++);
82 for(uint i = a.
size()-1; i--; )
95 for(uint i = a.
size()-1; i--; )
132 const Real f = M_PI / (2*n);
134 while(n) *x++ = cos(f*(2*--n+1));
144 template <
class F, u
int dim>
149 for(
uint j = 0; j < n; ++j)
F max(const concepts::Array< F > &a)
Returns the maximal value in array a.
concepts::Array< F > pow(const concepts::Array< F > &a, const F e)
Returns the power of values in the array a with e.
F min(const concepts::Array< F > &a)
Returns the minimal value in array a.
uint size() const
Returns the requested size of the array.
#define conceptsAssert(cond, exc)
Array< F > componentArray(const Array< Point< F, dim > > &a, uint i)
void makeArray(const F &cell, const Array< Real > &p, G(F::*fun)(Real) const, Array< G > &array)
void chebychevPoints(concepts::Array< Real > &p)
Set< F > makeSet(uint n, const F &first,...)