avr-libc-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-libc-dev] [bug #29458] log10 compile errors


From: Simco - R.Fischer
Subject: [avr-libc-dev] [bug #29458] log10 compile errors
Date: Wed, 07 Apr 2010 06:16:41 +0000
User-agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

URL:
  <http://savannah.nongnu.org/bugs/?29458>

                 Summary: log10 compile errors
                 Project: AVR C Runtime Library
            Submitted by: simconl
            Submitted on: Wed Apr  7 06:16:41 2010
                Category: Library
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: libc code
                  Status: None
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
                 Release: Unknown
           Fixed Release: None

    _______________________________________________________

Details:

Hello,

Using the folowing code results to compile/link errors:

#include <math.h>

/***************************************************************
Project:  SHTxx
***************************************************************/
typedef union
{
  unsigned int  i;
  float         f;
} value;

//--------------------------------------------------------------
// calculates dew point
// input:humidity [%RH], temperature []
// output:  dew point
//--------------------------------------------------------------
float calc_dewpoint(float h, float t)
{
  float  logEx;
  float  dew_point;

  /**/
  // Original code (ERROR!!!):
  logEx     = 0.66077 + 7.5 * t / (237.3 + t) + (log10(h) - 2);
  dew_point = (logEx - 0.66077) * 237.3 /
               (0.66077 + 7.5 - logEx);
  /**/

  /*
  // Modified code (just for the test):
  logEx     = 0.66077 + 7.5 * t / (237.3 + t) + (1.0 - 2);
  dew_point = (logEx - 0.66077) * 237.3 /
               (0.66077 + 7.5 - logEx);
  */

  return dew_point;
}

//--------------------------------------------------------------
// sample program that shows how to use SHT11 functions
//--------------------------------------------------------------
int main(void)
{
  value  humi_val;
  value  temp_val;
  float  dew_point;

  while (1)
  {
    //converts integer to float
    humi_val.f = (float)humi_val.i;
    temp_val.f = (float)temp_val.i;

    //calculate dew point
    dew_point = calc_dewpoint(humi_val.f,
                              temp_val.f);
  }

  return 0;
}

I'm using the WinAVR20100110 compiler, but the WinAVR20090313 has the same
problem. I also use Studio4 4.18 SP2 build 700. The used micro is a
ATXmega128A1.

See function calc_dewpoint(). When I compile with the original code, it
results in an compile error, so I modified the code and replaced the log10(h)
code into 1.0. Now it is compiled without any errors.

Hope this problem will be fixed soon.

Regards,
Robert.








    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Wed Apr  7 06:16:41 2010  Name: FloatTest_20100406c.zip  Size: 10kB  
By: simconl

<http://savannah.nongnu.org/bugs/download.php?file_id=20144>
-------------------------------------------------------
Date: Wed Apr  7 06:16:41 2010  Name: WinAvrBug.JPG  Size: 215kB   By:
simconl

<http://savannah.nongnu.org/bugs/download.php?file_id=20145>

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?29458>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]