octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unnecessary initialization in octave_matrix::double_value ?


From: Julien Bect
Subject: Re: Unnecessary initialization in octave_matrix::double_value ?
Date: Sun, 28 Aug 2016 10:16:58 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.1.0

Le 28/08/2016 à 10:12, Julien Bect a écrit :
Hi all,

I have a (probably naive) C++ question concerning the implementation of octave_matrix::double_value ().

It is currently written like this:

double
octave_matrix::double_value (bool) const
{
  double retval = lo_ieee_nan_value ();

  if (is_empty ())
    err_invalid_conversion ("real matrix", "real scalar");

  warn_implicit_conversion ("Octave:array-to-scalar",
                            "real matrix", "real scalar");

  retval = matrix(0, 0);

  return retval;
}

I don't understand the point of initializing retval with the result of lo_ieee_nan_value (). Would it be correct to simply write:

double
octave_matrix::double_value (bool) const
{
  if (is_empty ())
    err_invalid_conversion ("real matrix", "real scalar");

  warn_implicit_conversion ("Octave:array-to-scalar",
                            "real matrix", "real scalar");

  return matrix (0, 0);
}

?

One more thing: while grep for ::float_value and ::double_value, I noticed that all of them declare retval at the beginning, but only some of them initialize it with lo_ieee_nan_value (or lo_ieee_float_nan_value).

@++
Julien



reply via email to

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