# HG changeset patch # User Jaroslav Hajek # Date 1267183320 -3600 # Node ID 532802559f39ce168d5c86d80375ceccc9a7c82f # Parent 96ed7c629bbd50982141675fc6df837cfeb63506 remove mx_*_dup relics from mx-inlines.cc diff --git a/liboctave/ChangeLog b/liboctave/ChangeLog --- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,17 @@ +2010-02-26 Jaroslav Hajek + + * mx-inlines.cc (OP_DUP_FCN): Remove. + (mx_inline_dup): Remove. + (mx_inline_not): Remove. + (mx_inline_make_complex): Remove. + (mx_inline_change_sign): Remove. + (mx_inline_fabs_dup): Remove. + (mx_inline_cabs_dup): Remove. + (mx_inline_imag_dup): Remove. + (mx_inline_real_dup): Remove. + (mx_inline_conj_dup): Remove. + (mx_inline_change_sign): Remove. + 2010-02-26 Jaroslav Hajek * Array.h (Array::ArrayRep): Simplify copy constructor. Add diff --git a/liboctave/mx-inlines.cc b/liboctave/mx-inlines.cc --- a/liboctave/mx-inlines.cc +++ b/liboctave/mx-inlines.cc @@ -407,55 +407,6 @@ return true; } -#define OP_DUP_FCN(OP, F, R, T) \ - static inline R * \ - F (const T *x, size_t n) \ - { \ - R *r = 0; \ - if (n > 0) \ - { \ - r = new R [n]; \ - for (size_t i = 0; i < n; i++) \ - r[i] = OP (x[i]); \ - } \ - return r; \ - } - -OP_DUP_FCN (, mx_inline_dup, double, double) -OP_DUP_FCN (, mx_inline_dup, Complex, Complex) -OP_DUP_FCN (, mx_inline_dup, float, float) -OP_DUP_FCN (, mx_inline_dup, FloatComplex, FloatComplex) - -// These should really return a bool *. Also, they should probably be -// in with a collection of other element-by-element boolean ops. -OP_DUP_FCN (0.0 ==, mx_inline_not, double, double) -OP_DUP_FCN (0.0 ==, mx_inline_not, double, Complex) - -OP_DUP_FCN (, mx_inline_make_complex, Complex, double) - -OP_DUP_FCN (-, mx_inline_change_sign, double, double) -OP_DUP_FCN (-, mx_inline_change_sign, Complex, Complex) - -OP_DUP_FCN (std::abs, mx_inline_fabs_dup, double, double) -OP_DUP_FCN (std::abs, mx_inline_cabs_dup, double, Complex) -OP_DUP_FCN (real, mx_inline_real_dup, double, Complex) -OP_DUP_FCN (imag, mx_inline_imag_dup, double, Complex) -OP_DUP_FCN (conj, mx_inline_conj_dup, Complex, Complex) - -OP_DUP_FCN (0.0 ==, mx_inline_not, float, float) -OP_DUP_FCN (static_cast(0.0) ==, mx_inline_not, float, FloatComplex) - -OP_DUP_FCN (, mx_inline_make_complex, FloatComplex, float) - -OP_DUP_FCN (-, mx_inline_change_sign, float, float) -OP_DUP_FCN (-, mx_inline_change_sign, FloatComplex, FloatComplex) - -OP_DUP_FCN (std::abs, mx_inline_fabs_dup, float, float) -OP_DUP_FCN (std::abs, mx_inline_cabs_dup, float, FloatComplex) -OP_DUP_FCN (real, mx_inline_real_dup, float, FloatComplex) -OP_DUP_FCN (imag, mx_inline_imag_dup, float, FloatComplex) -OP_DUP_FCN (conj, mx_inline_conj_dup, FloatComplex, FloatComplex) - // FIXME: Due to a performance defect in g++ (<= 4.3), std::norm is slow unless // ffast-math is on (not by default even with -O3). The following helper function // gives the expected straightforward implementation of std::norm.