MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Style for function calls?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg97346] Re: Style for function calls?
  • From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
  • Date: Wed, 11 Mar 2009 04:25:25 -0500 (EST)
  • References: <goqpg6$lsb$1@smc.vnet.net>

For constructions where you re-use data several times @ can be shorter
and sometimes faster than standard function call:

myList = RandomReal[{0, 10}, {10000, 2}];

finding the coordinate with the largest value at the end:

Cases[#, {_, x_} /; x == Max[#[[All, 2]]]] & @ ( myList^2) // Timing

{5.156, {{50.8683, 99.998}}}

 Cases[ myList^2, {_, x_} /; x == Max[(myList^2)[[All, 2]]]] // Timing

Out[32]= {10.875, {{50.8683, 99.998}}}

[BTW: try this without the square and the difference becomes very
small]

Cheers -- Sjoerd


On Mar 6, 11:13 am, Erik Max Francis <m... at alcyone.com> wrote:
> I'm fairly new to Mathematica and have a style question rather than a
> functionality question.
>
> I'm aware with the operator forms for Postfix (//), Prefix (@), and
> Infix (~), and I've found the // operator useful for piping long results
> through the ...Form functions, or N, or the like, as a quick
> afterthought while typing a lot of stuff.
>
> What are the analogous situations where @ or ~ are used?  Looking at
> random notebooks around I've from time to time seen them used but there
> doesn't seem to be any rhyme or reason; it's not clear when
> stylistically they'd be useful, as opposed to the // operator, which I
> can see and use myself.
>
> --
> Erik Max Francis && m... at alcyone.com &&http://www.alcyone.com/max/
>   San Jose, CA, USA && 37 18 N 121 57 W && AIM, Y!M erikmaxfrancis
>    To understand is to forgive, even oneself.
>     -- Alexander Chase



  • Prev by Date: Re: Re: Notebook that auto-executes when opened?
  • Next by Date: Re: String substitution system
  • Previous by thread: Re: Style for function calls?
  • Next by thread: Re: Style for function calls?