lsb_err_value lsb_serialize_double(lsb_output_buffer *ob, double d)
{
  if (isnan(d)) {
    return lsb_outputs(ob, "0/0", 3);
  }
  if (d == INFINITY) {
    return lsb_outputs(ob, "1/0", 3);
  }
  if (d == -INFINITY) {
    return lsb_outputs(ob, "-1/0", 4);
  }
  return lsb_outputfd(ob, d);
}
示例#2
0
lsb_err_value lsb_outputd(lsb_output_buffer *b, double d)
{
  if (!b) return LSB_ERR_UTIL_NULL;

  if (isnan(d)) {
    return lsb_outputs(b, "nan", 3);
  }
  if (d == INFINITY) {
    return lsb_outputs(b, "inf", 3);
  }
  if (d == -INFINITY) {
    return lsb_outputs(b, "-inf", 4);
  }
  return lsb_outputfd(b, d);
}