(lisp_list, procedures, infos)
| 147 | # TODO: convert optimizer into a set of streams? Already present within test stream |
| 148 | |
| 149 | def parse_optimizer(lisp_list, procedures, infos): |
| 150 | _, optimizer_name = lisp_list[:2] |
| 151 | procedure = get_procedure_fn(procedures, optimizer_name) |
| 152 | optimizer_info = infos.get(optimizer_name, OptimizerInfo()) |
| 153 | optimizer = Optimizer(optimizer_name, procedure, optimizer_info) |
| 154 | for sub_list in lisp_list[2:]: |
| 155 | form = sub_list[0] |
| 156 | if form == VARIABLES: |
| 157 | optimizer.variables.append(parse_variable(optimizer, sub_list, infos)) |
| 158 | elif form == CONSTRAINT: |
| 159 | optimizer.constraints.append(parse_constraint(optimizer, sub_list, infos)) |
| 160 | elif form == ':objective': |
| 161 | optimizer.objectives.append(sub_list[1]) |
| 162 | else: |
| 163 | raise ValueError(form) |
| 164 | return optimizer.get_streams() |
| 165 | |
| 166 | ################################################## |
| 167 |
no test coverage detected