[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

Formally, expanding `z`

into `z`

and `w`

in
abstract value (predicate) `P`

is defined by
*expand(P(x,y,z),z,w) = P(x,y,z) and P(x,y,w)*.

Conversely, folding `z`

and `w`

into `z`

in
abstract value (predicate) `Q`

is defined by
*fold(Q(x,y,z,w),z,w) = (exists w: Q(x,y,z,w)) or (exists z:Q(x,y,z,w)[z<-w])*.

__Function:__ap_abstract0_t***ap_abstract0_expand***(ap_manager_t**`man`, bool`destructive`, ap_abstract0_t*`a`, ap_dim_t`dim`, size_t`n`)- Expand the dimension
`dim`into itself +`n`additional dimensions.It results in

`n+1`

unrelated dimensions having same relations with other dimensions. The`n+1`dimensions are put as follows:- original dimension
`dim`; - if
`dim`is integer, the`n`additional dimensions are put at the end of integer dimensions; if it is real, at the end of the real dimensions.

- original dimension

__Function:__ap_abstract0_t***ap_abstract0_fold***(ap_manager_t**`man`, bool`destructive`, ap_abstract0_t*`a`, ap_dim_t*`tdim`, size_t`size`)- Fold the dimensions in the array
`tdim`of size`size`>=1 and put the result in the first dimension in the array*assumed to be sorted*. The other dimensions of the array are then removed.

This document was generated on