Skip to content
Snippets Groups Projects
Commit 6f9e3cf6 authored by Sean Busbey's avatar Sean Busbey
Browse files

Merge pull request #275 from steffenfriedrich/zipfianfix

[core] Given the min and max parameter the ZipfianGenerator should not return *0*…
parents 9dacfe73 31136ce8
No related branches found
No related tags found
No related merge requests found
......@@ -276,12 +276,12 @@ public class ZipfianGenerator extends IntegerGenerator
if (uz<1.0)
{
return 0;
return base;
}
if (uz<1.0+Math.pow(0.5,theta))
{
return 1;
return base + 1;
}
long ret=base+(long)((itemcount) * Math.pow(eta*u - eta + 1, alpha));
......
/**
* Copyright (c) 2010 Yahoo! Inc. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you
* may not use this file except in compliance with the License. You
* may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License. See accompanying
* LICENSE file.
*/
package com.yahoo.ycsb.generator;
import org.testng.annotations.Test;
import static org.testng.AssertJUnit.assertFalse;
public class TestZipfianGenerator {
@Test
public void testMinAndMaxParameter() {
long min = 5;
long max = 10;
ZipfianGenerator zipfian = new ZipfianGenerator(min, max);
for (int i = 0; i < 10000; i++) {
long rnd = zipfian.nextLong();
assertFalse(rnd < min);
assertFalse(rnd > max);
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment