Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 0 additions & 77 deletions .gitignore

This file was deleted.

4 changes: 0 additions & 4 deletions .gitmodules

This file was deleted.

Empty file modified CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified ChangeLog.md
100644 → 100755
Empty file.
Empty file modified LICENSE.txt
100644 → 100755
Empty file.
Empty file modified Makefile.am
100644 → 100755
Empty file.
Empty file modified README.md
100644 → 100755
Empty file.
Empty file modified configure.ac
100644 → 100755
Empty file.
Empty file modified doxy.cfg
100644 → 100755
Empty file.
Empty file modified examples/consensus/Makefile
100644 → 100755
Empty file.
Empty file modified examples/consensus/consensus.c
100644 → 100755
Empty file.
Empty file modified examples/rf-distance/Makefile
100644 → 100755
Empty file.
Empty file modified examples/rf-distance/rf-distance.c
100644 → 100755
Empty file.
Empty file modified examples/spr-round/Makefile
100644 → 100755
Empty file.
Empty file modified examples/spr-round/spr-round.c
100644 → 100755
Empty file.
Empty file modified examples/weight-consensus/Makefile
100644 → 100755
Empty file.
Empty file modified examples/weight-consensus/weight-consensus.c
100644 → 100755
Empty file.
Empty file modified m4/ax_check_compile_flag.m4
100644 → 100755
Empty file.
Empty file modified m4/ax_ext.m4
100644 → 100755
Empty file.
Empty file modified m4/ax_gcc_x86_avx_xgetbv.m4
100644 → 100755
Empty file.
Empty file modified m4/ax_gcc_x86_cpuid.m4
100644 → 100755
Empty file.
Empty file modified src/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified src/Makefile.am
100644 → 100755
Empty file.
Empty file modified src/algorithm/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified src/algorithm/Makefile.am
100644 → 100755
Empty file.
Empty file modified src/algorithm/README.md
100644 → 100755
Empty file.
Empty file modified src/algorithm/algo_callback.c
100644 → 100755
Empty file.
Empty file modified src/algorithm/algo_callback.h
100644 → 100755
Empty file.
Empty file modified src/algorithm/algo_search.c
100644 → 100755
Empty file.
Empty file modified src/algorithm/pllmod_algorithm.c
100644 → 100755
Empty file.
Empty file modified src/algorithm/pllmod_algorithm.h
100644 → 100755
Empty file.
Empty file modified src/binary/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified src/binary/Makefile.am
100644 → 100755
Empty file.
Empty file modified src/binary/README.md
100644 → 100755
Empty file.
Empty file modified src/binary/binary_io_operations.c
100644 → 100755
Empty file.
Empty file modified src/binary/binary_io_operations.h
100644 → 100755
Empty file.
Empty file modified src/binary/pll_binary.c
100644 → 100755
Empty file.
Empty file modified src/binary/pll_binary.h
100644 → 100755
Empty file.
Empty file modified src/msa/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified src/msa/Makefile.am
100644 → 100755
Empty file.
Empty file modified src/msa/README.md
100644 → 100755
Empty file.
94 changes: 94 additions & 0 deletions src/msa/pll_msa.c
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@
* @author Alexey Kozlov
*/

#ifndef __MINGW32__
#include <search.h>
#endif

#include "pll_msa.h"
#include "../util/pllmod_util.h"
Expand Down Expand Up @@ -305,6 +307,97 @@ PLL_EXPORT double pllmod_msa_empirical_invariant_sites(pll_partition_t *partitio
return empirical_pinv;
}

#if defined __MINGW32__
static int find_duplicate_strings_htable(char ** const strings,
unsigned long string_count,
unsigned long ** duplicates,
unsigned long * duplicate_count)
{
if (!strings)
return PLL_FAILURE;

unsigned long * tmpdup = (unsigned long *)malloc(string_count * 2 *
sizeof(unsigned long));

unsigned long * hash = (unsigned long *)calloc(string_count,
sizeof(unsigned long));

unsigned char * dupflag = (unsigned char *)calloc(string_count,
sizeof(unsigned char));

if (!hash || !tmpdup || !dupflag)
{
if (hash)
free(hash);
if (tmpdup)
free(tmpdup);
if (dupflag)
free(dupflag);
pllmod_set_error(PLL_ERROR_MEM_ALLOC,
"Cannot allocate memory for duplicates array");
return PLL_FAILURE;
}

*duplicate_count = 0;

unsigned long i;
unsigned long j;

for (i = 0; i < string_count; ++i)
{
for (j = 0; j < strlen(strings[i]); ++j)
hash[i] = hash[i] + (j+1) * (unsigned long) strings[i][j];
}

int coll = 0;

for (i = 0; i < string_count; ++i)
{
if (dupflag[i])
continue;
for (j = i+1; j < string_count; ++j)
{
if (hash[i] == hash[j])
{
coll++;
if (strcmp(strings[i], strings[j]) == 0)
{
/* duplicate found, save it */
tmpdup[(*duplicate_count)*2] = i;
tmpdup[(*duplicate_count)*2+1] = j;
(*duplicate_count)++;
dupflag[j] = 1;
}
}
}
}

// printf("Collisions: %d, duplicates: %lu\n", coll, *duplicate_count);

free(hash);
free(dupflag);

if (*duplicate_count > 0)
{
*duplicates = (unsigned long *) realloc(tmpdup, (*duplicate_count) * 2 *
sizeof(unsigned long));

if (!(*duplicates))
{
pllmod_set_error(PLL_ERROR_MEM_ALLOC,
"Cannot allocate memory for duplicates array");
return PLL_FAILURE;
}
}
else
{
free(tmpdup);
*duplicates = NULL;
}

return PLL_SUCCESS;
}
#else
/* Find duplicates using hash table from search.h. This works best for short
* strings, so we use this method for checking taxa names */
static int find_duplicate_strings_htable(char ** const strings,
Expand Down Expand Up @@ -376,6 +469,7 @@ static int find_duplicate_strings_htable(char ** const strings,

return PLL_SUCCESS;
}
#endif

/* Find duplicates using custom hash function optimized for long low-variance
* strings - this method is used for detecting identical sequences */
Expand Down
Empty file modified src/msa/pll_msa.h
100644 → 100755
Empty file.
Empty file modified src/optimize/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified src/optimize/Makefile.am
100644 → 100755
Empty file.
Empty file modified src/optimize/README.md
100644 → 100755
Empty file.
Empty file modified src/optimize/lbfgsb/License.txt
100644 → 100755
Empty file.
Empty file modified src/optimize/lbfgsb/lbfgsb.c
100644 → 100755
Empty file.
Empty file modified src/optimize/lbfgsb/lbfgsb.h
100644 → 100755
Empty file.
Empty file modified src/optimize/lbfgsb/linesearch.c
100644 → 100755
Empty file.
Empty file modified src/optimize/lbfgsb/linpack.c
100644 → 100755
Empty file.
Empty file modified src/optimize/lbfgsb/miniCBLAS.c
100644 → 100755
Empty file.
Empty file modified src/optimize/lbfgsb/subalgorithms.c
100644 → 100755
Empty file.
Empty file modified src/optimize/opt_algorithms.c
100644 → 100755
Empty file.
Empty file modified src/optimize/pll_optimize.c
100644 → 100755
Empty file.
Empty file modified src/optimize/pll_optimize.h
100644 → 100755
Empty file.
Empty file modified src/pllmod_common.c
100644 → 100755
Empty file.
Empty file modified src/pllmod_common.h
100644 → 100755
Empty file.
Empty file modified src/tree/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified src/tree/Makefile.am
100644 → 100755
Empty file.
Empty file modified src/tree/README.md
100644 → 100755
Empty file.
Empty file modified src/tree/consensus.c
100644 → 100755
Empty file.
Empty file modified src/tree/lex_split.l
100644 → 100755
Empty file.
Empty file modified src/tree/pll_tree.c
100644 → 100755
Empty file.
Empty file modified src/tree/pll_tree.h
100644 → 100755
Empty file.
Empty file modified src/tree/rtree_operations.c
100644 → 100755
Empty file.
Empty file modified src/tree/split_utree.y
100644 → 100755
Empty file.
Empty file modified src/tree/tree_hashtable.c
100644 → 100755
Empty file.
Empty file modified src/tree/tree_hashtable.h
100644 → 100755
Empty file.
Empty file modified src/tree/treeinfo.c
100644 → 100755
Empty file.
Empty file modified src/tree/utree_distances.c
100644 → 100755
Empty file.
Empty file modified src/tree/utree_operations.c
100644 → 100755
Empty file.
Empty file modified src/util/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified src/util/Makefile.am
100644 → 100755
Empty file.
Empty file modified src/util/README.md
100644 → 100755
Empty file.
Empty file modified src/util/models.c
100644 → 100755
Empty file.
Empty file modified src/util/models_aa.c
100644 → 100755
Empty file.
Empty file modified src/util/models_dna.c
100644 → 100755
Empty file.
Empty file modified src/util/models_gt.c
100644 → 100755
Empty file.
Empty file modified src/util/models_mult.c
100644 → 100755
Empty file.
Empty file modified src/util/pllmod_util.h
100644 → 100755
Empty file.
5 changes: 0 additions & 5 deletions test/.gitignore

This file was deleted.

Empty file modified test/Makefile
100644 → 100755
Empty file.
Empty file modified test/Makefile.w64
100644 → 100755
Empty file.
Empty file modified test/README.md
100644 → 100755
Empty file.
Empty file modified test/out/README.md
100644 → 100755
Empty file.
Empty file modified test/out/binary/binary-random.out
100644 → 100755
Empty file.
Empty file modified test/out/binary/binary-sequential.out
100644 → 100755
Empty file.
Empty file modified test/out/binary/binary-skeleton.out
100644 → 100755
Empty file.
Empty file modified test/out/optimize/blopt-5states.out
100644 → 100755
Empty file.
Empty file modified test/out/optimize/blopt-minimal.out
100644 → 100755
Empty file.
Empty file modified test/out/skip.out
100644 → 100755
Empty file.
Empty file modified test/out/tree/parsimony-tree.out
100644 → 100755
Empty file.
Empty file modified test/out/tree/random-tree.out
100644 → 100755
Empty file.
Empty file modified test/out/tree/rtreemove-spr.out
100644 → 100755
Empty file.
Empty file modified test/out/tree/serialize.out
100644 → 100755
Empty file.
Empty file modified test/out/tree/split-reconstruct.out
100644 → 100755
Empty file.
Empty file modified test/out/tree/split-tbe.out
100644 → 100755
Empty file.
Empty file modified test/out/tree/treemove-nni.out
100644 → 100755
Empty file.
Empty file modified test/out/tree/treemove-spr.out
100644 → 100755
Empty file.
Empty file modified test/out/tree/treemove-tbr.out
100644 → 100755
Empty file.
Empty file modified test/src/README.md
100644 → 100755
Empty file.
Empty file modified test/src/binary/binary-random.c
100644 → 100755
Empty file.
Empty file modified test/src/binary/binary-sequential.c
100644 → 100755
Empty file.
Empty file modified test/src/binary/binary-skeleton.c
100644 → 100755
Empty file.
Empty file modified test/src/common.c
100644 → 100755
Empty file.
Empty file modified test/src/common.h
100644 → 100755
Empty file.
Empty file modified test/src/optimize/blopt-5states.c
100644 → 100755
Empty file.
Empty file modified test/src/optimize/blopt-minimal.c
100644 → 100755
Empty file.
Empty file modified test/src/rng.h
100644 → 100755
Empty file.
Empty file modified test/src/tree/parsimony-tree.c
100644 → 100755
Empty file.
Empty file modified test/src/tree/random-tree.c
100644 → 100755
Empty file.
Empty file modified test/src/tree/serialize.c
100644 → 100755
Empty file.
Empty file modified test/src/tree/split-reconstruct.c
100644 → 100755
Empty file.
Empty file modified test/src/tree/split-tbe.c
100644 → 100755
Empty file.
Empty file modified test/src/tree/treemove-nni.c
100644 → 100755
Empty file.
Empty file modified test/src/tree/treemove-spr.c
100644 → 100755
Empty file.
Empty file modified test/src/tree/treemove-tbr.c
100644 → 100755
Empty file.