# Re: [HACKERS] add modulo (%) operator to pgbench

```Hi,

Here is the review result.```
```
#1. Patch compatibility
Little bit hunk, but it can patch to latest master.

#2. Functionality
No problem.

#3. Documentation
I think modulo operator explanation should put at last at the doc line.
Because the others are more frequently used.

#4. Algorithm
You proposed three modulo algorithm, that are
1. general modulo, 2. floor modulo and 3. euclidian modulo.

They calculate different value when modulo2 or reminder is negative number.
Calculate examples are here,

1. general modulo (patch1)
5 %  3 = 2
5 % -3 = 1
-5 %  3 = -1

2. floor modulo (patch2, 3)
5 %  3  =  2
5 % -3  = -2
-5 %  3  =  2

3. euclidian modulo (patch2)
5 %  3  =  2
5 % -3  =  4
-5 %  3  =  2

That's all.

I think if we want to create equal possibility and inutuitive random
generator, we select floor modulo, as you see the upper example. It can
create contrapositive random number. 1 and 2 method cannot.

I think euclidian modulo doesn't need by a lot of people. If we add it,
many people will confuse, because they doesn't know the mathematic
algorithms.

So I like patch3 which is simple and practical.

If you agree or reply my comment, I will mark ready for commiter.

Best Regards,
--
Mitsumsasa KONDO
```