mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-30 16:31:08 +00:00
hamming_code.py: Reduce McCabe code complexity (#2140)
* hamming_code.py: Reduce McCabe code complexity As discussed in #2128 * fixup! Format Python code with psf/black push Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
This commit is contained in:
parent
fdc5bee7af
commit
cbbaa98684
|
@ -131,10 +131,7 @@ def emitterConverter(sizePar, data):
|
||||||
if x == "1":
|
if x == "1":
|
||||||
contBO += 1
|
contBO += 1
|
||||||
contLoop += 1
|
contLoop += 1
|
||||||
if contBO % 2 == 0:
|
parity.append(contBO % 2)
|
||||||
parity.append(0)
|
|
||||||
else:
|
|
||||||
parity.append(1)
|
|
||||||
|
|
||||||
qtdBP += 1
|
qtdBP += 1
|
||||||
|
|
||||||
|
@ -168,14 +165,11 @@ def receptorConverter(sizePar, data):
|
||||||
for x in range(1, len(data) + 1):
|
for x in range(1, len(data) + 1):
|
||||||
# Performs a template of bit positions - who should be given,
|
# Performs a template of bit positions - who should be given,
|
||||||
# and who should be parity
|
# and who should be parity
|
||||||
if qtdBP < sizePar:
|
if qtdBP < sizePar and (np.log(x) / np.log(2)).is_integer():
|
||||||
if (np.log(x) / np.log(2)).is_integer():
|
|
||||||
dataOutGab.append("P")
|
dataOutGab.append("P")
|
||||||
qtdBP = qtdBP + 1
|
qtdBP = qtdBP + 1
|
||||||
else:
|
else:
|
||||||
dataOutGab.append("D")
|
dataOutGab.append("D")
|
||||||
else:
|
|
||||||
dataOutGab.append("D")
|
|
||||||
|
|
||||||
# Sorts the data to the new output size
|
# Sorts the data to the new output size
|
||||||
if dataOutGab[-1] == "D":
|
if dataOutGab[-1] == "D":
|
||||||
|
@ -201,14 +195,11 @@ def receptorConverter(sizePar, data):
|
||||||
for x in range(1, sizePar + len(dataOutput) + 1):
|
for x in range(1, sizePar + len(dataOutput) + 1):
|
||||||
# Performs a template position of bits - who should be given,
|
# Performs a template position of bits - who should be given,
|
||||||
# and who should be parity
|
# and who should be parity
|
||||||
if qtdBP < sizePar:
|
if qtdBP < sizePar and (np.log(x) / np.log(2)).is_integer():
|
||||||
if (np.log(x) / np.log(2)).is_integer():
|
|
||||||
dataOutGab.append("P")
|
dataOutGab.append("P")
|
||||||
qtdBP = qtdBP + 1
|
qtdBP = qtdBP + 1
|
||||||
else:
|
else:
|
||||||
dataOutGab.append("D")
|
dataOutGab.append("D")
|
||||||
else:
|
|
||||||
dataOutGab.append("D")
|
|
||||||
|
|
||||||
# Sorts the data to the new output size
|
# Sorts the data to the new output size
|
||||||
if dataOutGab[-1] == "D":
|
if dataOutGab[-1] == "D":
|
||||||
|
@ -230,14 +221,10 @@ def receptorConverter(sizePar, data):
|
||||||
aux = (binPos[contLoop])[-1 * (bp)]
|
aux = (binPos[contLoop])[-1 * (bp)]
|
||||||
except IndexError:
|
except IndexError:
|
||||||
aux = "0"
|
aux = "0"
|
||||||
if aux == "1":
|
if aux == "1" and x == "1":
|
||||||
if x == "1":
|
|
||||||
contBO += 1
|
contBO += 1
|
||||||
contLoop += 1
|
contLoop += 1
|
||||||
if contBO % 2 == 0:
|
parity.append(str(contBO % 2))
|
||||||
parity.append("0")
|
|
||||||
else:
|
|
||||||
parity.append("1")
|
|
||||||
|
|
||||||
qtdBP += 1
|
qtdBP += 1
|
||||||
|
|
||||||
|
@ -250,11 +237,7 @@ def receptorConverter(sizePar, data):
|
||||||
else:
|
else:
|
||||||
dataOut.append(dataOrd[x])
|
dataOut.append(dataOrd[x])
|
||||||
|
|
||||||
if parityReceived == parity:
|
ack = parityReceived == parity
|
||||||
ack = True
|
|
||||||
else:
|
|
||||||
ack = False
|
|
||||||
|
|
||||||
return dataOutput, ack
|
return dataOutput, ack
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user