diff liboctave/data-conv.h @ 4944:44046bbaa52c

[project @ 2004-08-31 05:30:46 by jwe]
author jwe
date Tue, 31 Aug 2004 05:30:47 +0000
parents 85027c5aedc2
children 25c2664861bc
line wrap: on
line diff
--- a/liboctave/data-conv.h	Tue Aug 31 00:51:31 2004 +0000
+++ b/liboctave/data-conv.h	Tue Aug 31 05:30:47 2004 +0000
@@ -66,23 +66,41 @@
 
   enum data_type
     {
-      dt_unknown,
-      dt_char,
-      dt_schar,
-      dt_uchar,
-      dt_short,
-      dt_ushort,
-      dt_int,
-      dt_uint,
-      dt_long,
-      dt_ulong,
-      dt_float,
-      dt_double,
-      dt_float_complex,
-      dt_double_complex
+      dt_int8      =  0,
+      dt_uint8     =  1,
+      dt_int16     =  2,
+      dt_uint16    =  3,
+      dt_int32     =  4,
+      dt_uint32    =  5,
+      dt_int64     =  6,
+      dt_uint64    =  7,
+      dt_single    =  8,
+      dt_double    =  9,
+      dt_char      = 10,
+      dt_schar     = 11,
+      dt_uchar     = 12,
+      dt_short     = 13,
+      dt_ushort    = 14,
+      dt_int       = 15,
+      dt_uint      = 16,
+      dt_long      = 17,
+      dt_ulong     = 18,
+      dt_longlong  = 19,
+      dt_ulonglong = 20,
+      dt_float     = 21,
+      dt_unknown   = 22 // Must be last, have largest value!
     };
 
   static data_type string_to_data_type (const std::string& s);
+
+  static void string_to_data_type (const std::string& s, int& block_size,
+				   data_type& input_type,
+				   data_type& output_type);
+
+  static void string_to_data_type (const std::string& s, int& block_size,
+				   data_type& output_type);
+
+  static std::string data_type_as_string (data_type dt);
 };
 
 // Add new entries to the end of this enum, otherwise Octave will not
@@ -104,16 +122,26 @@
   };
 
 extern void
-do_double_format_conversion (double *data, int len,
-			     oct_mach_info::float_format fmt);
+do_double_format_conversion (void *data, int len,
+			     oct_mach_info::float_format from_fmt,
+			     oct_mach_info::float_format to_fmt
+			       = oct_mach_info::native_float_format ());
 
 extern void
-do_float_format_conversion (float *data, int len,
-			    oct_mach_info::float_format fmt);
+do_float_format_conversion (void *data, int len,
+			    oct_mach_info::float_format from_fmt,
+			    oct_mach_info::float_format to_fmt
+			      = oct_mach_info::native_float_format ());
+
+extern void
+do_float_format_conversion (void *data, size_t sz, int len,
+			    oct_mach_info::float_format from_fmt,
+			    oct_mach_info::float_format to_fmt
+			      = oct_mach_info::native_float_format ());
 
 extern void
 read_doubles (std::istream& is, double *data, save_type type, int len,
-	      int swap, oct_mach_info::float_format fmt);
+	      bool swap, oct_mach_info::float_format fmt);
 extern void
 write_doubles (std::ostream& os, const double *data, save_type type, int len);