Try to add routines to the library to satisfy all the dependencies for each routine in the library. Returns a set of routine names that have the dependencies unresolved.
(self)
| 153 | return list(self.names_to_routines.values()) |
| 154 | |
| 155 | def resolveAllDependencies(self): |
| 156 | """Try to add routines to the library to satisfy all the dependencies |
| 157 | for each routine in the library. |
| 158 | |
| 159 | Returns a set of routine names that have the dependencies unresolved. |
| 160 | """ |
| 161 | done_this = set() |
| 162 | last_todo = set() |
| 163 | while True: |
| 164 | todo = set(self.allRoutineNames()) - done_this |
| 165 | if todo == last_todo: |
| 166 | break |
| 167 | for rn in todo: |
| 168 | r = self.getRoutine(rn) |
| 169 | deps = r.dependencies() |
| 170 | for d in deps: |
| 171 | self.addRoutine(d) |
| 172 | done_this.add(rn) |
| 173 | last_todo = todo |
| 174 | return todo |
| 175 | |
| 176 | class LapackLibrary(FortranLibrary): |
| 177 | def _newFortranRoutine(self, rname, filename): |
no test coverage detected