patchAVR C Runtime Library - Patches: patch #3592, Reassigned item: speedup tanh...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

patch #3592: Reassigned item: speedup tanh function in libm

Submitter:  None
Submitted:  Wed 22 Dec 2004 10:23:15 PM UTC
   
 
Category:  None Priority:  7 - High
Status:  Done Privacy:  Public
Assigned to:  None Originator Email:  -email is unavailable-
Open/Closed:  Closed

Wed 22 Dec 2004 10:23:15 PM UTC, comment #1: 

This item has been reassigned from the project AVR C Runtime Library bugs tracker to your tracker.

The original report is still available at bugs #10413

Following are the information included in the original report:

[field #0] Item ID: 10413
[field #1] Group ID: 2140
[field #2] Status: Open
[field #3] Severity: 5 - Average
[field #4] Privacy: Public
[field #5] Category: Library
[field #6] Submitted by: None
[field #7] Assigned to: None
[field #8] Submitted on: Thu 09/16/2004 at 14:41
[field #9] Summary: speedup tanh function in libm
[field #10] Original Submission: The current code uses sinh/cosh which results in 2 calls to exp (each function calls it once) where the other variant (commented out in tanh.S) would only need it once. (it would also save 2 calls of inverse and 1 of ldexp and saves memory by not needing cosh/sinh)



The problem is the other code has a bug. It gives to the ldexp function an 1-byte-parameter where it should be 2 bytes. (see the 2 lines before the call of ldexp.)



Appended is a file which uses this other variant and has this bug fixed. (It speedsup  my application which uses tanh extensively about 40%.)
[field #12] Item Group: None
[field #13] Resolution: None
[field #14] Component Version: None
[field #15] Platform Version: None
[field #16] Reproducibility: None
[field #17] Size (loc): None
[field #18] Fixed Release: None
[field #19] Planned Release: None
[field #20] Effort: 0.00
[field #24] Priority: 7 - High
[field #27] Percent Complete: 0%
[field #29] Release: None
[field #32] Originator Email: R.Liebscher@gmx.de
[field #54] Custom Select Box #1: None
[field #55] Custom Select Box #2: None
[field #56] Custom Select Box #3: None
[field #57] Custom Select Box #4: None
[field #58] Custom Select Box #5: None
[field #59] Custom Select Box #6: None
[field #60] Custom Select Box #7: None
[field #61] Custom Select Box #8: None
[field #62] Custom Select Box #9: None
[field #63] Custom Select Box #10: None

Eric Weddington <arcanum>
Group administrator
Wed 22 Dec 2004 10:23:15 PM UTC, original submission:  

The current code uses sinh/cosh which results in 2 calls to exp (each function calls it once) where the other variant (commented out in tanh.S) would only need it once. (it would also save 2 calls of inverse and 1 of ldexp and saves memory by not needing cosh/sinh)

The problem is the other code has a bug. It gives to the ldexp function an 1-byte-parameter where it should be 2 bytes. (see the 2 lines before the call of ldexp.)

Appended is a file which uses this other variant and has this bug fixed. (It speedsup  my application which uses tanh extensively about 40%.)

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #8203:  tanh.S added by None (4KiB - application/octet-stream - my version using the corrected other variant to calculate tanh)

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

 

Follow 5 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2005-11-13 aesok StatusNone Done
    Assigned toaesok None
    Open/ClosedOpen Closed
2005-11-13 aesok Assigned toNone aesok
2004-12-22 arcanum Reassign itemFrom group AVR C Runtime Library, bugs tracker To group AVR C Runtime Library, patch tracker

Back to the top

Powered by Savane 3.13-f8d8.
Corresponding source code