Add code block in boxing docs to better spacing
MODIFY
doc/internal/boxing.md
doc/internal/boxing.md
@@ -15,14 +15,14 @@ Some values (called immediate values, e.g. integers, booleans, symbols, etc.) ar
The Word boxing packing bit patterns are like following:
| Types | Bit Pattern |
-|--------|-------------------------------------|
-| object | xxxxxxxx xxxxxxxx xxxxxxxx xxxxx000 |
-| fixnum | xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxx1 |
-| nil | 00000000 00000000 00000000 00000000 |
-| true | 00000000 00000000 00000000 00001100 |
-| false | 00000000 00000000 00000000 00000100 |
-| undef | 00000000 00000000 00000000 00010100 |
-| symbol | xxxxxxxx xxxxxxxx xxxxxxxx xxxxxx10 |
+|--------|---------------------------------------|
+| object | `xxxxxxxx xxxxxxxx xxxxxxxx xxxxx000` |
+| fixnum | `xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxx1` |
+| nil | `00000000 00000000 00000000 00000000` |
+| true | `00000000 00000000 00000000 00001100` |
+| false | `00000000 00000000 00000000 00000100` |
+| undef | `00000000 00000000 00000000 00010100` |
+| symbol | `xxxxxxxx xxxxxxxx xxxxxxxx xxxxxx10` |
On 64 bit platform (unless `MRB_WORDBOX_NO_FLOAT_TRUNCATE`), float values are also packed in the `mrb_value`. In that case, we drop least significant 2 bits from mantissa.
If you need full precision for floating-point numbers, define `MRB_WORDBOX_NO_FLOAT_TRUNCATE`.
@@ -34,16 +34,16 @@ NaN boxing packs the Ruby data in a floating-point numbers, which represent NaN
The NaN boxing packing bit patterns are like following:
| Types | Bit Pattern |
-|--------|-------------------------------------------------------------------------|
-| float | SEEEEEEE EEEEFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |
-| +/-inf | S1111111 11110000 00000000 00000000 00000000 00000000 00000000 00000000 |
-| nan | 01111111 11111000 00000000 00000000 00000000 00000000 00000000 00000000 |
-| fixnum | 01111111 11111001 00000000 00000000 IIIIIIII IIIIIIII IIIIIIII IIIIIIII |
-| symbol | 01111111 11111110 00000000 00000000 SSSSSSSS SSSSSSSS SSSSSSSS SSSSSSSS |
-| misc | 01111111 11111111 00000000 00000000 00000000 00000000 00TTTTTT 0000MMMM |
-| object | 01111111 11111100 PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPP00 |
-| ptr | 01111111 11111100 PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPP01 |
-| nil | 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 |
+|--------|---------------------------------------------------------------------------|
+| float | `SEEEEEEE EEEEFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF` |
+| +/-inf | `S1111111 11110000 00000000 00000000 00000000 00000000 00000000 00000000` |
+| nan | `01111111 11111000 00000000 00000000 00000000 00000000 00000000 00000000` |
+| fixnum | `01111111 11111001 00000000 00000000 IIIIIIII IIIIIIII IIIIIIII IIIIIIII` |
+| symbol | `01111111 11111110 00000000 00000000 SSSSSSSS SSSSSSSS SSSSSSSS SSSSSSSS` |
+| misc | `01111111 11111111 00000000 00000000 00000000 00000000 00TTTTTT 0000MMMM` |
+| object | `01111111 11111100 PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPP00` |
+| ptr | `01111111 11111100 PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPPPP PPPPPP01` |
+| nil | `00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000` |
The object values appear far more frequently than floating-point numbers, so we offset the value so that object pointers are unchanged. This technique is called "favor pointer"".

Add code block in boxing docs to better spacing