tmp/tmpj5zvcexj/{from.md → to.md}
RENAMED
|
@@ -24,10 +24,12 @@ yields correct values of `U` and `V`.
|
|
| 24 |
| | `R2::num * R1::den` | |
|
| 25 |
| `ratio_multiply<R1, R2>` | `R1::num * R2::num` | `R1::den * R2::den` |
|
| 26 |
| `ratio_divide<R1, R2>` | `R1::num * R2::den` | `R1::den * R2::num` |
|
| 27 |
|
| 28 |
|
|
|
|
|
|
|
| 29 |
``` cpp
|
| 30 |
static_assert(ratio_add<ratio<1, 3>, ratio<1, 6>>::num == 1, "1/3+1/6 == 1/2");
|
| 31 |
static_assert(ratio_add<ratio<1, 3>, ratio<1, 6>>::den == 2, "1/3+1/6 == 1/2");
|
| 32 |
static_assert(ratio_multiply<ratio<1, 3>, ratio<3, 2>>::num == 1, "1/3*3/2 == 1/2");
|
| 33 |
static_assert(ratio_multiply<ratio<1, 3>, ratio<3, 2>>::den == 2, "1/3*3/2 == 1/2");
|
|
@@ -41,5 +43,7 @@ static_assert(ratio_multiply<ratio<1,INT_MAX>, ratio<INT_MAX,2>>::num == 1,
|
|
| 41 |
"1/MAX * MAX/2 == 1/2");
|
| 42 |
static_assert(ratio_multiply<ratio<1, INT_MAX>, ratio<INT_MAX, 2>>::den == 2,
|
| 43 |
"1/MAX * MAX/2 == 1/2");
|
| 44 |
```
|
| 45 |
|
|
|
|
|
|
|
|
|
| 24 |
| | `R2::num * R1::den` | |
|
| 25 |
| `ratio_multiply<R1, R2>` | `R1::num * R2::num` | `R1::den * R2::den` |
|
| 26 |
| `ratio_divide<R1, R2>` | `R1::num * R2::den` | `R1::den * R2::num` |
|
| 27 |
|
| 28 |
|
| 29 |
+
[*Example 1*:
|
| 30 |
+
|
| 31 |
``` cpp
|
| 32 |
static_assert(ratio_add<ratio<1, 3>, ratio<1, 6>>::num == 1, "1/3+1/6 == 1/2");
|
| 33 |
static_assert(ratio_add<ratio<1, 3>, ratio<1, 6>>::den == 2, "1/3+1/6 == 1/2");
|
| 34 |
static_assert(ratio_multiply<ratio<1, 3>, ratio<3, 2>>::num == 1, "1/3*3/2 == 1/2");
|
| 35 |
static_assert(ratio_multiply<ratio<1, 3>, ratio<3, 2>>::den == 2, "1/3*3/2 == 1/2");
|
|
|
|
| 43 |
"1/MAX * MAX/2 == 1/2");
|
| 44 |
static_assert(ratio_multiply<ratio<1, INT_MAX>, ratio<INT_MAX, 2>>::den == 2,
|
| 45 |
"1/MAX * MAX/2 == 1/2");
|
| 46 |
```
|
| 47 |
|
| 48 |
+
— *end example*]
|
| 49 |
+
|