From 46fb408e1bd64a3f9f97578ada5d08ebaa75eaa8 Mon Sep 17 00:00:00 2001 From: Skullheadx Date: Thu, 21 Nov 2024 09:16:24 -0500 Subject: [PATCH] add preceding zeros when decoding --- .DS_Store | Bin 6148 -> 8196 bytes camera.cpp | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.DS_Store b/.DS_Store index 43b4569f8ffd05dee4f96d2d39bb7a4519236c3b..5ccc96b9cc995f73e9848183bd0c6899de971d68 100644 GIT binary patch literal 8196 zcmZQzU|@7AO)+F(kYHe7;9!8z0^AH(0Z1N%F(jFwBBCJk7#IW?7!2T04=OiGjfTKz z2#kinXb6mkz-R~zt`J~^IEMpAy$_KcB}YSGGz3Ou2!P551xVYT!2wD)KxmK@10w?i zxC_9@z`z0vAVzRMfB_^2(h8zMT0t~OD+42l1vUe$m4Okel@Z(x0qGL}8^y=~*3Q5P zwizT2*3Q5PwwZx}5u%-e5o$9dw1>h7(ayjK(ayjKwjFHbC@~rWqalD60-(M-FTB@| z+11OtV}Pi|u!T{U zfq_9CNi8pf1%m;D3D`fT3>FMV3?{g3VYEflX~ba8V9H>~V9H?5V9a2OLnkW(1EUR^ zPLK;N7|apT= z7z`Nl5>lnMye9wzhH=0`+ zf1>H+W+-7uWJqGjVMt|2W-w&XV<=&$U?@QiJ+OVquH|4TVMt{tW+=g~9vnOK;AsI; zfipsy4x{xyxO^KWMni!9A;1i=QUcWfcV%F}HU1A#HA;?#z-R~z%Mf5>aS3*D0(Z)> z`w!ID2KA>Cpwgf!9Mm0W1og`y`anuRU3+kMoDnjq2v*I=0O`pyGC+Frj0_AQt)l}0 O;LsT*Mnhm=LI418?<(a0 delta 187 zcmZp1XfcprU|?W$DortDU=UznVBlbY&`g{Y3&ketDT=a#PXYU?9NFz`)?jz`(@0vG6 &vec); void vec_xor(std::vector &v1, const std::vector v2); unsigned int distance(std::vector &v1, const std::vector &v2); unsigned int convert_uint(std::vector &vec); +std::string add_preceding_zeros(unsigned int n); void read_from_file(std::string filename, std::vector> &symbol); void retrieve_codewords(std::vector> &symbol, std::vector &codewords, bool is_upwards, std::size_t row, std::size_t col); void retrieve_special_codewords(std::vector> &symbol, std::vector &codewords, bool is_upwards, int row, int col); @@ -89,6 +90,18 @@ unsigned int convert_uint(std::vector &vec){ return result; } +std::string add_preceding_zeros(unsigned int n){ + std::string result = std::to_string(n); + if (result.size() == 1){ + result.insert(result.begin(), 0); + result.insert(result.begin(), 0); + } + else if (result.size() == 2){ + result.insert(result.begin(), 0); + } + return result; +} + std::vector get_format_info(std::vector> &symbol){ std::vector format_info(15,0); @@ -308,7 +321,7 @@ std::string get_input_data(std::vector &input_data, unsigned int character unsigned int data_length = character_count_indicator / 3 * 10; for (std::size_t i{0}; i < data_length; i += 10){ std::vector subvec(input_data.begin() + i, input_data.begin() + i + 10); - data += std::to_string(convert_uint(subvec)); + data += add_preceding_zeros(convert_uint(subvec)); } if (character_count_indicator % 3 == 1){ std::vector subvec(input_data.begin() + data_length, input_data.begin() + data_length + 4); -- 2.54.0