MCPcopy Create free account
hub / github.com/PierreGode/Ragnar / _dropFloatingPoint

Method _dropFloatingPoint

pager_lib/pyasn1/codec/ber/encoder.py:392–417  ·  view source on GitHub ↗
(m, encbase, e)

Source from the content-addressed store, hash-verified

390
391 @staticmethod
392 def _dropFloatingPoint(m, encbase, e):
393 ms, es = 1, 1
394 if m < 0:
395 ms = -1 # mantissa sign
396
397 if e < 0:
398 es = -1 # exponent sign
399
400 m *= ms
401
402 if encbase == 8:
403 m *= 2 ** (abs(e) % 3 * es)
404 e = abs(e) // 3 * es
405
406 elif encbase == 16:
407 m *= 2 ** (abs(e) % 4 * es)
408 e = abs(e) // 4 * es
409
410 while True:
411 if int(m) != m:
412 m *= encbase
413 e -= 1
414 continue
415 break
416
417 return ms, int(m), encbase, e
418
419 def _chooseEncBase(self, value):
420 m, b, e = value

Callers 2

_chooseEncBaseMethod · 0.95
_chooseEncBaseMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected