readvectors.h 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. void concatanate_index(char const * filename, char tmp[100], size_t index)
  2. {
  3. strcpy(tmp, filename);
  4. strcat(tmp, std::to_string(index).c_str());
  5. }
  6. int read_final_correction_word(bool party, DB_t& FCW_read, int i = 0)
  7. {
  8. if(!party)
  9. {
  10. char tmp[100];
  11. concatanate_index("preprocflags/FCW0", tmp, i);
  12. int const in0 { open(tmp, O_RDONLY ) };
  13. size_t r = read(in0, &FCW_read, sizeof(FCW_read));
  14. if(r < 0) perror("Read error");
  15. }
  16. if(party)
  17. {
  18. char tmp[100];
  19. concatanate_index("preprocflags/FCW1", tmp, i);
  20. int const in0 { open(tmp, O_RDONLY ) };
  21. size_t r = read(in0, &FCW_read, sizeof(FCW_read));
  22. if(r < 0) perror("Read error");
  23. }
  24. return 0;
  25. }
  26. int read_flags_for_reading(bool party, size_t db_nitems, int i = 0)
  27. {
  28. if(!party)
  29. {
  30. char tmp[100];
  31. concatanate_index("preprocflags/party0_read_flags_b", tmp, i);
  32. int const in0 { open(tmp, O_RDONLY ) };
  33. size_t r = read(in0, reading_b, db_nitems * sizeof(reading_b[0]));
  34. if(r < 0) perror("Read error");
  35. concatanate_index("preprocflags/party0_read_flags_c", tmp, i);
  36. int const in1 { open( tmp, O_RDONLY ) };
  37. r = read(in1, reading_c, db_nitems * sizeof(reading_c[0]));
  38. if(r < 0) perror("Read error");
  39. concatanate_index("preprocflags/party0_read_flags_d", tmp, i);
  40. int const in2 { open( tmp, O_RDONLY ) };
  41. r = read(in2, reading_d, db_nitems * sizeof(reading_d[0]));
  42. if(r < 0) perror("Read error");
  43. }
  44. if(party)
  45. {
  46. char tmp[100];
  47. concatanate_index("preprocflags/party1_read_flags_b", tmp, i);
  48. int const in0 { open(tmp, O_RDONLY ) };
  49. size_t r = read(in0, reading_b, db_nitems * sizeof(reading_b[0]));
  50. if(r < 0) perror("Read error");
  51. concatanate_index("preprocflags/party1_read_flags_c", tmp, i);
  52. int const in1 { open(tmp, O_RDONLY ) };
  53. r = read(in1, reading_c, db_nitems * sizeof(reading_c[0]));
  54. if(r < 0) perror("Read error");
  55. concatanate_index("preprocflags/party1_read_flags_d", tmp, i);
  56. int const in2 { open(tmp, O_RDONLY ) };
  57. r = read(in2, reading_d, db_nitems * sizeof(reading_d[0]));
  58. if(r < 0) perror("Read error");
  59. }
  60. return 0;
  61. }
  62. int read_flags_for_writing(bool party, size_t db_nitems, int i = 0)
  63. {
  64. if(!party)
  65. {
  66. char tmp[100];
  67. concatanate_index("preprocflags/party0_write_flags_b", tmp, i);
  68. int const in0_w { open(tmp, O_RDONLY ) };
  69. size_t r = read(in0_w, writing_b, db_nitems * sizeof(writing_b[0]));
  70. if(r < 0) perror("Read error");
  71. concatanate_index("preprocflags/party0_write_flags_c", tmp,i);
  72. int const in1_w { open( tmp, O_RDONLY ) };
  73. r = read(in1_w, writing_c, db_nitems * sizeof(writing_c[0]));
  74. if(r < 0) perror("Read error");
  75. concatanate_index("preprocflags/party0_write_flags_d", tmp,i);
  76. int const in2_w { open( tmp, O_RDONLY ) };
  77. r = read(in2_w, writing_d, db_nitems * sizeof(writing_d[0]));
  78. if(r < 0) perror("Read error");
  79. }
  80. if(party)
  81. {
  82. char tmp[100];
  83. concatanate_index("preprocflags/party1_write_flags_b", tmp,i);
  84. int const in0_w { open( tmp, O_RDONLY ) };
  85. size_t r = read(in0_w, writing_b, db_nitems * sizeof(writing_b[0]));
  86. if(r < 0) perror("Read error");
  87. concatanate_index("preprocflags/party1_write_flags_c", tmp, i);
  88. int const in1_w { open(tmp, O_RDONLY ) };
  89. r = read(in1_w, writing_c, db_nitems * sizeof(writing_c[0]));
  90. if(r < 0) perror("Read error");
  91. concatanate_index("preprocflags/party1_write_flags_d", tmp, i);
  92. int const in2_w { open( tmp, O_RDONLY ) };
  93. r = read(in2_w, writing_d, db_nitems * sizeof(writing_d[0]));
  94. if(r < 0) perror("Read error");
  95. }
  96. return 0;
  97. }
  98. int read_flags_for_refreshing(size_t db_nitems, int i = 0)
  99. {
  100. char tmp[100];
  101. concatanate_index("preprocflags/P2_party0_write_flags_c", tmp, i);
  102. int const in1_w { open(tmp, O_RDONLY ) };
  103. size_t r = read(in1_w, writing_c, db_nitems * sizeof(writing_c[0]));
  104. if(r < 0) perror("Read error");
  105. concatanate_index("preprocflags/P2_party1_write_flags_d", tmp, i);
  106. int const in2_w { open(tmp, O_RDONLY ) };
  107. r = read(in2_w, writing_d, db_nitems * sizeof(writing_d[0]));
  108. if(r < 0) perror("Read error");
  109. concatanate_index("preprocflags/P2_party0_write_c", tmp, i);
  110. int const in1_w_ { open(tmp, O_RDONLY ) };
  111. r = read(in1_w_, c, db_nitems * sizeof(c[0]));
  112. if(r < 0) perror("Read error");
  113. concatanate_index("preprocflags/P2_party1_write_d", tmp, i);
  114. int const in2_w_ { open(tmp, O_RDONLY ) };
  115. r = read(in2_w_, d, db_nitems * sizeof(d[0]));
  116. if(r < 0) perror("Read error");
  117. return 0;
  118. }
  119. int read_flags_for_generating_cancellation_terms(size_t db_nitems, int i = 0)
  120. {
  121. char tmp[100];
  122. concatanate_index("preprocflags/P2_party1_read_flags_d", tmp, i);
  123. int const in2 { open(tmp, O_RDONLY ) };
  124. size_t r = read(in2, reading_d, db_nitems * sizeof(reading_d[0]));
  125. if(r < 0) perror("Read error");
  126. concatanate_index("preprocflags/P2_party0_read_flags_c", tmp, i);
  127. int const in2_ { open(tmp, O_RDONLY ) };
  128. r = read(in2_, reading_c, db_nitems * sizeof(reading_c[0]));
  129. if(r < 0) perror("Read error");
  130. return 0;
  131. }
  132. int read_flags_for_updating(bool party, size_t db_nitems, int i = 0)
  133. {
  134. char tmp[100];
  135. if(!party)
  136. {
  137. concatanate_index("preprocflags/party0_write_b", tmp, i);
  138. int const in0_w_ { open(tmp, O_RDONLY ) };
  139. size_t r = read(in0_w_, b, db_nitems * sizeof(b[0]));
  140. if(r < 0) perror("Read error");
  141. concatanate_index("preprocflags/party0_write_c", tmp, i);
  142. int const in1_w_ { open(tmp, O_RDONLY ) };
  143. r = read(in1_w_, c, db_nitems * sizeof(c[0]));
  144. if(r < 0) perror("Read error");
  145. concatanate_index("preprocflags/party0_write_d", tmp, i);
  146. int const in2_w_ { open(tmp, O_RDONLY ) };
  147. r = read(in2_w_, d, db_nitems * sizeof(d[0]));
  148. if(r < 0) perror("Read error");
  149. }
  150. if(party)
  151. {
  152. concatanate_index("preprocflags/party1_write_b", tmp, i);
  153. int const in0_w_ { open( tmp, O_RDONLY ) };
  154. size_t r = read(in0_w_, b, db_nitems * sizeof(b[0]));
  155. if(r < 0) perror("Read error");
  156. concatanate_index("preprocflags/party1_write_c", tmp, i);
  157. int const in1_w_ { open(tmp, O_RDONLY ) };
  158. r = read(in1_w_, c, db_nitems * sizeof(c[0]));
  159. if(r < 0) perror("Read error");
  160. concatanate_index("preprocflags/party1_write_d", tmp, i);
  161. int const in2_w_ { open(tmp, O_RDONLY ) };
  162. r = read(in2_w_, d, db_nitems * sizeof(d[0]));
  163. if(r < 0) perror("Read error");
  164. }
  165. return 0;
  166. }