/** The 'bad' tarval. */
extern tarval *tarval_bad;
-/** Returns the 'bad tarval. */
+/** Returns the 'bad' tarval. */
tarval *get_tarval_bad(void);
/** The 'undefined' tarval. */
/** Returns the mode_b tarval 'true'. */
tarval *get_tarval_b_true(void);
+/** The 'top' tarval. This is just another name for the 'undefined' tarval. */
+#define tarval_top tarval_undefined
+/** Returns the 'top' tarval. */
+#define get_tarval_top() get_tarval_undefined()
+
+/** The 'bottom' tarval. This is just another name for the 'bad' tarval. */
+#define tarval_bottom tarval_bad
+/** Returns the 'bottom' tarval. */
+#define get_tarval_bottom() get_tarval_bad()
+
/* These functions calculate and return a tarval representing the requested
* value.
* The functions get_mode_{Max,Min,...} return tarvals retrieved from these
/** Signed (arithmetic) right shift. */
tarval *tarval_shrs(tarval *a, tarval *b);
-/** Rotation. */
-tarval *tarval_rot(tarval *a, tarval *b);
+/** Rotation to left. */
+tarval *tarval_rotl(tarval *a, tarval *b);
/**
* Returns the carry flag of the last operation.
*/
int tarval_is_finite(tarval *tv);
+/**
+ * Checks whether a pointer points to a tarval.
+ *
+ * @param thing an arbitrary pointer
+ *
+ * @return
+ * true if the thing is a tarval, else false
+ */
+int is_tarval(const void *thing);
+
#endif /* FIRM_TV_TV_H */