ios - Objective C " * " syntax and usage -
i re-writing particle filter library of ios in swift objective c available on bitbucket , have question regarding syntax of objective c cannot understand.
the code goes follows:
- (void)setrssi:(nsinteger)rssi { _rssi = rssi; // ignore zeros in average, stddev -- clear value before setting // prevent old values hanging around if there's no reading if (rssi == 0) { self.meters = 0; return; } self.meters = [self metersfromrssi:rssi]; nsinteger* pidx = self.rssibuffer; *(pidx+self.bufferindex++) = rssi; if (self.bufferindex >= rssibuffersize) { self.bufferindex %= rssibuffersize; self.bufferfull = yes; } if (self.bufferfull) { // calculate trailing mean , std dev when have enough data double accumulator = 0; (nsinteger = 0; < rssibuffersize; i++) { accumulator += *(pidx+i); } self.meanrssi = accumulator / rssibuffersize; self.meanmeters = [self metersfromrssi:self.meanrssi]; accumulator = 0; (nsinteger = 0; < rssibuffersize; i++) { nsinteger difference = *(pidx+i) - self.meanrssi; accumulator += difference*difference; } self.stddeviationrssi = sqrt( accumulator / rssibuffersize); self.meanmetersvariance = abs( [self metersfromrssi:self.meanrssi] - [self metersfromrssi:self.meanrssi+self.stddeviationrssi] ); } } the class continues more code , functions not important , not understand these 2 lines
nsinteger* pidx = self.rssibuffer; *(pidx+self.bufferindex++) = rssi; variable pidx initialized size of buffer defined , in next line size of buffer , buffer plus 1 equal rssi variable passed parameter in function.
i assume * has reference can't figure out purpose of line. variable pidx used in function calculating trailing mean , standard deviation.
let explain code:
nsinteger* pidx = self.rssibuffer;means getting pointer of first value of buffer.*(pidx+self.bufferindex++) = rssi;means setting value of buffer @ index0+self.bufferindexrssiand increasebufferindex1. @jakub vano point out.
in c++,
int self.rssibuffer[1000]; // assume have buffer self.rssibuffer[self.bufferindex++] = rssi
Comments
Post a Comment