qemu-devel
[Top][All Lists]
Advanced

[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!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]