Mercurial > hg > octave-nkf
comparison liboctave/mx-inlines.cc @ 13756:6dfebfa334cb
allow negative data log plots with OpenGL+FLTK graphics (bug #34232)
* mx-inlines.cc (mx_inline_any_positive): New function.
* lo-mappers.h (xpositive_sign (double), xpositive_sign (float)):
New functions.
* fNDArray.h, fNDArray.cc (FloatNDArray::any_element_is_positive):
New function.
* fMatrix.h, fMatrix.cc (FloatMatrix::any_element_is_positive):
New function.
* dNDArray.h, dNDArray.cc (NDArray::any_element_is_positive):
New function.
* dMatrix.h, dMatrix.cc (Matrix::any_element_is_positive):
New function.
* graphics.h.in (log_scaler::do_neg_scale): New function.
(log_scaler::scale (const Matrix&) const,
log_scaler::scale (const NDArray&) const): Call do_neg_scale if no
array elements are positive.
* graphics.cc (axes::properties::get_axis_limits): Omit zero from
positive values for log plots. Correctly widen range for all negative
log plots.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 26 Oct 2011 14:19:54 -0400 |
parents | aa4a23337a0f |
children | c3d401562410 |
comparison
equal
deleted
inserted
replaced
13755:8cd08124cb59 | 13756:6dfebfa334cb |
---|---|
207 mx_inline_any_negative (size_t n, const T* x) throw () | 207 mx_inline_any_negative (size_t n, const T* x) throw () |
208 { | 208 { |
209 for (size_t i = 0; i < n; i++) | 209 for (size_t i = 0; i < n; i++) |
210 { | 210 { |
211 if (x[i] < 0) | 211 if (x[i] < 0) |
212 return true; | |
213 } | |
214 | |
215 return false; | |
216 } | |
217 | |
218 template <class T> | |
219 inline bool | |
220 mx_inline_any_positive (size_t n, const T* x) throw () | |
221 { | |
222 for (size_t i = 0; i < n; i++) | |
223 { | |
224 if (x[i] > 0) | |
212 return true; | 225 return true; |
213 } | 226 } |
214 | 227 |
215 return false; | 228 return false; |
216 } | 229 } |