Changeset 725
- Timestamp:
- 08/09/10 23:56:58 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
PythonPackages/FuncDesigner/FuncDesigner/examples/nlp1.py
r460 r725 12 12 #r = p.maximize('ralg') 13 13 print(r.xf) 14 print a(r.xf) 14 15 a_opt, b_opt, c_opt = r(a, b, c) 15 16 # or any of the following: PythonPackages/FuncDesigner/FuncDesigner/ooFun.py
r724 r725 522 522 """ getFunc """ 523 523 def _getFunc(self, *args, **kwargs): 524 Args = args 524 525 if len(args) == 0 and len(kwargs) == 0: 525 526 raise FuncDesignerException('at least one argument is required') … … 527 528 if type(args[0]) != str: 528 529 assert not isinstance(args[0], oofun), "you can't invoke oofun on another one oofun" 529 530 x = args[0] 531 if isinstance(x, dict) and not isinstance(x, ooPoint): 532 x = ooPoint(x) 533 Args = (x,)+args[1:] 530 534 if self.is_oovar: 531 535 if isinstance(x, dict): 532 536 tmp = x.get(self, None) 533 537 if tmp is not None: 534 return tmp #if type(tmp)==ndarray else asfarray(tmp)538 return float(tmp) if isscalar(tmp) or type(tmp)==ndarray else array(tmp, 'float') 535 539 elif self.name in x: 536 540 return asfarray(x[self.name]) … … 552 556 return self 553 557 554 return self._getFuncCalcEngine(* args, **kwargs)558 return self._getFuncCalcEngine(*Args, **kwargs) 555 559 556 560 PythonPackages/FuncDesigner/FuncDesigner/ooPoint.py
r724 r725 8 8 9 9 from misc import FuncDesignerException 10 from numpy import asfarray, ndarray 10 from numpy import asfarray, ndarray, isscalar 11 11 12 12 class ooPoint(dict): … … 14 14 def __init__(self, *args, **kwargs): 15 15 if args: 16 items = [(key, asfarray(val) if type(val) != ndarray else val) for key, val in args[0]] if not isinstance(args[0], dict) else args[0].items() 16 if not isinstance(args[0], dict): 17 items = [(key, asfarray(val) if not isscalar(val) else float(val)) for key, val in args[0]] 18 else: 19 items = [(key, asfarray(val) if not isscalar(val) else float(val)) for key, val in args[0].items()] 17 20 elif kwargs: 18 items = [(key, asfarray(val) if type(val) != ndarray else val) for key, val in kwargs.items()]21 items = [(key, asfarray(val) if not isscalar(val) else float(val)) for key, val in kwargs.items()] 19 22 else: 20 23 raise FuncDesignerException('incorrect oopoint constructor arguments') … … 23 26 24 27 for key, val in items: 28 assert type(val) not in [list, ndarray] or type(val[0]) != int 25 29 if 'size' in key.__dict__ and type(key.size) == int and Len(val) != key.size: 26 30 s = 'incorrect size for oovar %s: %d is required, %d is obtained' % (self.name, self.size, Size)
