Re: avoiding non-machine numbers
- To: mathgroup at smc.vnet.net
- Subject: [mg115609] Re: avoiding non-machine numbers
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Sun, 16 Jan 2011 05:53:34 -0500 (EST)
It made far less difference here:
switchCatchUnderflow[] := (SetSystemOptions[
CatchMachineUnderflow -> #1] &)[! CatchMachineUnderflow /.
SystemOptions[CatchMachineUnderflow]]
Exp[-#^2] &@RandomReal[NormalDistribution[0, 20], 400000]; // Timing
switchCatchUnderflow[];
Exp[-#^2] &@RandomReal[NormalDistribution[0, 20], 400000]; // Timing
{1.54747, Null}
{1.4913, Null}
$Version
"8.0 for Mac OS X x86 (64-bit) (November 6, 2010)"
Bobby
On Sat, 15 Jan 2011 03:47:22 -0600, Achilleas Lazarides
<achilleas.lazarides at gmx.com> wrote:
> I have this in my init.m:
>
> switchCatchUnderflow[]:==(SetSystemOptions[CatchMachineUnderflow->#1]&)[!CatchMachineUnderflow/.SystemOptions[CatchMachineUnderflow]]
>
> which flips the option indicated. I get:
>
> In[65]:== Exp[-#^2] &@
> RandomReal[NormalDistribution[0, 20], 400000]; // Timing
> switchCatchUnderflow[];
> Exp[-#^2] &@RandomReal[NormalDistribution[0, 20], 400000]; // Timing
>
> Out[65]== {1.62773, Null}
>
> Out[67]== {0.12662, Null}
>
> On Jan14, 2011, at 12:17 PM, wpb wrote:
>
>> t == RandomReal[NormalDistribution[0, 20], 400000];
>> Exp[-t^2]; // Timing
>
--
DrMajorBob at yahoo.com