From 446a46fd69fdb8c88ccbb9d67f2cd2231eaaf40e Mon Sep 17 00:00:00 2001 From: Hubert Tylkowski Date: Sun, 1 Jul 2018 14:06:25 +0200 Subject: [PATCH] program now using polyomial class to calculate FCS --- .../artifacts/Zadanie_03_jar/Zadanie-03.jar | Bin 4737 -> 7139 bytes .../com/tylkowski/crc/CrcTask.class | Bin 6117 -> 4060 bytes .../Zadanie-03/com/tylkowski/crc/Main.class | Bin 942 -> 1221 bytes .../com/tylkowski/crc/Polynomial.class | Bin 0 -> 7226 bytes Zadanie-03/src/com/tylkowski/crc/CrcTask.java | 236 ++++-------------- Zadanie-03/src/com/tylkowski/crc/Main.java | 8 +- .../src/com/tylkowski/crc/Polynomial.java | 182 ++++++++++++++ 7 files changed, 241 insertions(+), 185 deletions(-) create mode 100644 Zadanie-03/out/production/Zadanie-03/com/tylkowski/crc/Polynomial.class create mode 100644 Zadanie-03/src/com/tylkowski/crc/Polynomial.java diff --git a/Zadanie-03/out/artifacts/Zadanie_03_jar/Zadanie-03.jar b/Zadanie-03/out/artifacts/Zadanie_03_jar/Zadanie-03.jar index 5d76ae0f2dda7ad203d16906b787b506ec968f19..3c9152ac77e42ea6b91bf48153106f9fb39ece53 100644 GIT binary patch delta 6552 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 L(w;w65a@pZb1yWX delta 4138 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 diff --git a/Zadanie-03/out/production/Zadanie-03/com/tylkowski/crc/CrcTask.class b/Zadanie-03/out/production/Zadanie-03/com/tylkowski/crc/CrcTask.class index 13d1da19b28d4406017191ec74390dde512765aa..1b2277baae38a669be095604bed48963f6bec1ec 100644 GIT binary patch literal 4060 zcmai0ZFdxB8NMd_GQ(yj7OtKr20HP*s3Iu`BO{fN;kWxF@Op<|p>+Wot zpsiNXw$_(oZ57d~sHIi3McYj*T904+;NgS+!Y>~E-g6MIduDbw>2Bd{^2{^ObI<*9 z-Pd!?{NsP`e*j=F{t`kzW>w5-m=B==mWFdG&W8}htcH|a(;@6aMnhI^a$@w940#y} zGT1T{Wmu5m=@1sNq~U^wFNN@BJfq=R4POc2t9VX^uZh2}Yq+T48ydc;;d!xoL53G) z|63C0B^kID#J6SRJ2HG%9{irnUY6M<8NM$OUs3S`6|X7?K4@hudqjb+yXT|=|7do` zRM4ETGUh}vJ#FSs7}F`PL=xGgkveJQExGp={r0?7P|%)8X4C!lQtEv6>B4!dKbcSV zkLHsnjKcY0Mldr;$La3w#5rTZ=ua7$x&BEzZ)N6&d+I#;Xg0N!$)+tM#itdE|6>Z& zv{@(^b515TUT89>VCy}7rD&LDk#;(_n-%lIu~6iaI-4v=Tm?;&wvjwPZseRA9hhEY zvlWEr%#4{gZ1eEw~Xim6WN1S z#>g)n$mflvsy78)bpfn{hMq3W(MQ?+rj%*h?4;+nyxh_~S~tOKEPa3Hr8@O)XTrB%pzt)iOyKI>$8#EOh zqIllPrWw;^Q%gNC&d`BJl(GXKJFB3@TRl*4u`Tazx3g7*-9<@utx;$)Tg)fT!UbSL6N{hg_yw-&_@xZL!mm}lA*R>(Ok4p}yr$z#yv5s2 z1q}m>Dt@Emx45q3clf=IDaSkOZWyGwG9Wf_9dC>CcW^@tXf=R8==dYv)$txmI+n4b z<57H0$Di=Nj?w29i+3mUncnVC`0 zSI46E0F-&GK(n)D=bO4~4Jl4)-dr&A1+rq>y_A57sB@-0XFwwV^{2aMiqTzEi?)^OcQ$xPTDzylKCaGO z%1F}Vq170Q3Qn3&6?tUM;Z=gLX1%V%4b_&8Wo&cK%oFY$HPz&;B(lnz+k@dTfvnNa zQb)>NY3Z(?E(I(zXU|h<3dQMyqaWgvXxF->G}H;^@W#p%%sjK%)jd}GT&=4ranuD7 zy5qASQEZpIeC1V(_i7_alf?1>gZWt#WmmN_Gv=bWsGA<4Xqq<`%;TBV(itd+o!gu;jmZ)T?>^K|BVKt zff6z5+jp3^&#CtqBAkcN$X_d~eGpAJfc1C;&3Fu9 ze34g^HaTp>1#H4|ygpCMm(fPmybo6q#dWmf209$Pa`ZF7z0Y8XC>HpH%v8b2!%$|! zj6>?;Ej)w~BHl_FewZ^K*B7y$Ge0x1n8^rH&fyRaau#INofzdzW$X^FjzGg_>3a`? zcNkVxaahF>6-O(7Z1IO^y^SWWC?8_uZG_#ujZ9z+$J}P(GDG|5=t!)DjVstR9*?v{ zT1#l-q_I5F%9H!tNx8jIb~GMX!R8gTyUi7RT|RAQ)*uNrY{Ld@$7bx{Zztk-z`?82 z4O_wH2>FqdBTGseEfnM2>I47w^Aba~wgGV9}B27F0*8C+s~zxZl@-S=(r(`Va{%M@8BjtE3Ub<4zhHNpqIfH#pVnQhkWUlhN%= z?g<`KSCszgiP9}ciE2bC7K@Oqy&g0}{#exSP&wi7DdE+{?RC8(HZoxmLxCDGi&DN= z-&!>bMuSwBkCCT}$f>@4T8k!HMc~3w)s-+!M2-@siiA# zuY0nkapzX01Gn&`(}70(ts+(>PprD|1`O`{8TVOCa~5C@r${Lgt1Eohh-|5hx!#d2 zSFGaj-(gs7tyodDM7SKiqDtwmUI{JvN$3&qNk$TOcgDPfpNK`=gP(}`q^ZuqPsFM; jk2r*VoG+@gWZe_kN~TEVF5NpTRk}xA-iR~YZGicI#rA)Y literal 6117 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 L@pC~=Y`gvsxqkhf diff --git a/Zadanie-03/out/production/Zadanie-03/com/tylkowski/crc/Main.class b/Zadanie-03/out/production/Zadanie-03/com/tylkowski/crc/Main.class index 86a430a01424cc018a89e9629cf6c860c9c38fd5..b8e11f9ee6c6e0244ff08354e93ff1da68ebc3e5 100644 GIT binary patch delta 676 zcmaKqOHWf#6otQY3%%{-QVW!~D5$Na6|Pi#6`xe=tBMI~VwAy6d##nyl2SE{_zO07 zeIsI@$Z2^U3@kUio;JL6^kL_CJ76J zc!-l0NoK>ONSmCpFp29hr_1v?I2xX|SRfPPj8-pd`mAQonVdJd(8?dEgg>PwgE58` zxgYYMesa?vKslF22T%Un^6zH;BVPSvfIoz-TeQY$aNu2f52!{#d2Y_79xljDZX zP4XtUY;JQ$PRiKa<(^G}`xs0T{ i9qD$&l&BHqV~#Q{{f^BD3}gHzYjSKxnBzhiocIf8^?YUk delta 490 zcmXw#Pfrs;7{-6ITRPqCpar2qMYNPZTBIu#6;MG!>`6`#5)K@ir3tl2lcEq35m=JBWP>(ipbUvGcxgpFEruc7eP>dpPiyZT|> zaFd*3IBdTUJ{<40+D8YiW)OD5V6_u&)DK$LFso3rnyTRmbDF1yXFNB|v!Gctyhse9 zzT}l*iDipkEAsy@jjmNm4Mu0qfZB|HtKD>CKWy(bqDgllI&$Yvd*$=&V{}aBD-$PH@DiaQ))+s1*0m&4HpbX^7aL!Y0yZj(FL8zvy;P+28&Pegd^eUM chGojipD1ugN{u9^oIjK_cZ&i>1vuRM2ZORkJ^%m! diff --git a/Zadanie-03/out/production/Zadanie-03/com/tylkowski/crc/Polynomial.class b/Zadanie-03/out/production/Zadanie-03/com/tylkowski/crc/Polynomial.class new file mode 100644 index 0000000000000000000000000000000000000000..98f1f4f91532556003e8b688bbc0f4df6ba423c9 GIT binary patch literal 7226 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 this will encode string "b" and return FCS // example "2" "bX" -> this will decode string "bX" and return true if it is valid or false if not // X - FCS - CrcTask crcTask = new CrcTask(args[1]); + CrcTask crcTask = new CrcTask(); if (args[0].equals("1")) { //create FCS - System.out.println(crcTask.encode()); + System.out.println(args[1] + crcTask.generateFCSChars(crcTask.encode(args[1]))); } else if (args[0].equals("2")) { // check fcs - if (args[1].length() >= 3) System.out.println(crcTask.decode(args[1])); + if (args[1].length() >= 3) { + System.out.println(crcTask.decode(args[1])); + } } } diff --git a/Zadanie-03/src/com/tylkowski/crc/Polynomial.java b/Zadanie-03/src/com/tylkowski/crc/Polynomial.java new file mode 100644 index 0000000..d1de700 --- /dev/null +++ b/Zadanie-03/src/com/tylkowski/crc/Polynomial.java @@ -0,0 +1,182 @@ +package com.tylkowski.crc; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +public class Polynomial { + private int[] polynomial; + private int modulo; + + public Polynomial(String polyString, int modulo) { + this.polynomial = parsePolynomialString(polyString); + this.modulo = modulo; + } + + public Polynomial(int[] polynomial, int modulo) { + this.polynomial = polynomial; + this.modulo = modulo; + } + + public Polynomial(List polynomial, int modulo) { + this.polynomial = polynomial.stream().mapToInt(i -> i).toArray(); + this.modulo = modulo; + } + + public Polynomial(Polynomial polynomial) { + this.polynomial = polynomial.getPolynomialArray(); + this.modulo = polynomial.getModulo(); + } + + + public void append(int index, int value) { + ArrayList poly = asArrayList(); + poly.add(index, value); + polynomial = poly.stream().mapToInt(i -> i).toArray(); + } + + + private int[] parsePolynomialString(String poly) { + poly = poly.substring(1, poly.length() - 1); + return Arrays.stream(poly.split(",\\s*")).map(String::trim).mapToInt(Integer::parseInt).toArray(); + } + + public int[] getPolynomialArray() { + return polynomial; + } + + + public int getModulo() { + return modulo; + } + + + public Polynomial subtract(Polynomial polyTwo) { + Polynomial polyOne = new Polynomial(this); + ArrayList result = new ArrayList<>(); + for (int i = 0; i < polyOne.getSize(); ++i) { + if (i < polyTwo.getSize()) { + result.add(Math.floorMod(polyOne.coeffAt(i) - polyTwo.coeffAt(i), modulo)); + } else { + result.add(polyOne.coeffAt(i)); + } + } + return new Polynomial(result, modulo); + } + + public int getSize() { + return polynomial.length; + } + + public int coeffAt(int i) { + return polynomial[i]; + } + + public void set(int index, int value) { + polynomial[index] = value; + } + + public List asList() { + return Arrays.stream(polynomial).boxed().collect(Collectors.toList()); + } + + public ArrayList asArrayList() { + ArrayList result = new ArrayList<>(); + for (int i = 0; i < polynomial.length; i++) { + result.add(polynomial[i]); + } + return result; + } + + public Polynomial add(Polynomial polyTwo) { + int size = Math.max(polynomial.length, polyTwo.getSize()); + int[] result = new int[size]; + for (int i = 0; i < size; i++) { + int res = 0; + if (i >= polynomial.length) { + res = polyTwo.coeffAt(i); + } + if (i >= polyTwo.getSize()) { + res = polynomial[i]; + } + if (i < polynomial.length && i < polyTwo.getSize()) { + res = polynomial[i] + polyTwo.coeffAt(i); + } + result[i] = res; + } + Polynomial resultPoly = new Polynomial(result, modulo); + resultPoly = resultPoly.moduloPoly(resultPoly); + return resultPoly; + } + + public Polynomial multiplyByNumber(int a) { + ArrayList result = new ArrayList<>(); + for (int i = 0; i < polynomial.length; i++) { + result.add((polynomial[i] * a) % modulo); + } + return new Polynomial(result, modulo); + } + + public boolean haveOnlyZeros() { + return !asArrayList().contains(1); + } + + public Polynomial moduloPoly(Polynomial poly) { + for (int i = 0; i < poly.getSize(); i++) { + while (poly.coeffAt(i) < 0) { + poly.getPolynomialArray()[i] = poly.getPolynomialArray()[i] + modulo; + } + poly.getPolynomialArray()[i] = poly.getPolynomialArray()[i] % modulo; + } + return poly; + } + + private int findZero(int a, int b, int modulo) { + for (int i = 0; i <= modulo; i++) { + if ((a + (-(b * i))) == 0) { + return i; + } + } + return -1; + } + public Polynomial moduloPolyDivide(Polynomial polyTwo) { + Polynomial polyOne = new Polynomial(this); + Polynomial quotient = new Polynomial("[0]", polyOne.getModulo()); + Polynomial rem = new Polynomial(polyOne); + Polynomial tmpPoly; + int polyOneIterator = polyOne.getSize() - 1; + int polyTwoIterator = polyTwo.getSize() - 1; + for (int i = 0; i < polyOneIterator - polyTwoIterator; i++) { + quotient.append(0, 0); + } + int quotientIterator = quotient.getSize() - 1; + int tmpZero; + while (polyOneIterator >= polyTwoIterator) { + tmpZero = findZero(rem.coeffAt(polyOneIterator), polyTwo.coeffAt(polyTwoIterator), polyOne.getModulo()); + quotient.set(quotientIterator--, tmpZero); + tmpPoly = polyTwo.multiplyByNumber(tmpZero); + while (tmpPoly.getSize() <= polyOneIterator) { + tmpPoly.append(0, 0); + } + rem = rem.subtract(tmpPoly); + polyOneIterator--; + } + return rem; + } + + @Override + public String toString() { + return "Polynomial{" + + "polynomial=" + Arrays.toString(polynomial) + + ", modulo=" + modulo + + '}'; + } + + public void reverse() { + int[] temp = Arrays.copyOf(getPolynomialArray(), getPolynomialArray().length); + for (int i = 0; i < temp.length; i++) { + polynomial[i] = temp[temp.length - i - 1]; + } + } +}