📄 probmod.c
字号:
#include <stdlib.h>#include <string.h>#include "probmod.h"#include "bitree.h"void ec_probmod_init(ec_probmod *_this,unsigned _sz){ ec_probmod_init_full(_this,_sz,1U,1U<<23,NULL);}void ec_probmod_init_from_counts(ec_probmod *_this,unsigned _sz, const unsigned *_counts){ ec_probmod_init_full(_this,_sz,1U,1U<<23,_counts);}void ec_probmod_init_full(ec_probmod *_this,unsigned _sz,unsigned _inc, unsigned _thresh,const unsigned *_counts){ unsigned s; _this->sz=_sz; for(s=1;s<=_this->sz;s<<=1); _this->split=s>>1; _this->inc=_inc; _this->thresh=_thresh; _this->bitree=(unsigned *)malloc(_sz*sizeof(*_this->bitree)); if(_counts!=NULL)memcpy(_this->bitree,_counts,_sz*sizeof(*_this->bitree)); else for(s=0;s<_this->sz;s++)_this->bitree[s]=1; ec_bitree_from_counts(_this->bitree,_sz); _this->ft=ec_bitree_get_cumul(_this->bitree,_sz);}void ec_probmod_clear(ec_probmod *_this){ free(_this->bitree);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -