Merge branch 'cxxmph' of ssh://cmph.git.sourceforge.net/gitroot/cmph/cmph into cxxmph
This commit is contained in:
commit
d3b3b3dfba
2
COPYING
2
COPYING
@ -1,3 +1,5 @@
|
||||
The code of the cmph library is dual licensed under the LGPL version 2 and MPL
|
||||
1.1 licenses. Please refer to the LGPL-2 and MPL-1.1 files in the repository
|
||||
for the full description of each of the licenses.
|
||||
|
||||
For cxxmph, the files stringpiece.h and MurmurHash2 are covered by the BSD and MIT licenses, respectively.
|
||||
|
76
acinclude.m4
76
acinclude.m4
@ -12,6 +12,82 @@ AC_DEFUN([AC_CHECK_SPOON], [
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
|
||||
dnl Check for baseline language coverage in the compiler for the C++0x standard.
|
||||
# AC_COMPILE_STDCXX_OX
|
||||
AC_DEFUN([AC_COMPILE_STDCXX_0X], [
|
||||
AC_CACHE_CHECK(if compiler supports C++0x features without additional flags,
|
||||
ac_cv_cxx_compile_cxx0x_native,
|
||||
[AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
AC_TRY_COMPILE([
|
||||
#include <unorderd_map>
|
||||
#include <unorderd_set>
|
||||
template <typename T>
|
||||
struct check
|
||||
{
|
||||
static_assert(sizeof(int) <= sizeof(T), "not big enough");
|
||||
};
|
||||
|
||||
typedef check<check<bool>> right_angle_brackets;
|
||||
|
||||
int a;
|
||||
decltype(a) b;
|
||||
],,
|
||||
ac_cv_cxx_compile_cxx0x_native=yes, ac_cv_cxx_compile_cxx0x_native=no)
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
|
||||
AC_CACHE_CHECK(if compiler supports C++0x features with -std=c++0x,
|
||||
ac_cv_cxx_compile_cxx0x_cxx,
|
||||
[AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
ac_save_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS -std=c++0x"
|
||||
AC_TRY_COMPILE([
|
||||
template <typename T>
|
||||
struct check
|
||||
{
|
||||
static_assert(sizeof(int) <= sizeof(T), "not big enough");
|
||||
};
|
||||
|
||||
typedef check<check<bool>> right_angle_brackets;
|
||||
|
||||
int a;
|
||||
decltype(a) b;],,
|
||||
ac_cv_cxx_compile_cxx0x_cxx=yes, ac_cv_cxx_compile_cxx0x_cxx=no)
|
||||
CXXFLAGS="$ac_save_CXXFLAGS"
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
|
||||
AC_CACHE_CHECK(if compiler supports C++0x features with -std=gnu++0x,
|
||||
ac_cv_cxx_compile_cxx0x_gxx,
|
||||
[AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
ac_save_CXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS -std=gnu++0x"
|
||||
AC_TRY_COMPILE([
|
||||
template <typename T>
|
||||
struct check
|
||||
{
|
||||
static_assert(sizeof(int) <= sizeof(T), "not big enough");
|
||||
};
|
||||
|
||||
typedef check<check<bool>> right_angle_brackets;
|
||||
|
||||
int a;
|
||||
decltype(a) b;],,
|
||||
ac_cv_cxx_compile_cxx0x_gxx=yes, ac_cv_cxx_compile_cxx0x_gxx=no)
|
||||
CXXFLAGS="$ac_save_CXXFLAGS"
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
|
||||
if test "$ac_cv_cxx_compile_cxx0x_native" = yes ||
|
||||
test "$ac_cv_cxx_compile_cxx0x_cxx" = yes ||
|
||||
test "$ac_cv_cxx_compile_cxx0x_gxx" = yes; then
|
||||
AC_DEFINE(HAVE_STDCXX_0X,,[Define if g++ supports C++0x features. ])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl By default, many hosts won't let programs access large files;
|
||||
dnl one must use special compiler options to get large-file access to work.
|
||||
dnl For more details about this brain damage please see:
|
||||
|
10
configure.ac
10
configure.ac
@ -36,6 +36,16 @@ CFLAGS="-Wall -Werror"
|
||||
AC_PROG_CXX
|
||||
AC_ENABLE_CXXMPH
|
||||
if test x$cxxmph = xtrue; then
|
||||
AC_COMPILE_STDCXX_0X
|
||||
if test x$ac_cv_cxx_compile_cxx0x_native = "xno"; then
|
||||
if test x$ac_cv_cxx_compile_cxx0x_cxx = "xyes"; then
|
||||
CXXFLAGS="$CXXFLAGS -std=c++0x"
|
||||
elif test x$ac_cv_cxx_compile_cxx0x_gxx = "xyes"; then
|
||||
CXXFLAGS="$CXXFLAGS -std=gnu++0x"
|
||||
else
|
||||
AC_MSG_ERROR("cxxmph demands a working c++0x compiler.")
|
||||
fi
|
||||
fi
|
||||
AC_SUBST([CXXMPH], "cxxmph")
|
||||
fi
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
AM_CXXFLAGS='-std=c++0x'
|
||||
TESTS = $(check_PROGRAMS)
|
||||
check_PROGRAMS = mph_map_test mph_index_test # trigraph_test
|
||||
check_PROGRAMS = mph_map_test mph_index_test
|
||||
noinst_PROGRAMS = bm_index bm_map
|
||||
bin_PROGRAMS = cxxmph
|
||||
lib_LTLIBRARIES = libcxxmph.la
|
||||
@ -15,9 +14,6 @@ mph_map_test_SOURCES = mph_map_test.cc
|
||||
mph_index_test_LDADD = libcxxmph.la
|
||||
mph_index_test_SOURCES = mph_index_test.cc
|
||||
|
||||
# trigraph_test_LDADD = libcxxmph.la
|
||||
# trigraph_test_SOURCES = trigraph_test.cc
|
||||
|
||||
bm_index_LDADD = libcxxmph.la
|
||||
bm_index_SOURCES = bm_common.cc bm_index.cc
|
||||
|
||||
|
256
cxxmph/URLS1k
256
cxxmph/URLS1k
@ -1,256 +0,0 @@
|
||||
http://100_fundos.zip.net/arch2004-03-28_2004-04-03.html
|
||||
http://2d-galois.flogbrasil.terra.com.br/robots.txt
|
||||
http://2littledoves.fotolog.terra.com.br/
|
||||
http://3336.fotoblog.uol.com.br/photo20040305160808.html
|
||||
http://3reis.weblogger.terra.com.br/robots.txt
|
||||
http://4track.blogger.com.br/robots.txt
|
||||
http://abelrezende.flogbrasil.terra.com.br/tops.php
|
||||
http://abelsidney.vilabol.uol.com.br/cro91.html
|
||||
http://abelsidney.vilabol.uol.com.br/rede8.html
|
||||
http://abobaninha.weblogger.terra.com.br/200302_abobaninha_arquivo.htm
|
||||
http://abpblh.org.br/
|
||||
http://abvo.org.br/up.htm
|
||||
http://acervocorrs.vilabol.uol.com.br/main071.html
|
||||
http://acid.weblogger.terra.com.br/2883612
|
||||
http://actionblog.zip.net/robots.txt
|
||||
http://ademir.alfa.ind.br/entrada.htm
|
||||
http://adrianorp.zip.net/listArchive.html
|
||||
http://adriele.flogbrasil.terra.com.br/tops.php
|
||||
http://aflordapele.blogger.com.br/2004_04_01_archive.html
|
||||
http://afoganao.flogbrasil.terra.com.br/estados.php
|
||||
http://aftertonight.blogger.com.br/robots.txt
|
||||
http://agoraevidareal.blogger.com.br/2004_05_01_archive.html
|
||||
http://ahafotolog.fotoblog.uol.com.br/photo20040327172209.html
|
||||
http://ahmuleke.fotoblog.uol.com.br/photo20040420143013.html
|
||||
http://aicomomexe.weblogger.terra.com.br/200401_aicomomexe_arquivo.htm
|
||||
http://aiehdose.blig.ig.com.br/
|
||||
http://aimeudedo.zip.net/arch2004-05-09_2004-05-15.html
|
||||
http://airtonfilho.pcc.usp.br/curriculum.htm
|
||||
http://akane_hoshi.blogger.com.br/
|
||||
http://akinyele.letras.terra.com.br/
|
||||
http://al-green.letras.terra.com.br/
|
||||
http://albaligia.fotoblog.uol.com.br/photo20040501225132.html
|
||||
http://alemaosalsicha.flogbrasil.terra.com.br/robots.txt
|
||||
http://alessandrafleury.blogger.com.br/
|
||||
http://aliatras.weblogger.terra.com.br/www.marisurf.weblogger.com.br
|
||||
http://alissondantas.flogbrasil.terra.com.br/
|
||||
http://allcolix.flogbrasil.terra.com.br/estados.php
|
||||
http://allmylove.fotolog.terra.com.br/
|
||||
http://allyouneedisnats.flogbrasil.terra.com.br/gold_comprar.php
|
||||
http://almostnaked.weblogger.terra.com.br/4674105
|
||||
http://alwaystogether.weblogger.terra.com.br/200310_alwaystogether_arquivo.htm
|
||||
http://amanda-sc.fotoblog.uol.com.br/photo20040413082243.html
|
||||
http://amiga-kelly.flogbrasil.terra.com.br/robots.txt
|
||||
http://amigasbh.fotolog.terra.com.br/gold_comprar.php
|
||||
http://amigooo.weblogger.terra.com.br/14534470
|
||||
http://amiruhama.vilabol.uol.com.br/celina_tuesmeudeus.html
|
||||
http://amotheoc.fotolog.terra.com.br/tops_meninos.php
|
||||
http://ana.fla.fotoblog.uol.com.br/photo20040512080652.html
|
||||
http://anala.fotolog.terra.com.br/tops.php
|
||||
http://anasps-sp.sites.uol.com.br/birth5.htm
|
||||
http://anastm.fotolog.terra.com.br/tops_meninos.php
|
||||
http://andandonasnuvens.weblogger.terra.com.br/3233568
|
||||
http://andercb.fotolog.terra.com.br/tops_meninas.php
|
||||
http://andre.bac.sites.uol.com.br/equipamentos.htm
|
||||
http://andrezadepp.blig.ig.com.br/
|
||||
http://andrezavega.vilabol.uol.com.br/amigo.html
|
||||
http://aneeee.flogbrasil.terra.com.br/tops.php
|
||||
http://angelsusy.flogbrasil.terra.com.br/robots.txt
|
||||
http://ani2.weblogger.terra.com.br/
|
||||
http://aninha_space_for_me.zip.net/robots.txt
|
||||
http://aninhacerqueira.flogbrasil.terra.com.br/gold.php
|
||||
http://aninhafuracao.weblogger.terra.com.br/200310_aninhafuracao_arquivo.htm
|
||||
http://aninhaumverdadeiroamor.weblogger.com.br/
|
||||
http://anjosdanados.flogbrasil.terra.com.br/tops.php
|
||||
http://anjosklb.blogger.com.br/
|
||||
http://annafernandes.flogbrasil.terra.com.br/gold.php
|
||||
http://annarafaella.fotolog.terra.com.br/
|
||||
http://anninha25.weblogger.terra.com.br/200307_anninha25_arquivo.htm
|
||||
http://anninhaturbo2ponto4.flogbrasil.terra.com.br/
|
||||
http://anonimoincognito.flogbrasil.terra.com.br/tops_estados.php
|
||||
http://answerbook.ime.usp.br:8888/ab2
|
||||
http://antonio-bz.flogbrasil.terra.com.br/tops_estados.php
|
||||
http://apae.weblogger.terra.com.br/9718679
|
||||
http://aparelho-de-dvd-pioneer-dvr-57h.ofertas-comprar-vender.com.br/robots.txt
|
||||
http://apoio.weblogger.terra.com.br/200404_apoio_arquivo.htm
|
||||
http://arabella.bella.blog.uol.com.br/arch2004-04-11_2004-04-17.html
|
||||
http://art-popular.cifras.art.br/cifra_16277.html
|
||||
http://artcanal.com.br/q.html
|
||||
http://artemiro.fotolog.terra.com.br/
|
||||
http://aruba.com.br/
|
||||
http://aslilis.flogbrasil.terra.com.br/tops_meninas.php
|
||||
http://asmaluketxxx.blig.ig.com.br/robots.txt
|
||||
http://asprincesinhas.weblogger.terra.com.br/robots.txt
|
||||
http://assespro.org.br/fotosrs.asp
|
||||
http://asveredas.com.br/gal_amigos005.html
|
||||
http://atrevidamqn.fotolog.terra.com.br/tops.php
|
||||
http://avitchas.blogger.com.br/
|
||||
http://ayegui-estella.spain.ehotelfinder.net/
|
||||
http://b0caum.flogbrasil.terra.com.br/tops_estados.php
|
||||
http://babasidera.fotolog.terra.com.br/tops_meninos.php
|
||||
http://babebibobu.blogger.com.br/robots.txt
|
||||
http://babifiles.zip.net/arch2004-04-04_2004-04-10.html
|
||||
http://babisenena.blogger.com.br/2004_03_14_archive.html
|
||||
http://babixmaisa.flogbrasil.terra.com.br/tops_meninas.php
|
||||
http://bacardigirls.flogbrasil.terra.com.br/tops.php
|
||||
http://backstreet-boys.weblogger.terra.com.br/5478915
|
||||
http://backstreet.hpg.com.br/midis.html
|
||||
http://bagagera.flogbrasil.terra.com.br/gold.php
|
||||
http://balila.flogbrasil.terra.com.br/gold.php
|
||||
http://balletclassico.fotolog.terra.com.br/tops.php
|
||||
http://bambambm.fotolog.terra.com.br/gold.php
|
||||
http://bandamusicalbox.vilabol.uol.com.br/MUSICALBOX-Marcelo.htm
|
||||
http://barbaridades.weblogger.terra.com.br/2353538
|
||||
http://barbyssa.fotolog.terra.com.br/
|
||||
http://bartsimpson-sp.fotoblog.uol.com.br/links.html
|
||||
http://batatadoce.com.br/recomendamos
|
||||
http://bazinha21.fotolog.terra.com.br/
|
||||
http://bazinhamartins.fotolog.terra.com.br/tops_meninas.php
|
||||
http://beavera.fotolog.terra.com.br/tops.php
|
||||
http://bebecrazy.flogbrasil.terra.com.br/tops.php
|
||||
http://beberzao.flogbrasil.terra.com.br/tops.php
|
||||
http://becaelilo.flogbrasil.terra.com.br/tops_adulto.php
|
||||
http://beck.cifras.art.br/cifra_516.html
|
||||
http://bego-90.flogbrasil.terra.com.br/gold.php
|
||||
http://belacapelinha.cantaminas.com.br/
|
||||
http://belluchesi.weblogger.terra.com.br/200403_belluchesi_arquivo.htm
|
||||
http://belo.letras.terra.com.br/
|
||||
http://belthatha.flogbrasil.terra.com.br/tops.php
|
||||
http://bemestar.weblogger.terra.com.br/200302_bemestar_arquivo.htm
|
||||
http://bessa.flogbrasil.terra.com.br/tops_meninos.php
|
||||
http://bestoes.flogbrasil.terra.com.br/gold.php
|
||||
http://betooow.flogbrasil.terra.com.br/tops.php
|
||||
http://betoosurf.flogbrasil.terra.com.br/contato.php
|
||||
http://bfr.fotolog.terra.com.br/robots.txt
|
||||
http://bialoka.blig.ig.com.br/robots.txt
|
||||
http://biazinha-labruna.flogbrasil.terra.com.br/tops_estados.php
|
||||
http://bibizinha_lindinha.zip.net/arch2004-03-07_2004-03-13.html
|
||||
http://billiefabruz.blogger.com.br/robots.txt
|
||||
http://bjokera.flogbrasil.terra.com.br/
|
||||
http://bjork.com.br/indexw.htm
|
||||
http://bl3.com.br/windreg03_gzero.htm
|
||||
http://blaze.cifras.art.br/cifra_14186.html
|
||||
http://bleach.ofertas-comprar-vender.com.br/
|
||||
http://blog-da-pri.weblogger.terra.com.br/200402_blog-da-pri_arquivo.htm
|
||||
http://blogdababi.zip.net/arch2004-04-04_2004-04-10.html
|
||||
http://blogdadee.weblogger.terra.com.br/200311_blogdadee_arquivo.htm
|
||||
http://blogdaeve.weblogger.terra.com.br/200405_blogdaeve_arquivo.htm
|
||||
http://blogdalidi.weblogger.terra.com.br/200310_blogdalidi_arquivo.htm
|
||||
http://blogdocaralho.weblogger.terra.com.br/12647435
|
||||
http://blogdosfalcatruas.blig.com.br/robots.txt
|
||||
http://bloglife.blogger.com.br/robots.txt
|
||||
http://blogsdanoite.blogger.com.br/2004_04_01_archive.html
|
||||
http://bolados.weblogger.com.br/robots.txt
|
||||
http://bomarley.vilabol.uol.com.br/XO.html
|
||||
http://botlily.fotolog.terra.com.br/tops.php
|
||||
http://boys_lie.weblogger.terra.com.br/200405_boys_lie_arquivo.htm
|
||||
http://brabuletatas.turmadobar.com.br/
|
||||
http://brainwave.weblogger.terra.com.br/200403_brainwave_arquivo.htm
|
||||
http://brasileiromestizo.blogger.com.br/2003_07_01_archive.html
|
||||
http://brazzie.zip.net/arch2002-11-01_2002-11-15.html
|
||||
http://bribokinha.fotolog.terra.com.br/
|
||||
http://bricinhu.fotolog.terra.com.br/tops_meninos.php
|
||||
http://brink.fotolog.terra.com.br/tops.php
|
||||
http://brox.flogbrasil.terra.com.br/tops_meninas.php
|
||||
http://brozmania.blogger.com.br/robots.txt
|
||||
http://bruninhabebe.fotolog.terra.com.br/tops_adulto.php
|
||||
http://brustamato.flogbrasil.terra.com.br/robots.txt
|
||||
http://bruuuhh.fotolog.terra.com.br/tops_meninos.php
|
||||
http://bruxinhafofinha.fotolog.terra.com.br/
|
||||
http://bruxinhawiccana.flogbrasil.terra.com.br/tops_meninos.php
|
||||
http://bubuzinhu.flogbrasil.terra.com.br/tops_meninos.php
|
||||
http://bud.weblogger.terra.com.br/20021124_bud_arquivo.htm
|
||||
http://bully.sites.uol.com.br/"+Arrws[a]+"
|
||||
http://bulmarta.fotolog.terra.com.br/tops.php
|
||||
http://bunitu.fotolog.terra.com.br/robots.txt
|
||||
http://ca-brevi.flogbrasil.terra.com.br/tops_meninos.php
|
||||
http://cabanasarua.com.br/foto_visitante_44.htm
|
||||
http://cacabolhao.fotoblog.uol.com.br/photo20040423114747.html
|
||||
http://cacahzinhaaa.flogbrasil.terra.com.br/estados.php
|
||||
http://cadastro.brfree.com.br/
|
||||
http://cadelasemacao.vila.bol.com.br/
|
||||
http://cadenzza.sites.uol.com.br/george.htm
|
||||
http://caen.france.qwhotels.com/fullindex.phtml
|
||||
http://cahieursdupositif.weblogger.terra.com.br/8772980
|
||||
http://caio.munhoz.fotoblog.uol.com.br/photo20040321172822.html
|
||||
http://caleo.flogbrasil.terra.com.br/tops_meninas.php
|
||||
http://camera-c-730.ofertas-comprar-vender.com.br/robots.txt
|
||||
http://camera-digital-aiptek-dvii.ofertas-comprar-vender.com.br/robots.txt
|
||||
http://camera-digital-c-700-ultra-zoom.ofertas-comprar-vender.com.br/robots.txt
|
||||
http://camera-digital-pocket-cam-classic.ofertas-comprar-vender.com.br/robots.txt
|
||||
http://camera-hp-photosmart-620.ofertas-comprar-vender.com.br/robots.txt
|
||||
http://camera-pentax-ist-d-slr.ofertas-comprar-vender.com.br/robots.txt
|
||||
http://cameras-d510.ofertas-comprar-vender.com.br/robots.txt
|
||||
http://cameras-digitais-sony-fd-91.ofertas-comprar-vender.com.br/robots.txt
|
||||
http://cameras-kodak-dx-3600.ofertas-comprar-vender.com.br/robots.txt
|
||||
http://camilacba.fotolog.terra.com.br/
|
||||
http://camilafelicia.flogbrasil.terra.com.br/gold.php
|
||||
http://camilajuliana.fotoblog.uol.com.br/photo20040504113702.html
|
||||
http://camisa-do-barbarense.ofertas-comprar-vender.com.br/
|
||||
http://campospalomino.fotoblog.uol.com.br/photo20040507120841.html
|
||||
http://canal-pira.vila.bol.com.br/flagrantes.htm
|
||||
http://canga.fotolog.terra.com.br/robots.txt
|
||||
http://cantinhodoale.flogbrasil.terra.com.br/tops_meninas.php
|
||||
http://caosfilosoficos.blogger.com.br/2004_02_01_archive.html
|
||||
http://carlinhus.flogbrasil.terra.com.br/tops_adulto.php
|
||||
http://carol-ferrari.fotoblog.uol.com.br/photo20040429144714.html
|
||||
http://carol-ju.fotolog.terra.com.br/tops.php
|
||||
http://carol-meiguinha.fotolog.terra.com.br/
|
||||
http://carolapezzatto.flogbrasil.terra.com.br/tops_meninos.php
|
||||
http://carolzinhaas.flogbrasil.terra.com.br/robots.txt
|
||||
http://carolzinhabacaninha.flogbrasil.terra.com.br/
|
||||
http://carolzita.logme.ig.com.br/robots.txt
|
||||
http://caronte.fapergs.tche.br/res1001.htm
|
||||
http://casadananda.weblogger.terra.com.br/200202_casadananda_arquivo.htm
|
||||
http://cassia-eller.cifras.art.br/cifra_4838.html
|
||||
http://catarinavianna.fotolog.terra.com.br/robots.txt
|
||||
http://catguy.fotoblog.uol.com.br/photo20040322115139.html
|
||||
http://catite.fotolog.terra.com.br/tops.php
|
||||
http://catolicos.weblogger.com.br/robots.txt
|
||||
http://caxias.weblogger.com.br/
|
||||
http://ccramalho.flogbrasil.terra.com.br/
|
||||
http://ccs.pontagrossa.pr.gov.br/
|
||||
http://cd-de-garbage-collection.ofertas-comprar-vender.com.br/
|
||||
http://cd-de-oficial-u2.ofertas-comprar-vender.com.br/
|
||||
http://cd-do-iron-maiden-and-and-fear-of-the-dark.ofertas-comprar-vender.com.br/robots.txt
|
||||
http://cd-do-u2-one.ofertas-comprar-vender.com.br/robots.txt
|
||||
http://cd-player-deh-p7500mp.ofertas-comprar-vender.com.br/
|
||||
http://cd-player-para-carro-fh-p4400.ofertas-comprar-vender.com.br/
|
||||
http://cd-player-sony-cdxc710.ofertas-comprar-vender.com.br/
|
||||
http://cedaspy.com.br/index.php
|
||||
http://celina.fotolog.terra.com.br/tops_meninas.php
|
||||
http://celulares-ciemems-cl50.ofertas-comprar-vender.com.br/
|
||||
http://celulares-fisio-820.ofertas-comprar-vender.com.br/
|
||||
http://celulares-sendo-j530.ofertas-comprar-vender.com.br/
|
||||
http://celulares-tel-me--2.ofertas-comprar-vender.com.br/robots.txt
|
||||
http://cha_angel.weblogger.terra.com.br/
|
||||
http://chacota.flogbrasil.terra.com.br/tops_meninos.php
|
||||
http://chakilla.zip.net/arch2004-04-11_2004-04-17.html
|
||||
http://chalupadegilliatt.weblogger.terra.com.br/robots.txt
|
||||
http://charlie-brown-jr.cifras.art.br/cifra_738.html
|
||||
http://chegadesapo.blogger.com.br/
|
||||
http://chgiacomini.fotoblog.uol.com.br/links.html
|
||||
http://chicolustosa.zip.net/arch2004-05-01_2004-05-15.html
|
||||
http://chinfra.blogger.com.br/2003_08_17_archive.html
|
||||
http://cholke.blig.ig.com.br/robots.txt
|
||||
http://cicinhaa.flogbrasil.terra.com.br/contato.php
|
||||
http://cidoloko.flogbrasil.terra.com.br/tops.php
|
||||
http://cifranet.org/robots.txt
|
||||
http://cigabruca.fotoblog.uol.com.br/photo20040514173549.html
|
||||
http://cirilobresolin.weblogger.terra.com.br/16237735
|
||||
http://cissadantas.flogbrasil.terra.com.br/contato.php
|
||||
http://cla_loka.zip.net/arch2004-03-01_2004-03-15.html
|
||||
http://clanogueira.fotoblog.uol.com.br/photo20040420181756.html
|
||||
http://clari.viana.fotoblog.uol.com.br/photo20040413170749.html
|
||||
http://clarinhakk.flogbrasil.terra.com.br/gold_comprar.php
|
||||
http://claudiajabour8.fotoblog.uol.com.br/photo20040411144511.html
|
||||
http://clicker.flogbrasil.terra.com.br/gold.php
|
||||
http://clodoaldopb.vila.bol.com.br/historiasovasorachado.html
|
||||
http://clubedopairico.com.br/diario_05_11-0404.html
|
||||
http://cmurca.fotoblog.uol.com.br/photo20040413184113.html
|
||||
http://cobralillo.weblogger.terra.com.br/200404_cobralillo_arquivo.htm
|
||||
http://coisasdoleo.weblogger.terra.com.br/20030330_coisasdoleo_arquivo.htm
|
||||
http://coise-saint-jean-pied-gauthier.france.ehotelfinder.net/
|
||||
http://colombia.flogbrasil.terra.com.br/tops.php
|
||||
http://comcharisma.weblogger.com.br/
|
||||
http://comediante.flogbrasil.terra.com.br/tops_meninas.php
|
@ -1,69 +0,0 @@
|
||||
#ifndef __CXXMPH_MURMUR_HASH2__
|
||||
#define __CXXMPH_MURMUR_HASH2__
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// MurmurHash2, by Austin Appleby
|
||||
|
||||
// Note - This code makes a few assumptions about how your machine behaves -
|
||||
|
||||
// 1. We can read a 4-byte value from any address without crashing
|
||||
// 2. sizeof(int) == 4
|
||||
|
||||
// And it has a few limitations -
|
||||
|
||||
// 1. It will not work incrementally.
|
||||
// 2. It will not produce the same results on little-endian and big-endian
|
||||
// machines.
|
||||
|
||||
unsigned int MurmurHash2 ( const void * key, int len, unsigned int seed )
|
||||
{
|
||||
// 'm' and 'r' are mixing constants generated offline.
|
||||
// They're not really 'magic', they just happen to work well.
|
||||
|
||||
const unsigned int m = 0x5bd1e995;
|
||||
const int r = 24;
|
||||
|
||||
// Initialize the hash to a 'random' value
|
||||
|
||||
unsigned int h = seed ^ len;
|
||||
|
||||
// Mix 4 bytes at a time into the hash
|
||||
|
||||
const unsigned char * data = (const unsigned char *)key;
|
||||
|
||||
while(len >= 4)
|
||||
{
|
||||
unsigned int k = *(unsigned int *)data;
|
||||
|
||||
k *= m;
|
||||
k ^= k >> r;
|
||||
k *= m;
|
||||
|
||||
h *= m;
|
||||
h ^= k;
|
||||
|
||||
data += 4;
|
||||
len -= 4;
|
||||
}
|
||||
|
||||
// Handle the last few bytes of the input array
|
||||
|
||||
switch(len)
|
||||
{
|
||||
case 3: h ^= data[2] << 16;
|
||||
case 2: h ^= data[1] << 8;
|
||||
case 1: h ^= data[0];
|
||||
h *= m;
|
||||
};
|
||||
|
||||
// Do a few final mixes of the hash to ensure the last few
|
||||
// bytes are well-incorporated.
|
||||
|
||||
h ^= h >> 13;
|
||||
h *= m;
|
||||
h ^= h >> 15;
|
||||
|
||||
return h;
|
||||
}
|
||||
|
||||
#endif // __CXXMPH_MURMUR_HASH2__
|
@ -9,7 +9,6 @@
|
||||
|
||||
//#define DEBUG
|
||||
#include "debug.h"
|
||||
#include "MurmurHash2.h"
|
||||
|
||||
#define hashsize(n) ((cmph_uint32)1<<(n))
|
||||
#define hashmask(n) (hashsize(n)-1)
|
||||
@ -88,8 +87,8 @@ acceptable. Do NOT use for cryptographic purposes.
|
||||
jenkins_state_t *jenkins_state_new(cmph_uint32 size) //size of hash table
|
||||
{
|
||||
jenkins_state_t *state = (jenkins_state_t *)malloc(sizeof(jenkins_state_t));
|
||||
DEBUGP("Initializing jenkins hash\n");
|
||||
state->seed = ((cmph_uint32)rand() % size);
|
||||
DEBUGP("Initializied jenkins hash with seed %d\n", state->seed);
|
||||
return state;
|
||||
}
|
||||
void jenkins_state_destroy(jenkins_state_t *state)
|
||||
@ -100,67 +99,63 @@ void jenkins_state_destroy(jenkins_state_t *state)
|
||||
|
||||
static inline void __jenkins_hash_vector(cmph_uint32 seed, const char *k, cmph_uint32 keylen, cmph_uint32 * hashes)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < 3; ++i) {
|
||||
hashes[i] = MurmurHash2(k, keylen, seed + i);
|
||||
register cmph_uint32 len, length;
|
||||
|
||||
/* Set up the internal state */
|
||||
length = keylen;
|
||||
len = length;
|
||||
hashes[0] = hashes[1] = 0x9e3779b9; /* the golden ratio; an arbitrary value */
|
||||
hashes[2] = seed; /* the previous hash value - seed in our case */
|
||||
|
||||
/*---------------------------------------- handle most of the key */
|
||||
while (len >= 12)
|
||||
{
|
||||
hashes[0] += ((cmph_uint32)k[0] +((cmph_uint32)k[1]<<8) +((cmph_uint32)k[2]<<16) +((cmph_uint32)k[3]<<24));
|
||||
hashes[1] += ((cmph_uint32)k[4] +((cmph_uint32)k[5]<<8) +((cmph_uint32)k[6]<<16) +((cmph_uint32)k[7]<<24));
|
||||
hashes[2] += ((cmph_uint32)k[8] +((cmph_uint32)k[9]<<8) +((cmph_uint32)k[10]<<16)+((cmph_uint32)k[11]<<24));
|
||||
mix(hashes[0],hashes[1],hashes[2]);
|
||||
k += 12; len -= 12;
|
||||
}
|
||||
// register cmph_uint32 len, length;
|
||||
//
|
||||
// /* Set up the internal state */
|
||||
// length = keylen;
|
||||
// len = length;
|
||||
// hashes[0] = hashes[1] = 0x9e3779b9; /* the golden ratio; an arbitrary value */
|
||||
// hashes[2] = seed; /* the previous hash value - seed in our case */
|
||||
//
|
||||
// /*---------------------------------------- handle most of the key */
|
||||
// while (len >= 12)
|
||||
// {
|
||||
// hashes[0] += ((cmph_uint32)k[0] +((cmph_uint32)k[1]<<8) +((cmph_uint32)k[2]<<16) +((cmph_uint32)k[3]<<24));
|
||||
// hashes[1] += ((cmph_uint32)k[4] +((cmph_uint32)k[5]<<8) +((cmph_uint32)k[6]<<16) +((cmph_uint32)k[7]<<24));
|
||||
// hashes[2] += ((cmph_uint32)k[8] +((cmph_uint32)k[9]<<8) +((cmph_uint32)k[10]<<16)+((cmph_uint32)k[11]<<24));
|
||||
// mix(hashes[0],hashes[1],hashes[2]);
|
||||
// k += 12; len -= 12;
|
||||
// }
|
||||
//
|
||||
// /*------------------------------------- handle the last 11 bytes */
|
||||
// hashes[2] += length;
|
||||
// switch(len) /* all the case statements fall through */
|
||||
// {
|
||||
// case 11:
|
||||
// hashes[2] +=((cmph_uint32)k[10]<<24);
|
||||
// case 10:
|
||||
// hashes[2] +=((cmph_uint32)k[9]<<16);
|
||||
// case 9 :
|
||||
// hashes[2] +=((cmph_uint32)k[8]<<8);
|
||||
// /* the first byte of hashes[2] is reserved for the length */
|
||||
// case 8 :
|
||||
// hashes[1] +=((cmph_uint32)k[7]<<24);
|
||||
// case 7 :
|
||||
// hashes[1] +=((cmph_uint32)k[6]<<16);
|
||||
// case 6 :
|
||||
// hashes[1] +=((cmph_uint32)k[5]<<8);
|
||||
// case 5 :
|
||||
// hashes[1] +=(cmph_uint8) k[4];
|
||||
// case 4 :
|
||||
// hashes[0] +=((cmph_uint32)k[3]<<24);
|
||||
// case 3 :
|
||||
// hashes[0] +=((cmph_uint32)k[2]<<16);
|
||||
// case 2 :
|
||||
// hashes[0] +=((cmph_uint32)k[1]<<8);
|
||||
// case 1 :
|
||||
// hashes[0] +=(cmph_uint8)k[0];
|
||||
// /* case 0: nothing left to add */
|
||||
// }
|
||||
//
|
||||
// mix(hashes[0],hashes[1],hashes[2]);
|
||||
|
||||
/*------------------------------------- handle the last 11 bytes */
|
||||
hashes[2] += length;
|
||||
switch(len) /* all the case statements fall through */
|
||||
{
|
||||
case 11:
|
||||
hashes[2] +=((cmph_uint32)k[10]<<24);
|
||||
case 10:
|
||||
hashes[2] +=((cmph_uint32)k[9]<<16);
|
||||
case 9 :
|
||||
hashes[2] +=((cmph_uint32)k[8]<<8);
|
||||
/* the first byte of hashes[2] is reserved for the length */
|
||||
case 8 :
|
||||
hashes[1] +=((cmph_uint32)k[7]<<24);
|
||||
case 7 :
|
||||
hashes[1] +=((cmph_uint32)k[6]<<16);
|
||||
case 6 :
|
||||
hashes[1] +=((cmph_uint32)k[5]<<8);
|
||||
case 5 :
|
||||
hashes[1] +=(cmph_uint8) k[4];
|
||||
case 4 :
|
||||
hashes[0] +=((cmph_uint32)k[3]<<24);
|
||||
case 3 :
|
||||
hashes[0] +=((cmph_uint32)k[2]<<16);
|
||||
case 2 :
|
||||
hashes[0] +=((cmph_uint32)k[1]<<8);
|
||||
case 1 :
|
||||
hashes[0] +=(cmph_uint8)k[0];
|
||||
/* case 0: nothing left to add */
|
||||
}
|
||||
|
||||
mix(hashes[0],hashes[1],hashes[2]);
|
||||
}
|
||||
|
||||
cmph_uint32 jenkins_hash(jenkins_state_t *state, const char *k, cmph_uint32 keylen)
|
||||
{
|
||||
// cmph_uint32 hashes[3];
|
||||
// __jenkins_hash_vector(state->seed, k, keylen, hashes);
|
||||
// return hashes[2];
|
||||
cmph_uint32 a, b, c;
|
||||
cmph_uint32 hashes[3];
|
||||
__jenkins_hash_vector(state->seed, k, keylen, hashes);
|
||||
return hashes[2];
|
||||
/* cmph_uint32 a, b, c;
|
||||
cmph_uint32 len, length;
|
||||
|
||||
// Set up the internal state
|
||||
@ -214,6 +209,7 @@ cmph_uint32 jenkins_hash(jenkins_state_t *state, const char *k, cmph_uint32 keyl
|
||||
/// report the result
|
||||
|
||||
return c;
|
||||
*/
|
||||
}
|
||||
|
||||
void jenkins_hash_vector_(jenkins_state_t *state, const char *k, cmph_uint32 keylen, cmph_uint32 * hashes)
|
||||
|
Loading…
Reference in New Issue
Block a user