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

Submitted by:  None
Submitted on:  Wed 22 Dec 2004 10:23:15 PM UTC  
 
Category: NonePriority: 7 - High
Status: DonePrivacy: Public
Assigned to: NoneOriginator Email: -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>
Project 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

 

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

 

Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

Follow 5 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Sun 13 Nov 2005 09:18:41 PM UTCaesokStatusNone=>Done
  Assigned toaesok=>None
  Open/ClosedOpen=>Closed
Sun 13 Nov 2005 06:03:47 PM UTCaesokAssigned toNone=>aesok
Wed 22 Dec 2004 10:23:15 PM UTCarcanumReassign itemFrom group AVR C Runtime Library, bugs tracker=>To group AVR C Runtime Library, patch tracker

Back to the top


Powered by Savane 3.1-cleanup1