Mercurial > octave
view liboctave/system/mach-info.h @ 22323:bac0d6f07a3e
maint: Update copyright notices for 2016.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 17 Aug 2016 01:05:19 -0400 |
parents | 949cb46e6bdb |
children | 4caa7b28d183 |
line wrap: on
line source
/* Copyright (C) 1996-2016 John W. Eaton This file is part of Octave. Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <http://www.gnu.org/licenses/>. */ #if ! defined (octave_mach_info_h) #define octave_mach_info_h 1 #include "octave-config.h" #include <string> namespace octave { class OCTAVE_API mach_info { protected: mach_info (void); public: enum float_format { flt_fmt_unknown, flt_fmt_ieee_little_endian, flt_fmt_ieee_big_endian, }; static bool instance_ok (void); static float_format native_float_format (void); static bool words_big_endian (void); static bool words_little_endian (void); static float_format string_to_float_format (const std::string&); static std::string float_format_as_string (float_format); private: static mach_info *instance; static void cleanup_instance (void) { delete instance; instance = 0; } // The floating point format for the current machine. mutable float_format native_float_fmt; // TRUE if the byte order on this system is big endian. mutable bool big_chief; // No copying! mach_info (const mach_info&); mach_info& operator = (const mach_info&); }; } #if defined (OCTAVE_USE_DEPRECATED_FUNCTIONS) OCTAVE_DEPRECATED ("use 'octave::mach_info' instead") typedef octave::mach_info oct_mach_info; #endif #endif