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++ ***