patches/uClibc/0.9.30.2/260-libm-enable-log2f-and-exp2f.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Dec 31 18:47:37 2011 +0100 (2011-12-31)
changeset 2829 0c3c95f911ec
permissions -rw-r--r--
docs: credit Konrad EISELE for the initial multilib support

Konrad submitted an initial patch adding multlib support:
http://sourceware.org/ml/crossgcc/2011-11/msg00040.html

The patch was full of good ideas, but had a few issues, so
I (Yann E. MORIN) started it all from scatch, re-using part
of the original patch. This got implemented in this series:
hg log -r 446a17b5dd1e:e47d17391ae3

As I forgot to credit Konrad in these changelogs, update the
docs so that the work by Konrad gets credited. Without his
initial effort, we would probably not have had multlib support
so soon. Thank you Konrad!

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 From 956a0087e282e53ba9c085dbbc469391f7234944 Mon Sep 17 00:00:00 2001
     2 From: Aurelien Jacobs <aurel@gnuage.org>
     3 Date: Thu, 4 Feb 2010 09:31:40 -0800
     4 Subject: [PATCH 10/15] libm: enable log2f and exp2f
     5 
     6 Signed-off-by: Aurelien Jacobs <aurel@gnuage.org>
     7 Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
     8 ---
     9  libm/float_wrappers.c    |    4 ++--
    10  test/math/compile_test.c |    4 ++--
    11  2 files changed, 4 insertions(+), 4 deletions(-)
    12 
    13 diff --git a/libm/float_wrappers.c b/libm/float_wrappers.c
    14 index dc315e7..b7317a1 100644
    15 --- a/libm/float_wrappers.c
    16 +++ b/libm/float_wrappers.c
    17 @@ -15,12 +15,10 @@
    18  
    19  /* For the time being, do _NOT_ implement these functions
    20   * that are defined by SuSv3 */
    21 -#undef L_exp2f         /*float       exp2f(float);*/
    22  #undef L_fdimf         /*float       fdimf(float, float);*/
    23  #undef L_fmaf          /*float       fmaf(float, float, float);*/
    24  #undef L_fmaxf         /*float       fmaxf(float, float);*/
    25  #undef L_fminf         /*float       fminf(float, float);*/
    26 -#undef L_log2f         /*float       log2f(float);*/
    27  #undef L_nearbyintf    /*float       nearbyintf(float);*/
    28  #undef L_nexttowardf   /*float       nexttowardf(float, long double);*/
    29  #undef L_remquof       /*float       remquof(float, float, int *);*/
    30 @@ -43,6 +41,7 @@ float       cosf(float);
    31  float       coshf(float);
    32  float       erfcf(float);
    33  float       erff(float);
    34 +float       exp2f(float);
    35  float       expf(float);
    36  float       expm1f(float);
    37  float       fabsf(float);
    38 @@ -56,6 +55,7 @@ float       lgammaf(float);
    39  long long   llroundf(float);
    40  float       log10f(float);
    41  float       log1pf(float);
    42 +float       log2f(float);
    43  float       logbf(float);
    44  float       logf(float);
    45  long        lroundf(float);
    46 diff --git a/test/math/compile_test.c b/test/math/compile_test.c
    47 index 9990520..ee5e2e3 100644
    48 --- a/test/math/compile_test.c
    49 +++ b/test/math/compile_test.c
    50 @@ -18,7 +18,7 @@ r += cosf(float_x);
    51  r += coshf(float_x);
    52  r += erfcf(float_x);
    53  r += erff(float_x);
    54 -/*r += exp2f(float_x); - uclibc does not have it (yet?) */
    55 +r += exp2f(float_x);
    56  r += expf(float_x);
    57  r += expm1f(float_x);
    58  r += fabsf(float_x);
    59 @@ -38,7 +38,7 @@ r += llrintf(float_x);
    60  r += llroundf(float_x);
    61  r += log10f(float_x);
    62  r += log1pf(float_x);
    63 -/*r += log2f(float_x); - uclibc does not have it (yet?) */
    64 +r += log2f(float_x);
    65  r += logbf(float_x);
    66  r += logf(float_x);
    67  r += lrintf(float_x);
    68 -- 
    69 1.6.6.1
    70