#include #include"./MemoryRiver.hpp" #include"./MemoryRiverStd.hpp" #include using namespace std; struct T{ int a[1000]; int sum,num; int f(){ int res=0; for (size_t i = 0; i < 1000; i++) { res+=a[i]; } if (res!=sum) return -1; return res; } T():sum(0),num(0){ for (size_t i = 0; i < 1000; i++) { a[i]=rand()*rand()>>10; sum+=a[i]; } } void g(){ for (size_t i = 0; i < 1000; i++) { a[i]*=2; } sum*=2; } bool operator!=(const T & other){ if (sum!=other.sum) return true; if (num!=other.num) return true; for (size_t i = 0; i < 1000; i++) { if (a[i] != other.a[i]) return true; } return false; } }; const int n=30000; sol::MemoryRiver STD("STD.file"); MemoryRiver mr("save.file"); int off[n],offSTD[n]; T tmp,tmpSTD; int main(){ srand(2333); mr.initialise(); STD.initialise(); for (size_t i = 0; i < n; i++) { tmp.num=i; off[i] = mr.write(tmp); offSTD[i] = STD.write(tmp); } int r=0,rSTD=0; while (r