From c186cf9db2dc0233bf838619a03967103abaac56 Mon Sep 17 00:00:00 2001 From: WeileiZeng <240155787@qq.com> Date: Mon, 6 Apr 2020 14:02:01 -0700 Subject: [PATCH] add comparison --- bp_test.c~ | 331 ---------- pattern_observer.c | 42 +- pattern_observer.out | Bin 166648 -> 171096 bytes pattern_observer.sh | 4 +- readme.md | 11 +- std.log | 1421 ++++++++++++++++++++++++++++++++++++++++++ test.c | 78 ++- test.out | Bin 165928 -> 170472 bytes 8 files changed, 1533 insertions(+), 354 deletions(-) delete mode 100644 bp_test.c~ create mode 100644 std.log diff --git a/bp_test.c~ b/bp_test.c~ deleted file mode 100644 index 17f9df4..0000000 --- a/bp_test.c~ +++ /dev/null @@ -1,331 +0,0 @@ -//Weilei March 26, 2020. yse c++ async to manage multi threads -// copied from bp_decoding4.c -#include -#include -#include -#include -#include -#include -#include -#include "my_lib.h" -#include -using namespace std; -using namespace itpp; - - - -// Read the code from files and do BP decoding -//input:source file for stabilzier matrix; error propability p ; - -int decode( GF2mat G, GF2mat H, double p, mat * data, int col_index, int row_index); - -int main(int argc, char **argv){ - Parser parser; - parser.init(argc,argv); - //p.set_silentmode(true); - string filename_G, filename_H, filename_result; - //parser.get(filename_G,"filename_G"); - //parser.get(filename_H,"filename_H"); - //parser.get(filename_result,"filename_result"); - - vector> pool; - vector>::size_type pool_size=15; - std::chrono::milliseconds span (100); - //change parameter p, code size - //char * filename_result=argv[3];//prefix for the file - double p; - //parser.get(p,"p"); - int sizes[]= {13,11,9,7,5}; - string stabilizer_folder="data/toric/stabilizer"; - //string error_folder="data/toric/bp_decoding4"; - mat data(50,5*5); //return result in a mat, 5 columns for each size. format defines in header - data.zeros(); - int col_index=-5; - for ( int size : sizes){ - // cout<<"size = "< -3;ip-=0.1){ - //cout<<"ip = "<= pool_size ){ - //wait until some of them finish - //break; - for(vector > :: iterator it = pool.begin(); it != pool.end(); ++it){ - //printf("%d", *it); - if ( it->wait_for(span) == future_status::ready){ - cout<<"."<0){ - cout<0){ - break; - } - // usleep(100000); - //cout<<"iteration: "<=0){ - if ( current_iteration < 0 ){ - //cout<