私はいくつかのコードを書いていて、左から配列をラップするための 2 つの関数を思いつきました。モジュラスを使用して右から配列をラップすることに似ているため、負のモジュロと名付けました。パフォーマンスへの影響は小規模では無視できることを認識していますが、どちらがより効率的かを知りたいです。皆さんはどう思いますか?
static int negative_modulo(int a, int b)
{
int val1 = Math.Abs(a);
if (val1 <= b)
return b + a;
else
return b - (val1 % b);
}
static int negative_modulo2(int a, int b)
{
int val1 = Math.Abs(a);
int n = val1 / b + 1;
return a + b * n;
}