changeset 16938:78c022f1d6f7

Add new function atan2d to Octave. * scripts/elfun/atan2d.m: New file. * scripts/elfun/module.mk: Add atan2d.m to build system. * NEWS: Announce new function. * doc/interpreter/arith.txi: Add to documentation. * scripts/help/__unimplemented__.m: Remove atan2d from unimplemented list.
author Rik <rik@octave.org>
date Tue, 09 Jul 2013 15:29:48 -0700
parents 57fad64de019
children 06897f865f0b
files NEWS doc/interpreter/arith.txi scripts/elfun/atan2d.m scripts/elfun/module.mk scripts/help/__unimplemented__.m
diffstat 5 files changed, 58 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Tue Jul 09 15:06:26 2013 -0700
+++ b/NEWS	Tue Jul 09 15:29:48 2013 -0700
@@ -187,20 +187,21 @@
 
  ** Other new functions added in 3.8.0:
 
-      base64_decode               ellipke         lines      
-      base64_encode               erfcinv         polyeig                   
-      betaincinv                  erfi            readline_re_read_init_file
-      built_in_docstrings_file    expint          readline_read_init_file 
-      cmpermute                   findfigs        rgbplot               
-      cmunique                    fminsearch      save_default_options  
-      colorcube                   gallery         shrinkfaces           
-      copyobj                     gco             splinefit             
-      dawson                      hdl2struct      stemleaf           
-      dblist                      history_save    strjoin             
-      debug_jit                   importdata      struct2hdl          
-      doc_cache_create            iscolormap      tetramesh           
-      ellipj                      jit_enable      waterfall  
-      imformats
+      atan2d                      erfcinv         readline_re_read_init_file
+      base64_decode               erfi            readline_read_init_file   
+      base64_encode               expint          rgbplot                   
+      betaincinv                  findfigs        save_default_options      
+      built_in_docstrings_file    fminsearch      shrinkfaces               
+      cmpermute                   gallery         splinefit                 
+      cmunique                    gco             stemleaf                  
+      colorcube                   hdl2struct      strjoin                   
+      copyobj                     history_save    struct2hdl                
+      dawson                      imformats       tetramesh                 
+      dblist                      importdata      waterfall                 
+      debug_jit                   iscolormap      
+      doc_cache_create            jit_enable      
+      ellipj                      lines           
+      ellipke                     polyeig                   
 
  ** Deprecated functions.
 
--- a/doc/interpreter/arith.txi	Tue Jul 09 15:06:26 2013 -0700
+++ b/doc/interpreter/arith.txi	Tue Jul 09 15:29:48 2013 -0700
@@ -190,6 +190,7 @@
 @DOCSTRING(asind)
 @DOCSTRING(acosd)
 @DOCSTRING(atand)
+@DOCSTRING(atan2d)
 @DOCSTRING(asecd)
 @DOCSTRING(acscd)
 @DOCSTRING(acotd)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/elfun/atan2d.m	Tue Jul 09 15:29:48 2013 -0700
@@ -0,0 +1,41 @@
+## Copyright (C) 2013 Rik Wehbring
+##
+## This file is part of Octave.
+##
+## Octave is free software; you can redistribute it and/or modify it
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or (at
+## your option) any later version.
+##
+## Octave is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Octave; see the file COPYING.  If not, see
+## <http://www.gnu.org/licenses/>.
+
+## -*- texinfo -*-
+## @deftypefn {Function File} {} atan2d (@var{y}, @var{x})
+## Compute atan2 (@var{y} / @var{x}) in degrees for corresponding elements
+## from @var{y} and @var{x}.
+## @seealso{tand, atan2}
+## @end deftypefn
+
+function retval = atan2d (y, x)
+
+  if (nargin != 2)
+    print_usage ();
+  endif
+
+  retval = 180 ./ pi .* atan2 (y, x);
+
+endfunction
+
+
+%!assert (atan2d (-1:.1:1, 1:-.1:-1), 180/pi * atan2 (-1:.1:1, 1:-.1:-1), -10*eps)
+
+%!error atan2d ()
+%!error atan2d (1)
+
--- a/scripts/elfun/module.mk	Tue Jul 09 15:06:26 2013 -0700
+++ b/scripts/elfun/module.mk	Tue Jul 09 15:29:48 2013 -0700
@@ -12,6 +12,7 @@
   elfun/asecd.m \
   elfun/asech.m \
   elfun/asind.m \
+  elfun/atan2d.m \
   elfun/atand.m \
   elfun/cosd.m \
   elfun/cot.m \
--- a/scripts/help/__unimplemented__.m	Tue Jul 09 15:06:26 2013 -0700
+++ b/scripts/help/__unimplemented__.m	Tue Jul 09 15:29:48 2013 -0700
@@ -128,7 +128,6 @@
   "alpha",
   "alphamap",
   "annotation",
-  "atan2d",
   "audiodevinfo",
   "audioinfo",
   "audioplayer",