66template <
class T,
size_t d>
68 const std::array<T, d> &x,
69 const std::array<T, d> &y
82for (
size_t i = 0; i < d; i++) {
83 z[i] =
min(x[i], y[i]);
105template <
class T,
size_t d>
107 const std::array<T, d> &x,
121for (
size_t i = 0; i < d; i++) {
144template <
class T,
size_t d>
147 const std::array<T, d> &y
181template <
class T,
size_t d,
size_t n>
182std::array<std::array<T, n>, d>
min(
183 const std::array<std::array<T, n>, d> &x,
192std::array<std::array<T, n>, d> z;
197for (
size_t i = 0; i < d; i++) {
220template <
class T,
size_t d,
size_t n>
221std::array<std::array<T, n>, d>
min(
223 const std::array<std::array<T, n>, d> &y
231std::array<std::array<T, n>, d> z;
255template <
class T,
size_t d,
class T1>
257 const std::array<T, d> &x,
276 for (i = 1; i < d; i++) {
278 if (value < min_value) {
305template <
class T,
size_t d>
307 const std::array<T, d> &x,
308 const std::array<T, d> &y
321for (
size_t i = 0; i < d; i++) {
322 z[i] =
max(x[i], y[i]);
344template <
class T,
size_t d>
346 const std::array<T, d> &x,
360for (
size_t i = 0; i < d; i++) {
383template <
class T,
size_t d>
386 const std::array<T, d> &y
420template <
class T,
size_t d,
size_t n>
421std::array<std::array<T, n>, d>
max(
422 const std::array<std::array<T, n>, d> &x,
431std::array<std::array<T, n>, d> z;
436for (
size_t i = 0; i < d; i++) {
459template <
class T,
size_t d,
size_t n>
460std::array<std::array<T, n>, d>
max(
462 const std::array<std::array<T, n>, d> &y
470std::array<std::array<T, n>, d> z;
496template <
class T,
size_t d,
class T1>
498 const std::array<T, d> &x,
517 for (i = 1; i < d; i++) {
519 if (value > max_value) {
543template <
class T,
size_t d,
class T1>
545 const std::array<T, d> &x,
564 for (i = 1; i < d; i++) {
590template <
class T,
size_t d>
592 const std::array<T, d> &x
611 for (i = 0; i < d; ++i) {
636template <
class T,
size_t d>
655for (i = 0; i < d; i++) {
656 y[i] =
static_cast<T
>(
pow(x[i], p));
674template <
class T,
size_t d>
676 const std::array<T, d> &x
695 for (i = 0; i < d; i++) {
713template <
class T,
size_t d>
715 const std::array<T, d> &x
734 for (i = 0; i < d; i++) {
753template <
class T,
size_t d>
755 const std::array<T, d> &x,
776if (p == 1) {
return(
norm1(x)); }
777if (p == 2) {
return(
norm2(x)); }
780 for (i = 0; i < d; i++) {
783 for (j = 1; j <= p; j++) {
791return(std::exp(std::log(std::max(z, 1.0e-307))/((
double) p))); };
804template <
class T,
size_t d>
806 const std::array<T, d> &x
826 for (i = 1; i < d; i++) {
850template <
class T,
size_t d>
852 const std::array<T, d> &x,
853 const std::array<T, d> &y
870 for (i = 0; i < d; i++) {
891 const std::array<T, 3> &x,
892 const std::array<T, 3> &y
903z[0] = x[1] * y[2] - x[2] * y[1];
904z[1] = x[2] * y[0] - x[0] * y[2];
905z[2] = x[0] * y[1] - x[1] * y[0];
921 const std::array<T, 2> &x,
922 const std::array<T, 2> &y
933z = x[0] * y[1] - x[1] * y[0];
std::array< T, d > abs(const std::array< T, d > &x)
void sum(const std::array< T, d > &x, T1 &s)
double norm(const std::array< T, d > &x, int p)
std::array< T, 3 > crossProduct(const std::array< T, 3 > &x, const std::array< T, 3 > &y)
void maxval(const std::array< T, d > &x, T1 &max_value)
void minval(const std::array< T, d > &x, T1 &min_value)
T dotProduct(const std::array< T, d > &x, const std::array< T, d > &y)
double norm1(const std::array< T, d > &x)
double norm2(const std::array< T, d > &x)
std::array< T, d > max(const std::array< T, d > &x, const std::array< T, d > &y)
double normInf(const std::array< T, d > &x)
std::array< T, d > pow(std::array< T, d > &x, double p)
std::array< T, d > min(const std::array< T, d > &x, const std::array< T, d > &y)