Mercurial > octave-nkf
annotate src/OPERATORS/op-chm.cc @ 14138:72c96de7a403 stable
maint: update copyright notices for 2012
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 02 Jan 2012 14:25:41 -0500 |
parents | 12df7854fa7c |
children | 460a3c6d8bf1 |
rev | line source |
---|---|
3207 | 1 /* |
2 | |
14138
72c96de7a403
maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents:
11586
diff
changeset
|
3 Copyright (C) 1996-2012 John W. Eaton |
3207 | 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 | |
7016 | 9 Free Software Foundation; either version 3 of the License, or (at your |
10 option) any later version. | |
3207 | 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 | |
7016 | 18 along with Octave; see the file COPYING. If not, see |
19 <http://www.gnu.org/licenses/>. | |
3207 | 20 |
21 */ | |
22 | |
23 #ifdef HAVE_CONFIG_H | |
24 #include <config.h> | |
25 #endif | |
26 | |
27 #include "gripes.h" | |
4055 | 28 #include "oct-obj.h" |
3207 | 29 #include "ov.h" |
30 #include "ov-ch-mat.h" | |
4915 | 31 #include "ov-scalar.h" |
32 #include "ov-re-mat.h" | |
33 #include "ov-bool.h" | |
34 #include "ov-bool-mat.h" | |
3207 | 35 #include "ov-typeinfo.h" |
36 #include "ops.h" | |
37 | |
38 // char matrix unary ops. | |
39 | |
40 DEFUNOP (transpose, char_matrix) | |
41 { | |
42 CAST_UNOP_ARG (const octave_char_matrix&); | |
43 | |
44 return octave_value (v.matrix_value().transpose ()); | |
45 } | |
46 | |
11586
12df7854fa7c
strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
47 DEFNDCATOP_FN (chm_chm, char_matrix, char_matrix, char_array, char_array, |
9931
fb6b6fcafa62
untabify files in src/OPERATORS directory
John W. Eaton <jwe@octave.org>
parents:
7017
diff
changeset
|
48 concat) |
4915 | 49 |
50 DEFCATOP (chm_s, char_matrix, scalar) | |
51 { | |
5073 | 52 CAST_BINOP_ARGS (octave_char_matrix&, const octave_scalar&); |
4915 | 53 |
5781 | 54 gripe_implicit_conversion ("Octave:num-to-str", |
9931
fb6b6fcafa62
untabify files in src/OPERATORS directory
John W. Eaton <jwe@octave.org>
parents:
7017
diff
changeset
|
55 v2.type_name (), v1.type_name ()); |
4915 | 56 |
5073 | 57 return octave_value (v1.char_array_value (). concat(v2.array_value (), |
9931
fb6b6fcafa62
untabify files in src/OPERATORS directory
John W. Eaton <jwe@octave.org>
parents:
7017
diff
changeset
|
58 ra_idx)); |
4915 | 59 } |
60 | |
61 DEFCATOP (chm_m, char_matrix, matrix) | |
62 { | |
5073 | 63 CAST_BINOP_ARGS (octave_char_matrix&, const octave_matrix&); |
4915 | 64 |
5781 | 65 gripe_implicit_conversion ("Octave:num-to-str", |
9931
fb6b6fcafa62
untabify files in src/OPERATORS directory
John W. Eaton <jwe@octave.org>
parents:
7017
diff
changeset
|
66 v2.type_name (), v1.type_name ()); |
4915 | 67 |
5073 | 68 return octave_value (v1.char_array_value (). concat (v2.array_value (), |
9931
fb6b6fcafa62
untabify files in src/OPERATORS directory
John W. Eaton <jwe@octave.org>
parents:
7017
diff
changeset
|
69 ra_idx)); |
4915 | 70 } |
71 | |
72 DEFCATOP (s_chm, scalar, char_matrix) | |
73 { | |
5073 | 74 CAST_BINOP_ARGS (octave_scalar&, const octave_char_matrix&); |
4915 | 75 |
5781 | 76 gripe_implicit_conversion ("Octave:num-to-str", |
9931
fb6b6fcafa62
untabify files in src/OPERATORS directory
John W. Eaton <jwe@octave.org>
parents:
7017
diff
changeset
|
77 v1.type_name (), v2.type_name ()); |
4915 | 78 |
5073 | 79 return octave_value (v1.array_value (). concat (v2.char_array_value (), |
9931
fb6b6fcafa62
untabify files in src/OPERATORS directory
John W. Eaton <jwe@octave.org>
parents:
7017
diff
changeset
|
80 ra_idx)); |
4915 | 81 } |
82 | |
83 DEFCATOP (m_chm, matrix, char_matrix) | |
84 { | |
5073 | 85 CAST_BINOP_ARGS (octave_matrix&, const octave_char_matrix&); |
4915 | 86 |
5781 | 87 gripe_implicit_conversion ("Octave:num-to-str", |
9931
fb6b6fcafa62
untabify files in src/OPERATORS directory
John W. Eaton <jwe@octave.org>
parents:
7017
diff
changeset
|
88 v1.type_name (), v2.type_name ()); |
4915 | 89 |
5073 | 90 return octave_value (v1.array_value (). concat (v2.char_array_value (), |
9931
fb6b6fcafa62
untabify files in src/OPERATORS directory
John W. Eaton <jwe@octave.org>
parents:
7017
diff
changeset
|
91 ra_idx)); |
4915 | 92 } |
93 | |
3207 | 94 void |
95 install_chm_ops (void) | |
96 { | |
3538 | 97 INSTALL_UNOP (op_transpose, octave_char_matrix, transpose); |
98 INSTALL_UNOP (op_hermitian, octave_char_matrix, transpose); | |
4915 | 99 |
100 INSTALL_CATOP (octave_char_matrix, octave_char_matrix, chm_chm); | |
101 INSTALL_CATOP (octave_char_matrix, octave_scalar, chm_s); | |
102 INSTALL_CATOP (octave_char_matrix, octave_matrix, chm_m); | |
103 INSTALL_CATOP (octave_scalar, octave_char_matrix, s_chm); | |
104 INSTALL_CATOP (octave_matrix, octave_char_matrix, m_chm); | |
3207 | 105 } |