#ifndef SSE_H #define SSE_H #include #include #include using namespace std; namespace SSE{ template class SSE1{ public: SSE1(){ Array1=NULL; Array2=NULL; Array3=NULL; Block=0; Count=0; Oflow=0; } void Alloc(int Length){ int Buff=Length*sizeof(T); Array1=(T*) _mm_malloc(Buff,32); Array2=(T*) _mm_malloc(Buff,32); Array3=(T*) _mm_malloc(Buff,32); } void Check(vector&Buff1,vector&Buff2,vector&Buff3){ Block=16/sizeof(T); Count=Buff1.size()/Block; Oflow=Buff1.size()-Count*Block; for(int i=0;i&In1,vector&In2,vector&In3){ Block=16/sizeof(T); Count=In1.size()/Block; for(int k=0;k&Cl1,vector&Cl2,vector&Cl3){ for(int i=0;i void Add(vector&A,vector&B,vector&C){ if(A.size()==B.size()&&A.size()==C.size()){ SSE1S; S.Check(A,B,C); S.Alloc(A.size()); S.Add(A,B,C); S.Clean(A,B,C); S.Free(); }else{ cout<<"Enter the Vectors with same length!"<