Mercurial > hg > octave-lojdl
comparison src/ov-str-mat.cc @ 2376:2142216bf85a
[project @ 1996-10-12 01:39:07 by jwe]
author | jwe |
---|---|
date | Sat, 12 Oct 1996 01:39:21 +0000 |
parents | |
children | 4f55dc039a7e |
comparison
equal
deleted
inserted
replaced
2375:7ef24992e290 | 2376:2142216bf85a |
---|---|
1 /* | |
2 | |
3 Copyright (C) 1996 John W. Eaton | |
4 | |
5 This file is part of Octave. | |
6 | |
7 Octave is free software; you can redistribute it and/or modify it | |
8 under the terms of the GNU General Public License as published by the | |
9 Free Software Foundation; either version 2, or (at your option) any | |
10 later version. | |
11 | |
12 Octave is distributed in the hope that it will be useful, but WITHOUT | |
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
18 along with Octave; see the file COPYING. If not, write to the Free | |
19 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
20 | |
21 */ | |
22 | |
23 #if defined (__GNUG__) | |
24 #pragma implementation | |
25 #endif | |
26 | |
27 #ifdef HAVE_CONFIG_H | |
28 #include <config.h> | |
29 #endif | |
30 | |
31 #include "lo-ieee.h" | |
32 #include "mx-base.h" | |
33 | |
34 #include "ops.h" | |
35 #include "ov-re-mat.h" | |
36 #include "ov-str-mat.h" | |
37 #include "gripes.h" | |
38 #include "pr-output.h" | |
39 | |
40 int octave_char_matrix_str::t_id = -1; | |
41 | |
42 const string octave_char_matrix_str::t_name ("string"); | |
43 | |
44 static octave_value * | |
45 default_numeric_conversion_function (const octave_value& a) | |
46 { | |
47 CAST_CONV_ARG (const octave_char_matrix_str&); | |
48 | |
49 return new octave_matrix (v.matrix_value ()); | |
50 } | |
51 | |
52 octave_value::numeric_conv_fcn | |
53 octave_char_matrix_str::numeric_conversion_function (void) const | |
54 { | |
55 return default_numeric_conversion_function; | |
56 } | |
57 | |
58 octave_value | |
59 octave_char_matrix_str::all (void) const | |
60 { | |
61 octave_value retval; | |
62 error ("octave_char_matrix_str::all(): not implemented"); | |
63 return retval; | |
64 } | |
65 | |
66 octave_value | |
67 octave_char_matrix_str::any (void) const | |
68 { | |
69 octave_value retval; | |
70 error ("octave_char_matrix_str::any(): not implemented"); | |
71 return retval; | |
72 } | |
73 | |
74 bool | |
75 octave_char_matrix_str::valid_as_scalar_index (void) const | |
76 { | |
77 bool retval = false; | |
78 error ("octave_char_matrix_str::valid_as_scalar_index(): not implemented"); | |
79 return retval; | |
80 } | |
81 bool | |
82 octave_char_matrix_str::valid_as_zero_index (void) const | |
83 { | |
84 bool retval = false; | |
85 error ("octave_char_matrix_str::valid_as_zero_index(): not implemented"); | |
86 return retval; | |
87 } | |
88 | |
89 bool | |
90 octave_char_matrix_str::is_true (void) const | |
91 { | |
92 bool retval = false; | |
93 error ("octave_char_matrix_str::is_true(): not implemented"); | |
94 return retval; | |
95 } | |
96 | |
97 Matrix | |
98 octave_char_matrix_str::matrix_value (bool force_string_conv) const | |
99 { | |
100 Matrix retval; | |
101 | |
102 int flag = force_string_conv; | |
103 | |
104 if (! flag) | |
105 flag = Vimplicit_str_to_num_ok; | |
106 | |
107 if (flag < 0) | |
108 gripe_implicit_conversion ("string", "real matrix"); | |
109 | |
110 if (flag) | |
111 retval = Matrix (matrix); | |
112 else | |
113 gripe_invalid_conversion ("string", "real matrix"); | |
114 | |
115 return retval; | |
116 } | |
117 | |
118 charMatrix | |
119 octave_char_matrix_str::all_strings (void) const | |
120 { | |
121 charMatrix retval; | |
122 error ("octave_char_matrix_str::all_strings(): not implemented"); | |
123 return retval; | |
124 } | |
125 | |
126 string | |
127 octave_char_matrix_str::string_value (void) const | |
128 { | |
129 return matrix.row_as_string (0); // XXX FIXME??? XXX | |
130 } | |
131 | |
132 void | |
133 octave_char_matrix_str::print (ostream& os) | |
134 { | |
135 octave_print_internal (os, matrix, false, true, struct_indent); | |
136 } | |
137 | |
138 /* | |
139 ;;; Local Variables: *** | |
140 ;;; mode: C++ *** | |
141 ;;; End: *** | |
142 */ |