Mercurial > hg > octave-lyh
comparison src/ov-scalar.h @ 7789:82be108cc558
First attempt at single precision tyeps
* * *
corrections to qrupdate single precision routines
* * *
prefer demotion to single over promotion to double
* * *
Add single precision support to log2 function
* * *
Trivial PROJECT file update
* * *
Cache optimized hermitian/transpose methods
* * *
Add tests for tranpose/hermitian and ChangeLog entry for new transpose code
author | David Bateman <dbateman@free.fr> |
---|---|
date | Sun, 27 Apr 2008 22:34:17 +0200 |
parents | 39930366b709 |
children | f336dd8e96d0 |
comparison
equal
deleted
inserted
replaced
7788:45f5faba05a2 | 7789:82be108cc558 |
---|---|
74 octave_base_value *empty_clone (void) const { return new octave_matrix (); } | 74 octave_base_value *empty_clone (void) const { return new octave_matrix (); } |
75 | 75 |
76 octave_value do_index_op (const octave_value_list& idx, | 76 octave_value do_index_op (const octave_value_list& idx, |
77 bool resize_ok = false); | 77 bool resize_ok = false); |
78 | 78 |
79 type_conv_fcn numeric_demotion_function (void) const; | |
80 | |
79 idx_vector index_vector (void) const { return idx_vector (scalar); } | 81 idx_vector index_vector (void) const { return idx_vector (scalar); } |
80 | 82 |
81 octave_value any (int = 0) const | 83 octave_value any (int = 0) const |
82 { return (scalar != 0 && ! lo_ieee_isnan (scalar)); } | 84 { return (scalar != 0 && ! lo_ieee_isnan (scalar)); } |
83 | 85 |
135 uint64_array_value (void) const | 137 uint64_array_value (void) const |
136 { return uint64NDArray (dim_vector (1, 1), scalar); } | 138 { return uint64NDArray (dim_vector (1, 1), scalar); } |
137 | 139 |
138 double double_value (bool = false) const { return scalar; } | 140 double double_value (bool = false) const { return scalar; } |
139 | 141 |
142 float float_value (bool = false) const { return static_cast<float> (scalar); } | |
143 | |
140 double scalar_value (bool = false) const { return scalar; } | 144 double scalar_value (bool = false) const { return scalar; } |
145 | |
146 float float_scalar_value (bool = false) const { return static_cast<float> (scalar); } | |
141 | 147 |
142 Matrix matrix_value (bool = false) const | 148 Matrix matrix_value (bool = false) const |
143 { return Matrix (1, 1, scalar); } | 149 { return Matrix (1, 1, scalar); } |
144 | 150 |
151 FloatMatrix float_matrix_value (bool = false) const | |
152 { return FloatMatrix (1, 1, scalar); } | |
153 | |
145 NDArray array_value (bool = false) const | 154 NDArray array_value (bool = false) const |
146 { return NDArray (dim_vector (1, 1), scalar); } | 155 { return NDArray (dim_vector (1, 1), scalar); } |
156 | |
157 FloatNDArray float_array_value (bool = false) const | |
158 { return FloatNDArray (dim_vector (1, 1), scalar); } | |
147 | 159 |
148 SparseMatrix sparse_matrix_value (bool = false) const | 160 SparseMatrix sparse_matrix_value (bool = false) const |
149 { return SparseMatrix (Matrix (1, 1, scalar)); } | 161 { return SparseMatrix (Matrix (1, 1, scalar)); } |
150 | 162 |
151 // XXX FIXME XXX Need SparseComplexMatrix (Matrix) constructor!!! | 163 // XXX FIXME XXX Need SparseComplexMatrix (Matrix) constructor!!! |
154 | 166 |
155 octave_value resize (const dim_vector& dv, bool fill = false) const; | 167 octave_value resize (const dim_vector& dv, bool fill = false) const; |
156 | 168 |
157 Complex complex_value (bool = false) const { return scalar; } | 169 Complex complex_value (bool = false) const { return scalar; } |
158 | 170 |
171 FloatComplex float_complex_value (bool = false) const { return scalar; } | |
172 | |
159 ComplexMatrix complex_matrix_value (bool = false) const | 173 ComplexMatrix complex_matrix_value (bool = false) const |
160 { return ComplexMatrix (1, 1, Complex (scalar)); } | 174 { return ComplexMatrix (1, 1, Complex (scalar)); } |
161 | 175 |
176 FloatComplexMatrix float_complex_matrix_value (bool = false) const | |
177 { return FloatComplexMatrix (1, 1, FloatComplex (scalar)); } | |
178 | |
162 ComplexNDArray complex_array_value (bool = false) const | 179 ComplexNDArray complex_array_value (bool = false) const |
163 { return ComplexNDArray (dim_vector (1, 1), Complex (scalar)); } | 180 { return ComplexNDArray (dim_vector (1, 1), Complex (scalar)); } |
181 | |
182 FloatComplexNDArray float_complex_array_value (bool = false) const | |
183 { return FloatComplexNDArray (dim_vector (1, 1), FloatComplex (scalar)); } | |
164 | 184 |
165 charNDArray | 185 charNDArray |
166 char_array_value (bool = false) const | 186 char_array_value (bool = false) const |
167 { | 187 { |
168 charNDArray retval (dim_vector (1, 1)); | 188 charNDArray retval (dim_vector (1, 1)); |