Skip to content

Commit

Permalink
HyperLogLog: make API use the P prefix in honor of Philippe Flajolet.
Browse files Browse the repository at this point in the history
  • Loading branch information
antirez committed Mar 31, 2014
1 parent f1b7608 commit e887c62
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 19 deletions.
14 changes: 7 additions & 7 deletions src/hyperloglog.c
Expand Up @@ -435,8 +435,8 @@ uint64_t hllCount(uint8_t *registers) {

/* ========================== HyperLogLog commands ========================== */

/* HLLADD var ele ele ele ... ele => :0 or :1 */
void hllAddCommand(redisClient *c) {
/* PADD var ele ele ele ... ele => :0 or :1 */
void paddCommand(redisClient *c) {
robj *o = lookupKeyWrite(c->db,c->argv[1]);
uint8_t *registers;
int updated = 0, j;
Expand Down Expand Up @@ -482,8 +482,8 @@ void hllAddCommand(redisClient *c) {
addReply(c, updated ? shared.cone : shared.czero);
}

/* HLLCOUNT var -> approximated cardinality of set. */
void hllCountCommand(redisClient *c) {
/* PCOUNT var -> approximated cardinality of set. */
void pcountCommand(redisClient *c) {
robj *o = lookupKeyRead(c->db,c->argv[1]);
uint8_t *registers;
uint64_t card;
Expand Down Expand Up @@ -540,8 +540,8 @@ void hllCountCommand(redisClient *c) {
}
}

/* HLLMERGE dest src1 src2 src3 ... srcN => OK */
void hllMergeCommand(redisClient *c) {
/* PMERGE dest src1 src2 src3 ... srcN => OK */
void pmergeCommand(redisClient *c) {
uint8_t max[REDIS_HLL_REGISTERS];
uint8_t *registers;
int j, i;
Expand Down Expand Up @@ -614,7 +614,7 @@ void hllMergeCommand(redisClient *c) {
* the correct value to be retained and not affect adjacent values. */

#define REDIS_HLL_TEST_CYCLES 1000
void hllSelftestCommand(redisClient *c) {
void pselftestCommand(redisClient *c) {
int j, i;
sds bitcounters = sdsnewlen(NULL,REDIS_HLL_SIZE);
uint8_t bytecounters[REDIS_HLL_REGISTERS];
Expand Down
8 changes: 4 additions & 4 deletions src/redis.c
Expand Up @@ -268,10 +268,10 @@ struct redisCommand redisCommandTable[] = {
{"bitcount",bitcountCommand,-2,"r",0,NULL,1,1,1,0,0},
{"bitpos",bitposCommand,-3,"r",0,NULL,1,1,1,0,0},
{"wait",waitCommand,3,"rs",0,NULL,0,0,0,0,0},
{"hllselftest",hllSelftestCommand,1,"r",0,NULL,0,0,0,0,0},
{"hlladd",hllAddCommand,-2,"wm",0,NULL,1,1,1,0,0},
{"hllcount",hllCountCommand,2,"w",0,NULL,1,1,1,0,0},
{"hllmerge",hllMergeCommand,-2,"wm",0,NULL,1,-1,1,0,0}
{"pselftest",pselftestCommand,1,"r",0,NULL,0,0,0,0,0},
{"padd",paddCommand,-2,"wm",0,NULL,1,1,1,0,0},
{"pcount",pcountCommand,2,"w",0,NULL,1,1,1,0,0},
{"pmerge",pmergeCommand,-2,"wm",0,NULL,1,-1,1,0,0}
};

struct evictionPoolEntry *evictionPoolAlloc(void);
Expand Down
8 changes: 4 additions & 4 deletions src/redis.h
Expand Up @@ -1448,10 +1448,10 @@ void bitcountCommand(redisClient *c);
void bitposCommand(redisClient *c);
void replconfCommand(redisClient *c);
void waitCommand(redisClient *c);
void hllSelftestCommand(redisClient *c);
void hllAddCommand(redisClient *c);
void hllCountCommand(redisClient *c);
void hllMergeCommand(redisClient *c);
void pselftestCommand(redisClient *c);
void paddCommand(redisClient *c);
void pcountCommand(redisClient *c);
void pmergeCommand(redisClient *c);

#if defined(__GNUC__)
void *calloc(size_t count, size_t size) __attribute__ ((deprecated));
Expand Down
4 changes: 2 additions & 2 deletions utils/hyperloglog/hll-err.rb
Expand Up @@ -18,9 +18,9 @@
elements << ele
i += 1
}
r.hlladd('hll',*elements)
r.padd('hll',*elements)
}
approx = r.hllcount('hll')
approx = r.pcount('hll')
abs_err = (approx-i).abs
rel_err = 100.to_f*abs_err/i
puts "#{i} vs #{approx}: #{rel_err}%"
Expand Down
4 changes: 2 additions & 2 deletions utils/hyperloglog/hll-gnuplot-graph.rb
Expand Up @@ -30,9 +30,9 @@ def run_experiment(r,seed,max,step)
elements << ele
i += 1
}
r.hlladd('hll',*elements)
r.padd('hll',*elements)
}
approx = r.hllcount('hll')
approx = r.pcount('hll')
err = approx-i
rel_err = 100.to_f*err/i
samples << [i,rel_err]
Expand Down

0 comments on commit e887c62

Please sign in to comment.