[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] qobject: Explain how QNum works, and why
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH] qobject: Explain how QNum works, and why |
Date: |
Thu, 24 Aug 2017 20:20:48 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Eric Blake <address@hidden> writes:
> On 08/22/2017 01:52 AM, Markus Armbruster wrote:
>> Suggested-by: Max Reitz <address@hidden>
>> Signed-off-by: Markus Armbruster <address@hidden>
>> ---
>> include/qapi/qmp/qnum.h | 21 +++++++++++++++++++++
>> 1 file changed, 21 insertions(+)
>>
>> diff --git a/include/qapi/qmp/qnum.h b/include/qapi/qmp/qnum.h
>> index 09d745c..9182129 100644
>> --- a/include/qapi/qmp/qnum.h
>> +++ b/include/qapi/qmp/qnum.h
>> @@ -23,6 +23,27 @@ typedef enum {
>> QNUM_DOUBLE
>> } QNumKind;
>>
>> +/*
>> + * QNum encapsulates how our dialect of JSON fills in the blanks left
>> + * by the JSON specification (RFC 7159) regarding numbers.
>> + *
>> + * Conceptually, we treat number as an abstract type with three
>> + * concrete subtypes: floating-point, signed integer, unsigned
>> + * integer. QNum implements this a discriminated union of double,
>
> s/this/this as/
>
>> + * int64_t, uint64_t.
>> + *
>> + * The JSON parser picks the subtype as follows. If the number has a
>> + * decimal point or an exponent, it is floating-point. Else if it
>> + * fits into int64_t, it's signed integer. Else if it first into
>
> s/first/fits/
>
>> + * uint64_t, it's unsigned integer. Else it's floating-point.
>> + *
>> + * Any number can serve as double: qnum_get_double() converts under
>> + * the hood.
>> + *
>> + * An integer can serve as signed / unsigned integer as long as it is
>> + * in range: qnum_get_try_int() / qnum_get_try_uint() check range and
>> + * convert under the hood.
>> + */
>> typedef struct QNum {
>> QObject base;
>> QNumKind kind;
>>
Fixed. Thanks!
- [Qemu-devel] [PATCH] qobject: Explain how QNum works, and why, Markus Armbruster, 2017/08/22
- Re: [Qemu-devel] [PATCH] qobject: Explain how QNum works, and why, Marc-André Lureau, 2017/08/22
- Re: [Qemu-devel] [PATCH] qobject: Explain how QNum works, and why, Max Reitz, 2017/08/22
- Re: [Qemu-devel] [PATCH] qobject: Explain how QNum works, and why, Eric Blake, 2017/08/24
- Re: [Qemu-devel] [PATCH] qobject: Explain how QNum works, and why,
Markus Armbruster <=