Commit 670c670d authored by Kai Zhang's avatar Kai Zhang

add cbits

parent 72e01fe8
#include <igraph/igraph.h>
igraph_integer_t igraph_get_eid_(igraph_t* graph, igraph_integer_t pfrom, igraph_integer_t pto,
igraph_bool_t directed, igraph_bool_t error)
{
igraph_integer_t eid;
igraph_get_eid(graph, &eid, pfrom, pto, directed, error);
return eid;
}
char** igraph_strvector_get_(igraph_strvector_t* s, long int i)
{
char** x = (char**) malloc (sizeof(char*));
igraph_strvector_get(s, i, x);
return x;
}
igraph_arpack_options_t* igraph_arpack_new()
{
igraph_arpack_options_t *arpack = (igraph_arpack_options_t*) malloc(sizeof(igraph_arpack_options_t));
igraph_arpack_options_init(arpack);
return arpack;
}
void igraph_arpack_destroy(igraph_arpack_options_t* arpack)
{
if (arpack)
free(arpack);
arpack = NULL;
}
void haskelligraph_init()
{
/* attach attribute table */
igraph_i_set_attribute_table(&igraph_cattribute_table);
}
......@@ -69,6 +69,7 @@ library
hs-source-dirs: src
default-language: Haskell2010
build-tools: c2hs >=0.25.0
c-sources: cbits/haskelligraph.c
include-dirs: include
test-suite tests
......
......@@ -4,39 +4,14 @@
#include <igraph/igraph.h>
igraph_integer_t igraph_get_eid_(igraph_t* graph, igraph_integer_t pfrom, igraph_integer_t pto,
igraph_bool_t directed, igraph_bool_t error)
{
igraph_integer_t eid;
igraph_get_eid(graph, &eid, pfrom, pto, directed, error);
return eid;
}
igraph_bool_t directed, igraph_bool_t error);
char** igraph_strvector_get_(igraph_strvector_t* s, long int i)
{
char** x = (char**) malloc (sizeof(char*));
igraph_strvector_get(s, i, x);
return x;
}
char** igraph_strvector_get_(igraph_strvector_t* s, long int i);
igraph_arpack_options_t* igraph_arpack_new()
{
igraph_arpack_options_t *arpack = (igraph_arpack_options_t*) malloc(sizeof(igraph_arpack_options_t));
igraph_arpack_options_init(arpack);
return arpack;
}
igraph_arpack_options_t* igraph_arpack_new();
void igraph_arpack_destroy(igraph_arpack_options_t* arpack)
{
if (arpack)
free(arpack);
arpack = NULL;
}
void haskelligraph_init()
{
/* attach attribute table */
igraph_i_set_attribute_table(&igraph_cattribute_table);
}
void igraph_arpack_destroy(igraph_arpack_options_t* arpack);
void haskelligraph_init();
#endif
......@@ -10,7 +10,7 @@ import Foreign.C.Types
{#import IGraph.Internal.Graph #}
{#import IGraph.Internal.Data #}
#include "haskelligraph.h"
#include "igraph/igraph.h"
{#fun igraph_cliques as ^ { `IGraphPtr', `VectorPPtr', `Int', `Int' } -> `Int' #}
......
......@@ -9,7 +9,7 @@ import Foreign.C.Types
{#import IGraph.Internal.Data #}
{#import IGraph.Internal.Constants #}
#include "haskelligraph.h"
#include "igraph/igraph.h"
{#fun igraph_community_spinglass as ^
{ `IGraphPtr'
......
......@@ -3,7 +3,7 @@ module IGraph.Internal.Constants where
import Foreign
#include "haskelligraph.h"
#include "igraph/igraph.h"
{#enum igraph_neimode_t as Neimode {underscoreToCase}
deriving (Show, Eq) #}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment