lkml.org 
[lkml]   [2006]   [Mar]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: How can I link the kernel with libgcc ?
    Date
    On Friday 10 March 2006 05:47, Carlos Munoz wrote:
    > Lee Revell wrote:
    >
    > >On Thu, 2006-03-09 at 19:25 -0800, Carlos Munoz wrote:
    > >
    > >
    > >>I figured out how to get the driver to use floating point operations.
    > >>I included source code (from an open source math library) for the
    > >>log10 function in the driver. Then I added the following lines to the
    > >>file arch/sh/kernel/sh_ksyms.c:
    > >>
    > >>
    > >
    > >Where is the source code to your driver?
    > >
    > >Lee
    > >
    > >
    > >
    > Hi Lee,
    >
    > Be warned. This driver is in the early stages of development. There is
    > still a lot of work that needs to be done (interrupt, dma, etc, etc).

    What? You are using log10 only twice!

    if (!(siu_obj_status & ST_OPEN)) {
    ...
    /* = log2(over) */
    ydef[22] = (u_int32_t)(log10((double)(over & 0x0000003f)) /
    log10(2));
    ...
    }
    else {
    ...
    if (coef) {
    ydef[16] = 0x03045000 | (over << 26) | (tap - 4);
    ydef[17] = (tap * 2 + 1);
    /* = log2(over) */
    ydef[22] = (u_int32_t)
    (log10((double)(over & 0x0000003f)) / log10(2));
    }

    Don't you think that log10((double)(over & 0x0000003f)) / log10(2)
    can have only 64 different values depending on the result of (over & 0x3f)?

    Obtain them from precomputed uint32_t log10table[64].
    --
    vda
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-03-10 11:40    [W:0.024 / U:31.868 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site