TEST(minijson_writer, invalid_floats)
{
    std::stringstream stream;
    minijson::object_writer writer(stream);
    writer.write("posinfinity", 1.0 / return_zero());
    writer.write("neginfinity", -1.0 / return_zero());
    writer.write("nan", 0.0 / return_zero());
    writer.close();
    ASSERT_EQ("{\"posinfinity\":null,\"neginfinity\":null,\"nan\":null}", stream.str());
}
Exemplo n.º 2
0
/* ----------------------------- MNI Header -----------------------------------
@NAME       : acr_get_numeric_vr
@INPUT      : vr_code - the internal VR code
              byte_order - ACR_BIG_ENDIAN or ACR_LITTLE_ENDIAN
              data - the data to convert
              data_length - the length of the data
@OUTPUT     : (none)
@RETURNS    : The converted value.
@DESCRIPTION: Convert a value to a number according to its VR.
@METHOD     : 
@GLOBALS    : 
@CALLS      : 
@CREATED    : January 31, 1997 (Peter Neelin)
@MODIFIED   : 
---------------------------------------------------------------------------- */
double acr_get_numeric_vr(Acr_VR_Type vr_code, 
                          Acr_byte_order byte_order,
                          char *data, long data_length)
{
   Acr_VR_Entry *entry;

   if ((entry = get_vr_entry(vr_code)) == NULL) {
      return return_zero(entry, byte_order, data, data_length);
   }
   return entry->convert_to_numeric(entry, byte_order, data, data_length);
}