A high-performance general-purpose compute library

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

Modules

 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). More...
 
AFAPI void eval (int num, array **arrays)
 Evaluate multiple arrays simultaneously. More...
 
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). More...
 
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. More...
 
AFAPI bool getManualEvalFlag ()
 Get the manual eval flag. More...
 

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, and graphics/fractal.cpp.

Definition at line 1509 of file array.h.

1517{

◆ eval() [2/13]

void eval ( array a,
array b 
)
inline

Definition at line 1518 of file array.h.

1519 {&a, &b};
1520 return eval(2, arrays);
1521#else
1522 eval(a); b.eval();
1523#endif
1524 }
1525
1526 inline void eval(array &a, array &b, array &c)
array & eval(array &a)
Evaluate an expression (nonblocking).
Definition: array.h:1509

◆ eval() [3/13]

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

Definition at line 1528 of file array.h.

1529 {&a, &b, &c};
1530 return eval(3, arrays);
1531#else
1532 eval(a, b); c.eval();
1533#endif
1534 }
1535
1536 inline void eval(array &a, array &b, array &c, array &d)

◆ eval() [4/13]

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

Definition at line 1538 of file array.h.

1539 {&a, &b, &c, &d};
1540 return eval(4, arrays);
1541#else
1542 eval(a, b, c); d.eval();
1543#endif
1544
1545 }
1546
1547 inline void eval(array &a, array &b, array &c, array &d, array &e)

◆ eval() [5/13]

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

Definition at line 1549 of file array.h.

1550 {&a, &b, &c, &d, &e};
1551 return eval(5, arrays);
1552#else
1553 eval(a, b, c, d); e.eval();
1554#endif
1555 }
1556
1557 inline void eval(array &a, array &b, array &c, array &d, array &e, array &f)

◆ eval() [6/13]

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

Definition at line 1559 of file array.h.

1560 {&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 }
1566
1567#if AF_API_VERSION >= 37

◆ eval() [7/13]

const array & eval ( const array a)
inline

Evaluate an expression (nonblocking).

Definition at line 1572 of file array.h.

1574{

◆ eval() [8/13]

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

Definition at line 1583 of file array.h.

1583 {&a, &b};
1584 return eval(2, const_cast<array **>(arrays));
1585 }
1586
1587 inline void eval(const array &a, const array &b, const array &c)

◆ eval() [9/13]

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

Definition at line 1589 of file array.h.

1589 {&a, &b, &c};
1590 return eval(3, const_cast<array **>(arrays));
1591 }
1592
1593 inline void eval(const array &a, const array &b, const array &c,

◆ eval() [10/13]

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

Definition at line 1595 of file array.h.

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

◆ eval() [11/13]

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

Definition at line 1602 of file array.h.

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

◆ 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 1609 of file array.h.

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

◆ 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.