Mercurial > hg > octave-lyh
comparison src/OPERATORS/op-str-str.cc @ 5279:bd32f770c09a
[project @ 2005-04-12 21:55:31 by jwe]
author | jwe |
---|---|
date | Tue, 12 Apr 2005 21:55:31 +0000 |
parents | 57077d0ddc8e |
children | 4c8a2e4e0717 |
comparison
equal
deleted
inserted
replaced
5278:fe23ec6763b7 | 5279:bd32f770c09a |
---|---|
31 #include "ov-typeinfo.h" | 31 #include "ov-typeinfo.h" |
32 #include "ops.h" | 32 #include "ops.h" |
33 | 33 |
34 // string unary ops. | 34 // string unary ops. |
35 | 35 |
36 DEFUNOP (transpose, matrix) | 36 DEFUNOP (transpose, char_matrix_str) |
37 { | 37 { |
38 CAST_UNOP_ARG (const octave_char_matrix_str&); | 38 CAST_UNOP_ARG (const octave_char_matrix_str&); |
39 | 39 |
40 if (v.ndims () > 2) | 40 if (v.ndims () > 2) |
41 { | 41 { |
42 error ("transpose not defined for N-d objects"); | 42 error ("transpose not defined for N-d objects"); |
43 return octave_value (); | 43 return octave_value (); |
44 } | 44 } |
45 else | 45 else |
46 return octave_value (v.char_matrix_value().transpose (), true); | 46 return octave_value (v.char_matrix_value().transpose (), true, |
47 a.is_sq_string () ? '\'' : '"'); | |
47 } | 48 } |
48 | 49 |
49 // string by string ops. | 50 // string by string ops. |
50 | 51 |
51 DEFBINOP (eq, char_matrix_str, char_matrix_str) | 52 DEFBINOP (eq, char_matrix_str, char_matrix_str) |
115 | 116 |
116 DEFCATOP (str_str, char_matrix_str, char_matrix_str) | 117 DEFCATOP (str_str, char_matrix_str, char_matrix_str) |
117 { | 118 { |
118 CAST_BINOP_ARGS (octave_char_matrix_str&, const octave_char_matrix_str&); | 119 CAST_BINOP_ARGS (octave_char_matrix_str&, const octave_char_matrix_str&); |
119 return octave_value (v1.char_array_value (). concat (v2.char_array_value (), | 120 return octave_value (v1.char_array_value (). concat (v2.char_array_value (), |
120 ra_idx), true); | 121 ra_idx), |
122 true, | |
123 (a1.is_sq_string () && a2.is_sq_string () | |
124 ? '\'' : '"')); | |
121 } | 125 } |
122 | 126 |
123 void | 127 void |
124 install_str_str_ops (void) | 128 install_str_str_ops (void) |
125 { | 129 { |
126 INSTALL_UNOP (op_transpose, octave_char_matrix_str, transpose); | 130 INSTALL_UNOP (op_transpose, octave_char_matrix_str, transpose); |
131 INSTALL_UNOP (op_transpose, octave_char_matrix_sq_str, transpose); | |
132 | |
127 INSTALL_UNOP (op_hermitian, octave_char_matrix_str, transpose); | 133 INSTALL_UNOP (op_hermitian, octave_char_matrix_str, transpose); |
134 INSTALL_UNOP (op_hermitian, octave_char_matrix_sq_str, transpose); | |
128 | 135 |
129 INSTALL_BINOP (op_eq, octave_char_matrix_str, octave_char_matrix_str, eq); | 136 INSTALL_BINOP (op_eq, octave_char_matrix_str, octave_char_matrix_str, eq); |
137 INSTALL_BINOP (op_eq, octave_char_matrix_str, octave_char_matrix_sq_str, eq); | |
138 INSTALL_BINOP (op_eq, octave_char_matrix_sq_str, octave_char_matrix_str, eq); | |
139 INSTALL_BINOP (op_eq, octave_char_matrix_sq_str, octave_char_matrix_sq_str, eq); | |
140 | |
130 INSTALL_BINOP (op_ne, octave_char_matrix_str, octave_char_matrix_str, ne); | 141 INSTALL_BINOP (op_ne, octave_char_matrix_str, octave_char_matrix_str, ne); |
142 INSTALL_BINOP (op_ne, octave_char_matrix_str, octave_char_matrix_sq_str, ne); | |
143 INSTALL_BINOP (op_ne, octave_char_matrix_sq_str, octave_char_matrix_str, ne); | |
144 INSTALL_BINOP (op_ne, octave_char_matrix_sq_str, octave_char_matrix_sq_str, ne); | |
131 | 145 |
132 INSTALL_CATOP (octave_char_matrix_str, octave_char_matrix_str, str_str); | 146 INSTALL_CATOP (octave_char_matrix_str, octave_char_matrix_str, str_str); |
147 INSTALL_CATOP (octave_char_matrix_str, octave_char_matrix_sq_str, str_str); | |
148 INSTALL_CATOP (octave_char_matrix_sq_str, octave_char_matrix_str, str_str); | |
149 INSTALL_CATOP (octave_char_matrix_sq_str, octave_char_matrix_sq_str, str_str); | |
133 | 150 |
134 INSTALL_ASSIGNOP (op_asn_eq, octave_char_matrix_str, octave_char_matrix_str, assign); | 151 INSTALL_ASSIGNOP (op_asn_eq, octave_char_matrix_str, octave_char_matrix_str, assign); |
152 INSTALL_ASSIGNOP (op_asn_eq, octave_char_matrix_str, octave_char_matrix_sq_str, assign); | |
153 INSTALL_ASSIGNOP (op_asn_eq, octave_char_matrix_sq_str, octave_char_matrix_str, assign); | |
154 INSTALL_ASSIGNOP (op_asn_eq, octave_char_matrix_sq_str, octave_char_matrix_sq_str, assign); | |
135 } | 155 } |
136 | 156 |
137 /* | 157 /* |
138 ;;; Local Variables: *** | 158 ;;; Local Variables: *** |
139 ;;; mode: C++ *** | 159 ;;; mode: C++ *** |