40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log  Not logged in ELOG logo
Entry  Wed Nov 30 02:04:26 2011, rana, den, jenne, kiwamu, jzweizig, Update, CDS, Filtering Noise issue tracked down ??? 
    Reply  Wed Nov 30 11:04:26 2011, josephb, Update, CDS, Filtering Noise issue tracked down ??? 
    Reply  Wed Nov 30 11:36:12 2011, Den, Update, CDS, Filtering Noise issue tracked down ??? 
Message ID: 6051     Entry time: Wed Nov 30 11:04:26 2011     In reply to: 6049
Author: josephb 
Type: Update 
Category: CDS 
Subject: Filtering Noise issue tracked down ??? 


For now, I suppose we can just change this number to 1e-40 or so. I don't know how to calculate what the right number should be. Not sure why this underflow is not an issue for the BiQuad, however.

According to the RCG SVN logs, the reason it was removed was a more general change done to the compiled code, not specific to just the biquad.  Basically, the ability to have an underflow number (subnormal) has been turned off completely by having any number that underflows set to zero. I'm not positive, but from a quick search looks that the smallest number before hitting is an underflow as a double is 2.2250738585072014e-308.

Alex's entry from the SVN log for 2663:

Added new fz_daz() function to turn on two bits in the FPU SSE control register.
Bits FZ (flush underflows to zero) and DOZ (denorms are zeros) are set to
avoid runaway code on float/double denorms (really small numbers).
Ref: http://software.intel.com/en-us/articles/how-to-avoid-performance-penalties-for-gradual-underflow-behavior/

SVN log 2664:

Removed +- 1e-20 limiting code, this is taken care of by setting FZ/DOZ bits
in the CPU SEE control register (see mathInline.h)

SVN log 2665:

Kill the underflows and roll down float denorms to zero,
see fz_doz() in mathInline.h.

ELOG V3.1.3-