-1

いくつかの int64 演算で最適化を試みています。右と左のシフト、除算、剰余などの操作を行う必要がありますが、すべての SSE 組み込み関数を検索しましたが、何も見つかりませんでした。左シフトは、負の値ではうまく機能しません。Plsは私を案内できますか??

コードの一部を示します (インテル i7 上):

u_a2b2=(MatrixAiB1[0]>>2*z_bits);
res_ri=(MatrixAiB1[0] % (__int64(1)<<2*z_bits));
if (MatrixAiB1[0] >= 0)                         
  {
     if (abs(res_ri) > (__int64(1)<<41))    
     {          
         u_a2b2=u_a2b2+1;
     }
   }
else
{
     if (abs(res_ri) < (__int64(1)<<41))    
     {
        if (u_a2b2>=0)
         {
        u_a2b2=u_a2b2-1;
         }
       else 
        {
        u_a2b2=u_a2b2+1;
        }
      }

}

すべてがint64です

ありがとう

4

3 に答える 3