MCPcopy Create free account
hub / github.com/numpy/numpy / tostring

Method tostring

numpy/f2py/symbolic.py:276–419  ·  view source on GitHub ↗

Return a string representation of Expr.

(self, parent_precedence=Precedence.NONE,
                 language=Language.Fortran)

Source from the content-addressed store, hash-verified

274 return self.tostring()
275
276 def tostring(self, parent_precedence=Precedence.NONE,
277 language=Language.Fortran):
278 """Return a string representation of Expr.
279 """
280 if self.op in (Op.INTEGER, Op.REAL):
281 precedence = (Precedence.SUM if self.data[0] < 0
282 else Precedence.ATOM)
283 r = str(self.data[0]) + (f'_{self.data[1]}'
284 if self.data[1] != 4 else '')
285 elif self.op is Op.COMPLEX:
286 r = ', '.join(item.tostring(Precedence.TUPLE, language=language)
287 for item in self.data)
288 r = '(' + r + ')'
289 precedence = Precedence.ATOM
290 elif self.op is Op.SYMBOL:
291 precedence = Precedence.ATOM
292 r = str(self.data)
293 elif self.op is Op.STRING:
294 r = self.data[0]
295 if self.data[1] != 1:
296 r = self.data[1] + '_' + r
297 precedence = Precedence.ATOM
298 elif self.op is Op.ARRAY:
299 r = ', '.join(item.tostring(Precedence.TUPLE, language=language)
300 for item in self.data)
301 r = '[' + r + ']'
302 precedence = Precedence.ATOM
303 elif self.op is Op.TERMS:
304 terms = []
305 for term, coeff in sorted(self.data.items()):
306 if coeff < 0:
307 op = ' - '
308 coeff = -coeff
309 else:
310 op = ' + '
311 if coeff == 1:
312 term = term.tostring(Precedence.SUM, language=language)
313 elif term == as_number(1):
314 term = str(coeff)
315 else:
316 term = f'{coeff} * ' + term.tostring(
317 Precedence.PRODUCT, language=language)
318 if terms:
319 terms.append(op)
320 elif op == ' - ':
321 terms.append('-')
322 terms.append(term)
323 r = ''.join(terms) or '0'
324 precedence = Precedence.SUM if terms else Precedence.ATOM
325 elif self.op is Op.FACTORS:
326 factors = []
327 tail = []
328 for base, exp in sorted(self.data.items()):
329 op = ' * '
330 if exp == 1:
331 factor = base.tostring(Precedence.PRODUCT,
332 language=language)
333 elif language is Language.C:

Callers 3

__str__Method · 0.95
analyzevarsFunction · 0.45
test_tostring_cMethod · 0.45

Calls 3

as_numberFunction · 0.85
joinMethod · 0.80
itemsMethod · 0.80

Tested by 1

test_tostring_cMethod · 0.36