Mercurial > hg > octave-nkf
changeset 8852:86088b49a6d7
single conversions
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 24 Feb 2009 04:29:55 -0500 |
parents | d6de39523f03 |
children | 9df4c9c94862 |
files | src/ChangeLog src/Makefile.in src/ops.h |
diffstat | 3 files changed, 21 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2009-02-24 John W. Eaton <jwe@octave.org> + + * OPERATORS/op-float-conv.cc: New file. + * Makefile.in (FLOAT_OP_XSRC): Add it to the list. + (DOUBLE_OP_XSRC): Move op-double-conv.cc here from INTTYPE_OP_XSRC. + * ops.h (DEFFLTCONVFN, DEFSTRFLTCONVFN): New macros. + 2009-02-23 John W. Eaton <jwe@octave.org> * ov-base-sparse.cc (octave_base_sparse<T>::print_raw):
--- a/src/Makefile.in +++ b/src/Makefile.in @@ -140,7 +140,7 @@ TI_SRC := $(addprefix TEMPLATE-INST/, $(TI_XSRC)) -INTTYPE_OP_XSRC := op-int-concat.cc op-int-conv.cc op-double-conv.cc \ +INTTYPE_OP_XSRC := op-int-concat.cc op-int-conv.cc \ op-i8-i8.cc op-i16-i16.cc op-i32-i32.cc op-i64-i64.cc \ op-ui8-ui8.cc op-ui16-ui16.cc op-ui32-ui32.cc op-ui64-ui64.cc @@ -151,13 +151,13 @@ op-sm-cs.cc op-sm-m.cc op-sm-s.cc op-sm-scm.cc op-sm-sm.cc \ op-s-scm.cc op-s-sm.cc -DOUBLE_OP_XSRC := op-cm-cm.cc op-cm-cs.cc op-cm-m.cc \ +DOUBLE_OP_XSRC := op-double-conv.cc op-cm-cm.cc op-cm-cs.cc op-cm-m.cc \ op-cm-s.cc op-cs-cm.cc op-cs-cs.cc op-cs-m.cc \ op-cs-s.cc op-m-cm.cc \ op-m-cs.cc op-m-m.cc op-m-s.cc op-s-cm.cc \ op-s-cs.cc op-s-m.cc op-s-s.cc -FLOAT_OP_XSRC := op-fcm-fcm.cc op-fcm-fcs.cc op-fcm-fm.cc \ +FLOAT_OP_XSRC := op-float-conv.cc op-fcm-fcm.cc op-fcm-fcs.cc op-fcm-fm.cc \ op-fcm-fs.cc op-fcs-fcm.cc op-fcs-fcs.cc op-fcs-fm.cc \ op-fcs-fs.cc op-fm-fcm.cc \ op-fm-fcs.cc op-fm-fm.cc op-fm-fs.cc op-fs-fcm.cc \
--- a/src/ops.h +++ b/src/ops.h @@ -245,12 +245,23 @@ return new octave_matrix (NDArray (v.CONCAT2(e, _value) ())); \ } +#define DEFFLTCONVFN(name, ovtfrom, e) \ + CONVDECL (name) \ + { \ + CAST_CONV_ARG (const CONCAT2(octave_, ovtfrom)&); \ + \ + return new octave_float_matrix (FloatNDArray (v.CONCAT2(e, _value) ())); \ + } + #define DEFSTRINTCONVFN(name, tto) \ DEFCONVFNX(name, char_matrix_str, CONCAT2(tto, _matrix), tto, char_) #define DEFSTRDBLCONVFN(name, tfrom) \ DEFCONVFNX(name, tfrom, matrix, , char_) +#define DEFSTRFLTCONVFN(name, tfrom) \ + DEFCONVFNX(name, tfrom, float_matrix, Float, char_) + #define DEFCONVFN(name, tfrom, tto) \ DEFCONVFNX2 (name, tfrom, CONCAT2(tto, _matrix), CONCAT2(tto, _))