svn commit: trunk/uClibc/libm

vapier at uclibc.org vapier at uclibc.org
Mon Apr 2 20:52:19 UTC 2007


Author: vapier
Date: 2007-04-02 13:52:18 -0700 (Mon, 02 Apr 2007)
New Revision: 18309

Log:
implement carg

Added:
   trunk/uClibc/libm/carg.c

Modified:
   trunk/uClibc/libm/Makefile.in
   trunk/uClibc/libm/float_wrappers.c


Changeset:
Modified: trunk/uClibc/libm/Makefile.in
===================================================================
--- trunk/uClibc/libm/Makefile.in	2007-04-02 19:30:58 UTC (rev 18308)
+++ trunk/uClibc/libm/Makefile.in	2007-04-02 20:52:18 UTC (rev 18309)
@@ -72,7 +72,7 @@
 	w_cosh.c w_drem.c w_exp.c w_fmod.c w_gamma.c w_gamma_r.c \
 	w_hypot.c w_j0.c w_j1.c w_jn.c w_lgamma.c w_lgamma_r.c \
 	w_log.c w_log10.c w_pow.c w_remainder.c w_scalb.c w_sinh.c \
-	w_sqrt.c fpmacros.c nan.c
+	w_sqrt.c fpmacros.c nan.c carg.c
 FL_MOBJ := \
 	acosf.o acoshf.o asinf.o asinhf.o atan2f.o atanf.o atanhf.o cbrtf.o \
 	ceilf.o copysignf.o cosf.o coshf.o erfcf.o erff.o exp2f.o expf.o \
@@ -81,7 +81,7 @@
 	log1pf.o log2f.o logbf.o logf.o lrintf.o lroundf.o modff.o nearbyintf.o \
 	nextafterf.o powf.o remainderf.o remquof.o rintf.o roundf.o \
 	scalblnf.o scalbnf.o sinf.o sinhf.o sqrtf.o tanf.o tanhf.o \
-	tgammaf.o truncf.o
+	tgammaf.o truncf.o cargf.o
 else
 # This list of math functions was taken from POSIX/IEEE 1003.1b-1993
 libm_CSRC := \

Added: trunk/uClibc/libm/carg.c
===================================================================
--- trunk/uClibc/libm/carg.c	                        (rev 0)
+++ trunk/uClibc/libm/carg.c	2007-04-02 20:52:18 UTC (rev 18309)
@@ -0,0 +1,33 @@
+/* Compute argument of complex double value.
+   Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper at cygnus.com>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <complex.h>
+#include <math.h>
+
+libm_hidden_proto(atan2)
+libm_hidden_proto(carg)
+
+double
+carg (__complex__ double x)
+{
+  return atan2 (__imag__ x, __real__ x);
+}
+
+libm_hidden_def(carg)

Modified: trunk/uClibc/libm/float_wrappers.c
===================================================================
--- trunk/uClibc/libm/float_wrappers.c	2007-04-02 19:30:58 UTC (rev 18308)
+++ trunk/uClibc/libm/float_wrappers.c	2007-04-02 20:52:18 UTC (rev 18309)
@@ -10,7 +10,8 @@
  * GNU Lesser General Public License version 2.1 or later.
  */
 
-#include "math.h"
+#include <math.h>
+#include <complex.h>
 
 /* For the time being, do _NOT_ implement these functions
  * that are defined by SuSv3 */
@@ -138,6 +139,15 @@
 #endif
 
 
+#ifdef L_cargf
+libm_hidden_proto(carg)
+float cargf (float complex x)
+{
+	return (float) carg( (double)x );
+}
+#endif
+
+
 #ifdef L_cbrtf
 libm_hidden_proto(cbrt)
 float cbrtf (float x)




More information about the uClibc-cvs mailing list