A high-performance general-purpose compute library

constant, random, range, etc. More...

Topics

 Random Number Generation
 Random Number Generation Functions.
 constant
 Create an array from a scalar input value.
 diag
 Extract the diagonal from an array.
 identity
 Generate an identity matrix.
 iota
 Generate an array with [0, n-1] values modified to specified dimensions and tiling.
 lower
 Return the lower triangular matrix from an input array.
 pad
 Pad an array.
 range
 Generate an array with [0, n-1] values along the a specified dimension and tiled across other dimensions.
 upper
 Return the upper triangular matrix from an input array.
arrayeval (array &a)
 Evaluate an expression (nonblocking).
AFAPI void eval (int num, array **arrays)
 Evaluate multiple arrays simultaneously.
void eval (array &a, array &b)
void eval (array &a, array &b, array &c)
void eval (array &a, array &b, array &c, array &d)
void eval (array &a, array &b, array &c, array &d, array &e)
void eval (array &a, array &b, array &c, array &d, array &e, array &f)
const arrayeval (const array &a)
 Evaluate an expression (nonblocking).
void eval (const array &a, const array &b)
void eval (const array &a, const array &b, const array &c)
void eval (const array &a, const array &b, const array &c, const array &d)
void eval (const array &a, const array &b, const array &c, const array &d, const array &e)
void eval (const array &a, const array &b, const array &c, const array &d, const array &e, const array &f)
AFAPI void setManualEvalFlag (bool flag)
 Turn the manual eval flag on or off.
AFAPI bool getManualEvalFlag ()
 Get the manual eval flag.

Detailed Description

constant, random, range, etc.

Function Documentation

◆ eval() [1/13]

array & eval ( array & a)
inline

Evaluate an expression (nonblocking).

Examples
financial/black_scholes_options.cpp, graphics/fractal.cpp, and pde/swe.cpp.

Definition at line 1507 of file array.h.

1507{ a.eval(); return a; }
void eval() const
Evaluate any JIT expressions to generate data for the array.

◆ eval() [2/13]

void eval ( array & a,
array & b )
inline

Definition at line 1516 of file array.h.

1517 {
1518#if AF_API_VERSION >= 34
1519 array *arrays[] = {&a, &b};
1520 return eval(2, arrays);
1521#else
1522 eval(a); b.eval();
1523#endif
1524 }
A multi dimensional data container.
Definition array.h:37
array & eval(array &a)
Evaluate an expression (nonblocking).
Definition array.h:1507

◆ eval() [3/13]

void eval ( array & a,
array & b,
array & c )
inline

Definition at line 1526 of file array.h.

1527 {
1528#if AF_API_VERSION >= 34
1529 array *arrays[] = {&a, &b, &c};
1530 return eval(3, arrays);
1531#else
1532 eval(a, b); c.eval();
1533#endif
1534 }

◆ eval() [4/13]

void eval ( array & a,
array & b,
array & c,
array & d )
inline

Definition at line 1536 of file array.h.

1537 {
1538#if AF_API_VERSION >= 34
1539 array *arrays[] = {&a, &b, &c, &d};
1540 return eval(4, arrays);
1541#else
1542 eval(a, b, c); d.eval();
1543#endif
1544
1545 }

◆ eval() [5/13]

void eval ( array & a,
array & b,
array & c,
array & d,
array & e )
inline

Definition at line 1547 of file array.h.

1548 {
1549#if AF_API_VERSION >= 34
1550 array *arrays[] = {&a, &b, &c, &d, &e};
1551 return eval(5, arrays);
1552#else
1553 eval(a, b, c, d); e.eval();
1554#endif
1555 }

◆ eval() [6/13]

void eval ( array & a,
array & b,
array & c,
array & d,
array & e,
array & f )
inline

Definition at line 1557 of file array.h.

1558 {
1559#if AF_API_VERSION >= 34
1560 array *arrays[] = {&a, &b, &c, &d, &e, &f};
1561 return eval(6, arrays);
1562#else
1563 eval(a, b, c, d, e); f.eval();
1564#endif
1565 }

◆ eval() [7/13]

const array & eval ( const array & a)
inline

Evaluate an expression (nonblocking).

Definition at line 1570 of file array.h.

1570{ a.eval(); return a; }

◆ eval() [8/13]

void eval ( const array & a,
const array & b )
inline

Definition at line 1581 of file array.h.

1582 {
1583 const array *arrays[] = {&a, &b};
1584 return eval(2, const_cast<array **>(arrays));
1585 }

◆ eval() [9/13]

void eval ( const array & a,
const array & b,
const array & c )
inline

Definition at line 1587 of file array.h.

1588 {
1589 const array *arrays[] = {&a, &b, &c};
1590 return eval(3, const_cast<array **>(arrays));
1591 }

◆ eval() [10/13]

void eval ( const array & a,
const array & b,
const array & c,
const array & d )
inline

Definition at line 1593 of file array.h.

1595 {
1596 const array *arrays[] = {&a, &b, &c, &d};
1597 return eval(4, const_cast<array **>(arrays));
1598 }

◆ eval() [11/13]

void eval ( const array & a,
const array & b,
const array & c,
const array & d,
const array & e )
inline

Definition at line 1600 of file array.h.

1602 {
1603 const array *arrays[] = {&a, &b, &c, &d, &e};
1604 return eval(5, const_cast<array **>(arrays));
1605 }

◆ eval() [12/13]

void eval ( const array & a,
const array & b,
const array & c,
const array & d,
const array & e,
const array & f )
inline

Definition at line 1607 of file array.h.

1609 {
1610 const array *arrays[] = {&a, &b, &c, &d, &e, &f};
1611 return eval(6, const_cast<array **>(arrays));
1612 }

◆ eval() [13/13]

AFAPI void eval ( int num,
array ** arrays )

Evaluate multiple arrays simultaneously.

◆ getManualEvalFlag()

AFAPI bool getManualEvalFlag ( )

Get the manual eval flag.

◆ setManualEvalFlag()

AFAPI void setManualEvalFlag ( bool flag)

Turn the manual eval flag on or off.