Mercurial > octave-nkf
comparison libinterp/corefcn/mappers.cc @ 15487:ecf5be238b4a
provide signbit mapper for real values
* mappers.cc (Fsignbit): New function and tests.
* ov-base.cc (octave_base_value::get_umap_name): Include signbit in
the list.
* ov-base.h (octave_base_value::unary_mapper_t): Include umap_xsignbit
in the list.
* ov-float.cc (octave_float_scalar::map): Handle xsignbit.
* ov-scalar.cc (octave_scalar::map): Handle xsignbit.
* ov-re-mat.cc (octave_matrix::map): Handle xsignbit.
* ov-flt-re-mat.cc (octave_float_matrix::map): Handle xsignbit.
* lo-mappers.h (xsignbit): New template function.
* arith.txi: Document signbit.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 04 Oct 2012 09:48:07 -0400 |
parents | 2fc554ffbc28 |
children | 481417a57a2d |
comparison
equal
deleted
inserted
replaced
15486:afc002de3ade | 15487:ecf5be238b4a |
---|---|
1778 | 1778 |
1779 %!error sign () | 1779 %!error sign () |
1780 %!error sign (1, 2) | 1780 %!error sign (1, 2) |
1781 */ | 1781 */ |
1782 | 1782 |
1783 DEFUNX ("signbit", Fsignbit, args, , | |
1784 "-*- texinfo -*-\n\ | |
1785 @deftypefn {Mapping Function} {} signbit (@var{x})\n\ | |
1786 Return a nonzero value if the value of @var{x} has its sign bit set.\n\ | |
1787 \n\ | |
1788 This is not the same as @code{x < 0.0}, because IEEE 754 floating point\n\ | |
1789 allows zero to be signed. The comparison @code{-0.0 < 0.0} is false,\n\ | |
1790 but @code{signbit (-0.0)} will return a nonzero value.\n\ | |
1791 @end deftypefn") | |
1792 { | |
1793 octave_value retval; | |
1794 if (args.length () == 1) | |
1795 retval = args(0).xsignbit (); | |
1796 else | |
1797 print_usage (); | |
1798 | |
1799 return retval; | |
1800 } | |
1801 | |
1802 /* | |
1803 %!assert (signbit (1) == 0) | |
1804 %!assert (signbit (-2) != 0) | |
1805 %!assert (signbit (0) == 0) | |
1806 %!assert (signbit (-0) != 0) | |
1807 | |
1808 %!assert (signbit (single (1)) == 0) | |
1809 %!assert (signbit (single (-2)) != 0) | |
1810 %!assert (signbit (single (0)) == 0) | |
1811 %!assert (signbit (single (-0)) != 0) | |
1812 | |
1813 %!error sign () | |
1814 %!error sign (1, 2) | |
1815 */ | |
1816 | |
1783 DEFUN (sin, args, , | 1817 DEFUN (sin, args, , |
1784 "-*- texinfo -*-\n\ | 1818 "-*- texinfo -*-\n\ |
1785 @deftypefn {Mapping Function} {} sin (@var{x})\n\ | 1819 @deftypefn {Mapping Function} {} sin (@var{x})\n\ |
1786 Compute the sine for each element of @var{x} in radians.\n\ | 1820 Compute the sine for each element of @var{x} in radians.\n\ |
1787 @seealso{asin, sind, sinh}\n\ | 1821 @seealso{asin, sind, sinh}\n\ |