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

Method __str__

numpy/lib/polynomial.py:1268–1323  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1266 return self.order
1267
1268 def __str__(self):
1269 thestr = "0"
1270 var = self.variable
1271
1272 # Remove leading zeros
1273 coeffs = self.coeffs[NX.logical_or.accumulate(self.coeffs != 0)]
1274 N = len(coeffs)-1
1275
1276 def fmt_float(q):
1277 s = '%.4g' % q
1278 if s.endswith('.0000'):
1279 s = s[:-5]
1280 return s
1281
1282 for k, coeff in enumerate(coeffs):
1283 if not iscomplex(coeff):
1284 coefstr = fmt_float(real(coeff))
1285 elif real(coeff) == 0:
1286 coefstr = '%sj' % fmt_float(imag(coeff))
1287 else:
1288 coefstr = '(%s + %sj)' % (fmt_float(real(coeff)),
1289 fmt_float(imag(coeff)))
1290
1291 power = (N-k)
1292 if power == 0:
1293 if coefstr != '0':
1294 newstr = '%s' % (coefstr,)
1295 else:
1296 if k == 0:
1297 newstr = '0'
1298 else:
1299 newstr = ''
1300 elif power == 1:
1301 if coefstr == '0':
1302 newstr = ''
1303 elif coefstr == 'b':
1304 newstr = var
1305 else:
1306 newstr = '%s %s' % (coefstr, var)
1307 else:
1308 if coefstr == '0':
1309 newstr = ''
1310 elif coefstr == 'b':
1311 newstr = '%s**%d' % (var, power,)
1312 else:
1313 newstr = '%s %s**%d' % (coefstr, var, power)
1314
1315 if k > 0:
1316 if newstr != '':
1317 if newstr.startswith('-'):
1318 thestr = "%s - %s" % (thestr, newstr[1:])
1319 else:
1320 thestr = "%s + %s" % (thestr, newstr)
1321 else:
1322 thestr = newstr
1323 return _raise_power(thestr)
1324
1325 def __call__(self, val):

Callers

nothing calls this directly

Calls 6

iscomplexFunction · 0.90
realFunction · 0.90
imagFunction · 0.90
_raise_powerFunction · 0.85
accumulateMethod · 0.80
startswithMethod · 0.80

Tested by

no test coverage detected