1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/goldbeef-wzip

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
blocksort.cpp 1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
goldbeef Отправлено 19.05.2014 14:43 d56c67d
#include "blocksort.h"
#include "ds_ssort.h"
#include <stdio.h>
#include <stdlib.h>
int blockSort(uchar *inBuff,u32 *outBuff,u32 len, u32* bwtIndex)
{
if (!inBuff || !outBuff || !len || !bwtIndex)
{
return ERR_PARAMETER;
}
int overshoot;
overshoot=init_ds_ssort(500,2000);
if(overshoot==0){
printf ("init_ds_ssort error\n");
return -1;
}
ds_ssort(inBuff,(long unsigned int *)outBuff,len);
//compute bwtIndex
u32 i;
for(i=0;i<len;i++){
if(!outBuff[i]){
//
*bwtIndex=i;
break;
}
}
if(i==len){
return -1;
}
return 0;
}
// To get the original text block you should know the bwt and I
int getBwtTransform(uchar *origBlk,u32 *suffixArray,
uchar*bwtBlk,u32 len
)
{
if (!origBlk || !suffixArray || !bwtBlk )
{
return ERR_PARAMETER;
}
u32 i;
u32 index;
for (i=0;i<len;i++)
{
index=(suffixArray[i]==0)?len-1:suffixArray[i]-1;
bwtBlk[i]=origBlk[index];
}
return 0;
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/goldbeef-wzip.git
git@api.gitlife.ru:oschina-mirror/goldbeef-wzip.git
oschina-mirror
goldbeef-wzip
goldbeef-wzip
master