Re: [MTT devel] [MTT svn] svn:mtt-svn r1377

2011-01-03 Thread Jeff Squyres
Ok, that's what I thought, but your comment doesn't seem to match this:

# mtt_switch(@np@, 9, "return1", 100, return2", "default", 0);

You have an extra "return" in there, and the 5th argument doesn't seem to be 
quoted properly.



On Jan 3, 2011, at 8:21 AM, Mike Dubman wrote:

> Hi,
> it is c-style *switch* replacement, to simplify statements like this:
> 
> transport   = &if (&eq('@cycle@', '1'), '@btl_openib@' ,\
>  &if (&eq('@cycle@', '2'), '@btl_openib@',\
>&if (&eq('@cycle@', '3'), '@btl_eth10g@',\
>  &if (&eq('@cycle@', '4'), '@btl_eth10g@',\
>&if (&eq('@cycle@', '3a'), '@btl_eth10g@ -x 
> custom_noswitchconnect=1',\
>  &if (&eq('@cycle@', '4a'), '@btl_eth10g@ -x 
> custom_noswitchconnect=1',\
>&if (&eq('@cycle@', '5'), '@btl_eth10g@',\
>  &if (&eq('@cycle@', '6'), '@btl_eth10g@',\
>&if (&eq('@cycle@', '7'), '@btl_eth10g@',\
>  &if (&eq('@cycle@', '8'), 
> '@btl_eth10g@',\
>&if (&eq('@cycle@', '11'), 
> '@btl_eth10g@',\
>  &if (&eq('@cycle@', '12'), 
> '@btl_eth10g@',\
>'@btl_rdmaoe@'\
>  )\
>)\
>  )\
>)\
>  )\
>)\
>  )\
>)\
>  )\
>)\
> )\
>   )
> 
> which can be rewritten as:
> 
> transport = mtt_switch(@cycle@, 1, @btl_openib@, 2, @btl_eth10g@, ...)
> 
> Will update wiki as well.
> 
> 
> Regards
> 
> 
> 
> On Mon, Jan 3, 2011 at 2:54 PM, Jeff Squyres  wrote:
> Mike --
> 
> Can you explain this one a little?  I don't understand the example you gave 
> in the comment.
> 
> Also, are you adding all the new funclets to the wiki documentation?
> 
> 
> 
> On Dec 29, 2010, at 3:52 AM, mi...@osl.iu.edu wrote:
> 
> > Author: miked
> > Date: 2010-12-29 03:52:24 EST (Wed, 29 Dec 2010)
> > New Revision: 1377
> > URL: https://svn.open-mpi.org/trac/mtt/changeset/1377
> >
> > Log:
> > added mtt_switch to simplify if-then-else cases in ini files
> >
> > Text files modified:
> >   trunk/lib/MTT/Values/Functions.pm |21 +
> >   1 files changed, 21 insertions(+), 0 deletions(-)
> >
> > Modified: trunk/lib/MTT/Values/Functions.pm
> > ==
> > --- trunk/lib/MTT/Values/Functions.pm (original)
> > +++ trunk/lib/MTT/Values/Functions.pm 2010-12-29 03:52:24 EST (Wed, 29 Dec 
> > 2010)
> > @@ -3163,4 +3163,25 @@
> >   return $x->{result_stdout};
> > }
> >
> > +#
> > +# Poor man switch statement
> > +# Example: mtt_switch(@np@, 9, "return1", 100, return2", "default", 0);
> > +#
> > +
> > +sub mtt_switch
> > +{
> > +my ($var, %cases) = @_;
> > +
> > +if ($cases{$var}) {
> > +return $cases{$var};
> > +}
> > +
> > +if ($cases{'default'}) {
> > +return $cases{'default'};
> > +}
> > +
> > +Debug("ERROR: Not found case for $var\n");
> > +}
> > +
> > +
> > 1;
> > ___
> > mtt-svn mailing list
> > mtt-...@open-mpi.org
> > http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn
> 
> 
> --
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> 


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/




Re: [MTT devel] [MTT svn] svn:mtt-svn r1377

2011-01-03 Thread Mike Dubman
Hi,
it is c-style *switch* replacement, to simplify statements like this:

transport   = &if (&eq('@cycle@', '1'), '@btl_openib@' ,\
 &if (&eq('@cycle@', '2'), '@btl_openib@',\
   &if (&eq('@cycle@', '3'), '@btl_eth10g@',\
 &if (&eq('@cycle@', '4'), '@btl_eth10g@',\
   &if (&eq('@cycle@', '3a'), '@btl_eth10g@ -x
custom_noswitchconnect=1',\
 &if (&eq('@cycle@', '4a'), '@btl_eth10g@ -x
custom_noswitchconnect=1',\
   &if (&eq('@cycle@', '5'), '@btl_eth10g@',\
 &if (&eq('@cycle@', '6'), '@btl_eth10g@',\
   &if (&eq('@cycle@', '7'), '@btl_eth10g@
',\
 &if (&eq('@cycle@', '8'), '@btl_eth10g@
',\
   &if (&eq('@cycle@', '11'),
'@btl_eth10g@',\
 &if (&eq('@cycle@', '12'),
'@btl_eth10g@',\
   '@btl_rdmaoe@'\
 )\
   )\
 )\
   )\
 )\
   )\
 )\
   )\
 )\
   )\
)\
  )

which can be rewritten as:

transport = mtt_switch(@cycle@, 1, @btl_openib@, 2, @btl_eth10g@, ...)

Will update wiki as well.


Regards



On Mon, Jan 3, 2011 at 2:54 PM, Jeff Squyres  wrote:

> Mike --
>
> Can you explain this one a little?  I don't understand the example you gave
> in the comment.
>
> Also, are you adding all the new funclets to the wiki documentation?
>
>
>
> On Dec 29, 2010, at 3:52 AM, mi...@osl.iu.edu wrote:
>
> > Author: miked
> > Date: 2010-12-29 03:52:24 EST (Wed, 29 Dec 2010)
> > New Revision: 1377
> > URL: https://svn.open-mpi.org/trac/mtt/changeset/1377
> >
> > Log:
> > added mtt_switch to simplify if-then-else cases in ini files
> >
> > Text files modified:
> >   trunk/lib/MTT/Values/Functions.pm |21 +
> >   1 files changed, 21 insertions(+), 0 deletions(-)
> >
> > Modified: trunk/lib/MTT/Values/Functions.pm
> >
> ==
> > --- trunk/lib/MTT/Values/Functions.pm (original)
> > +++ trunk/lib/MTT/Values/Functions.pm 2010-12-29 03:52:24 EST (Wed, 29
> Dec 2010)
> > @@ -3163,4 +3163,25 @@
> >   return $x->{result_stdout};
> > }
> >
> > +#
> > +# Poor man switch statement
> > +# Example: mtt_switch(@np@, 9, "return1", 100, return2", "default", 0);
> > +#
> > +
> > +sub mtt_switch
> > +{
> > +my ($var, %cases) = @_;
> > +
> > +if ($cases{$var}) {
> > +return $cases{$var};
> > +}
> > +
> > +if ($cases{'default'}) {
> > +return $cases{'default'};
> > +}
> > +
> > +Debug("ERROR: Not found case for $var\n");
> > +}
> > +
> > +
> > 1;
> > ___
> > mtt-svn mailing list
> > mtt-...@open-mpi.org
> > http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn
>
>
> --
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
>
>


Re: [MTT devel] [MTT svn] svn:mtt-svn r1377

2011-01-03 Thread Jeff Squyres
Mike -- 

Can you explain this one a little?  I don't understand the example you gave in 
the comment.

Also, are you adding all the new funclets to the wiki documentation?



On Dec 29, 2010, at 3:52 AM, mi...@osl.iu.edu wrote:

> Author: miked
> Date: 2010-12-29 03:52:24 EST (Wed, 29 Dec 2010)
> New Revision: 1377
> URL: https://svn.open-mpi.org/trac/mtt/changeset/1377
> 
> Log:
> added mtt_switch to simplify if-then-else cases in ini files
> 
> Text files modified: 
>   trunk/lib/MTT/Values/Functions.pm |21 + 
>   
>   1 files changed, 21 insertions(+), 0 deletions(-)
> 
> Modified: trunk/lib/MTT/Values/Functions.pm
> ==
> --- trunk/lib/MTT/Values/Functions.pm (original)
> +++ trunk/lib/MTT/Values/Functions.pm 2010-12-29 03:52:24 EST (Wed, 29 Dec 
> 2010)
> @@ -3163,4 +3163,25 @@
>   return $x->{result_stdout};
> }
> 
> +#
> +# Poor man switch statement
> +# Example: mtt_switch(@np@, 9, "return1", 100, return2", "default", 0);
> +#
> +
> +sub mtt_switch
> +{
> +my ($var, %cases) = @_;
> +
> +if ($cases{$var}) {
> +return $cases{$var};
> +}
> +
> +if ($cases{'default'}) {
> +return $cases{'default'};
> +}
> +
> +Debug("ERROR: Not found case for $var\n");
> +}
> +
> +
> 1;
> ___
> mtt-svn mailing list
> mtt-...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/mtt-svn


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/