Changes between Version 140 and Version 141 of IR


Ignore:
Timestamp:
01/11/16 19:28:17 (10 years ago)
Author:
zmanchun
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IR

    v140 v141  
    109109* `Domain[n]`, n is an integer at least 1; subtype of `Domain` in which all tuples have arity n.
    110110* `Enum` types.
    111  * **different from integers or like C?**
     111 * different from integers or like C
    112112* The **numeric types**
    113113 * The **integral types**
     
    116116   * `lo`, `hi` are concrete (?) integers, `wrap` is boolean
    117117   * finite interval of integers `[lo,hi]`.  If `wrap` is true then all operations "wrap", otherwise, any operation resulting in a value outside of the interval results in an exception being thrown.
    118    * **Do we want to allow `lo` and `hi` to be any values of type `Integer`, which means they are dynamic types, like complete array types?**
     118   * `lo` and `hi` can be any values of type `Integer`, so they are dynamic types, like complete array types
    119119 * The **real types**
    120120  * `Real` : the mathematical real numbers
    121121  * `Float[e,f]`, `e`, `f` are concrete integers, each at least 1. 
    122    * IEEE754 floating point numbers.  This type includes NaNs, negative 0s, infinities, etc.
     122   * IEEE754 floating point numbers.  This type includes `NaNs`, negative 0s, infinities, etc.
    123123 * Herbrand[T], for a non-Herbrand numeric type `T`
    124124  * the values of this type are (unsimplified) symbolic expressions.  Each numeric operator is treated as an uninterpreted function.  The leaf nodes in an expression are values of type `T`.  Two values are equal iff the two symbolic expressions are identical (using equality in `T` on the leaf nodes).  A value of Herbrand type may therefore be thought of as representing an expression in `T` but where all the numerical operations have been "delayed".