Mercurial > octave
diff liboctave/util/lo-utils.h @ 31608:23664317f0d3
maint: merge stable to default
author | Rik <rik@octave.org> |
---|---|
date | Thu, 01 Dec 2022 20:05:44 -0800 |
parents | dfa5d9c3ae72 aac27ad79be6 |
children | 5f11de0e7440 |
line wrap: on
line diff
--- a/liboctave/util/lo-utils.h Thu Dec 01 14:28:07 2022 -0800 +++ b/liboctave/util/lo-utils.h Thu Dec 01 20:05:44 2022 -0800 @@ -38,100 +38,100 @@ OCTAVE_BEGIN_NAMESPACE(octave) - // Generic any/all test functionality with arbitrary predicate. +// Generic any/all test functionality with arbitrary predicate. - template <typename F, typename T, bool zero> - bool - any_all_test (F fcn, const T *m, octave_idx_type len) - { - octave_idx_type i; +template <typename F, typename T, bool zero> +bool +any_all_test (F fcn, const T *m, octave_idx_type len) +{ + octave_idx_type i; - for (i = 0; i < len - 3; i += 4) - { - octave_quit (); + for (i = 0; i < len - 3; i += 4) + { + octave_quit (); - if (fcn (m[i]) != zero - || fcn (m[i+1]) != zero - || fcn (m[i+2]) != zero - || fcn (m[i+3]) != zero) - return ! zero; - } + if (fcn (m[i]) != zero + || fcn (m[i+1]) != zero + || fcn (m[i+2]) != zero + || fcn (m[i+3]) != zero) + return ! zero; + } - octave_quit (); + octave_quit (); - for (; i < len; i++) - if (fcn (m[i]) != zero) - return ! zero; + for (; i < len; i++) + if (fcn (m[i]) != zero) + return ! zero; - return zero; - } + return zero; +} - extern OCTAVE_API bool xis_int_or_inf_or_nan (double x); +extern OCTAVE_API bool xis_int_or_inf_or_nan (double x); - template <typename T> - bool is_one_or_zero (const T& x) - { - return x == T (0) || x == T (1); - } +template <typename T> +bool is_one_or_zero (const T& x) +{ + return x == T (0) || x == T (1); +} - template <typename T> - bool is_zero (const T& x) - { - return x == T (0); - } +template <typename T> +bool is_zero (const T& x) +{ + return x == T (0); +} - extern OCTAVE_API bool too_large_for_float (double x); +extern OCTAVE_API bool too_large_for_float (double x); - extern OCTAVE_API bool too_large_for_float (const Complex& x); +extern OCTAVE_API bool too_large_for_float (const Complex& x); - extern OCTAVE_API bool is_int_or_inf_or_nan (float x); - extern OCTAVE_API bool too_large_for_float (float x); +extern OCTAVE_API bool is_int_or_inf_or_nan (float x); +extern OCTAVE_API bool too_large_for_float (float x); - extern OCTAVE_API char * strsave (const char *); +extern OCTAVE_API char * strsave (const char *); - extern OCTAVE_API std::string fgets (std::FILE *); - extern OCTAVE_API std::string fgetl (std::FILE *); +extern OCTAVE_API std::string fgets (std::FILE *); +extern OCTAVE_API std::string fgetl (std::FILE *); - extern OCTAVE_API std::string fgets (std::FILE *, bool& eof); - extern OCTAVE_API std::string fgetl (std::FILE *, bool& eof); +extern OCTAVE_API std::string fgets (std::FILE *, bool& eof); +extern OCTAVE_API std::string fgetl (std::FILE *, bool& eof); - template <typename T> OCTAVE_API T read_value (std::istream& is); +template <typename T> OCTAVE_API T read_value (std::istream& is); - template <> OCTAVE_API double read_value (std::istream& is); - template <> OCTAVE_API Complex read_value (std::istream& is); - template <> OCTAVE_API float read_value (std::istream& is); - template <> OCTAVE_API FloatComplex read_value (std::istream& is); +template <> OCTAVE_API double read_value (std::istream& is); +template <> OCTAVE_API Complex read_value (std::istream& is); +template <> OCTAVE_API float read_value (std::istream& is); +template <> OCTAVE_API FloatComplex read_value (std::istream& is); - template <typename T> OCTAVE_API void write_value (std::ostream& os, const T& value); +template <typename T> OCTAVE_API void write_value (std::ostream& os, const T& value); - template <> OCTAVE_API void write_value (std::ostream& os, const double& value); - template <> OCTAVE_API void write_value (std::ostream& os, const Complex& value); - template <> OCTAVE_API void write_value (std::ostream& os, const float& value); - template <> OCTAVE_API void write_value (std::ostream& os, const FloatComplex& value); +template <> OCTAVE_API void write_value (std::ostream& os, const double& value); +template <> OCTAVE_API void write_value (std::ostream& os, const Complex& value); +template <> OCTAVE_API void write_value (std::ostream& os, const float& value); +template <> OCTAVE_API void write_value (std::ostream& os, const FloatComplex& value); OCTAVE_BEGIN_NAMESPACE(math) - extern OCTAVE_API bool int_multiply_overflow (int a, int b, int *r); +extern OCTAVE_API bool int_multiply_overflow (int a, int b, int *r); - extern OCTAVE_API bool - int_multiply_overflow (long int a, long int b, long int *r); +extern OCTAVE_API bool +int_multiply_overflow (long int a, long int b, long int *r); #if defined (OCTAVE_HAVE_LONG_LONG_INT) - extern OCTAVE_API bool - int_multiply_overflow (long long int a, long long int b, long long int *r); +extern OCTAVE_API bool +int_multiply_overflow (long long int a, long long int b, long long int *r); #endif - extern OCTAVE_API bool - int_multiply_overflow (unsigned int a, unsigned int b, unsigned int *r); +extern OCTAVE_API bool +int_multiply_overflow (unsigned int a, unsigned int b, unsigned int *r); - extern OCTAVE_API bool - int_multiply_overflow (unsigned long int a, unsigned long int b, - unsigned long int *r); +extern OCTAVE_API bool +int_multiply_overflow (unsigned long int a, unsigned long int b, + unsigned long int *r); #if defined (OCTAVE_HAVE_UNSIGNED_LONG_LONG_INT) - extern OCTAVE_API bool - int_multiply_overflow (unsigned long long int a, unsigned long long int b, - unsigned long long int *r); +extern OCTAVE_API bool +int_multiply_overflow (unsigned long long int a, unsigned long long int b, + unsigned long long int *r); #endif OCTAVE_END_NAMESPACE(math)