exint 0.1.4

An implementation of generic signed and unsigned integers.
Documentation
Calculates the midpoint (average) between `self` and `rhs`.

`midpoint(a, b)` is `(a + b) >> 1` as if it were performed in a
sufficiently-large signed integral type. This implies that the result is always
rounded towards negative infinity and that no overflow will ever occur.

# Examples

Basic usage:

```
# use ::exint::primitive::*;
# ::exint::uint! {
assert_eq!(0_i24.midpoint(4_i24), 2_i24);
assert_eq!(-1_i24.midpoint(2_i24), 0_i24);
assert_eq!(-7_i24.midpoint(0_i24), -3_i24);
assert_eq!(0_i24.midpoint(-7_i24), -3_i24);
assert_eq!(0_i24.midpoint(7_i24), 3_i24);
# }
```