Changeset 2818


Ignore:
Timestamp:
Jul 19, 2010 7:54:53 PM (9 years ago)
Author:
khunter
Message:

Make use of Python functions as first-class citizens to clean up
some uber long lines and add just smidgen of readability.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • coopr.pysp/trunk/coopr/pysp/phobjective.py

    r2817 r2818  
    343343
    344344                        # compute the breakpoint sequence according to the specified strategy.
    345                         breakpoints = []
    346                         if breakpoint_strategy == 0:
    347                            breakpoints = compute_uniform_breakpoints(lb, node_min, xavg(), node_max, ub, \
    348                                                                      linearize_nonbinary_penalty_terms, \
    349                                                                      tolerance)
    350                         elif breakpoint_strategy == 1:
    351                            breakpoints = compute_uniform_between_nodestat_breakpoints(lb, node_min, xavg(), node_max, ub, \
    352                                                                                       linearize_nonbinary_penalty_terms, \
    353                                                                                       tolerance)
    354                         elif breakpoint_strategy == 2:
    355                            breakpoints = compute_uniform_between_woodruff_breakpoints(lb, node_min, xavg(), node_max, ub, \
    356                                                                                       linearize_nonbinary_penalty_terms, \
    357                                                                                       tolerance)
    358                         elif breakpoint_strategy == 3:
    359                            breakpoints = compute_exponential_from_mean_breakpoints(lb, node_min, xavg(), node_max, ub, \
    360                                                                                    linearize_nonbinary_penalty_terms, \
    361                                                                                    tolerance)
    362                         else:
    363                            raise ValueError, "A breakpoint distribution strategy="+str(breakpoint_strategy)+" is currently not supported within PH!"
     345                        try:
     346                            strategy = (
     347                              compute_uniform_breakpoints,
     348                              compute_uniform_between_nodestat_breakpoints,
     349                              compute_uniform_between_woodruff_breakpoints,
     350                              compute_exponential_from_mean_breakpoints,
     351                            )[ breakpoint_strategy ]
     352                            args = ( lb, node_min, xavg(), node_max, ub, \
     353                                linearize_nonbinary_penalty_terms, tolerance )
     354                            breakpoints = strategy( *args )
     355                        except ValueError, e:
     356                            msg = 'A breakpoint distribution strategy (%s) '  \
     357                                  'is currently not supported within PH!'
     358                            raise ValueError, msg % breakpoint_strategy
    364359
    365360                        for i in range(0,len(breakpoints)-1):
Note: See TracChangeset for help on using the changeset viewer.