Re: [MTT devel] [MTT svn] svn:mtt-svn r1377
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
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
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/