-
Notifications
You must be signed in to change notification settings - Fork 132
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1196 from carloscbl/igraph
Implemented igraph
- Loading branch information
Showing
4 changed files
with
94 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
// See https://igraph.org/c/html/latest/igraph-Installation.html. Although that page | ||
// says the following settings are for macOS, running arithchk on Android returns the | ||
// same values, according to | ||
// https://github.com/chaquo/chaquopy/pull/1196#discussion_r1825264094. | ||
|
||
// f2c requires this setting even on ARM64. | ||
#define IEEE_8087 | ||
|
||
#define Arith_Kind_ASL 1 | ||
#define Long int | ||
#define Intcast (int)(long) | ||
#define Double_Align | ||
#define X64_bit_pointers | ||
#define NANCHECK | ||
#define QNaN0 0x0 | ||
#define QNaN1 0x7ff80000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
package: | ||
name: igraph | ||
version: "0.11.8" | ||
|
||
build: | ||
number: 1 | ||
script_env: | ||
- MAKEFLAGS=-j${CPU_COUNT} | ||
|
||
# For the F2C and IEEE settings, see arith-android64.h. | ||
# | ||
# LTO is disabled because it doesn't pass the necessary argument to the linker | ||
# (https://github.com/android/ndk/issues/2069#issuecomment-2347153515). | ||
# | ||
# OpenMP is disabled so we can avoid testing and releasing a new version of | ||
# chaquopy-libomp. | ||
- >- | ||
IGRAPH_CMAKE_EXTRA_ARGS= | ||
-DF2C_EXTERNAL_ARITH_HEADER=../../../../../../../arith-android64.h | ||
-DIEEE754_DOUBLE_ENDIANNESS_MATCHES=ON | ||
-DIGRAPH_ENABLE_LTO=OFF | ||
-DIGRAPH_OPENMP_SUPPORT=OFF | ||
requirements: | ||
build: | ||
- cmake 3.28.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
import unittest | ||
|
||
|
||
class TestIgraph(unittest.TestCase): | ||
|
||
def testGraphCreation(self): | ||
from igraph import Graph | ||
g = Graph() | ||
self.assertTrue(isinstance(g, Graph)) | ||
self.assertTrue(g.vcount() == 0 and g.ecount() == 0 and not g.is_directed()) | ||
|
||
g = Graph(3, [(0, 1), (1, 2), (2, 0)]) | ||
self.assertTrue( | ||
g.vcount() == 3 | ||
and g.ecount() == 3 | ||
and not g.is_directed() | ||
and g.is_simple() | ||
) | ||
|
||
g = Graph(2, [(0, 1), (1, 2), (2, 3)], True) | ||
self.assertTrue( | ||
g.vcount() == 4 and g.ecount() == 3 and g.is_directed() and g.is_simple() | ||
) | ||
|
||
g = Graph([(0, 1), (1, 2), (2, 1)]) | ||
self.assertTrue( | ||
g.vcount() == 3 | ||
and g.ecount() == 3 | ||
and not g.is_directed() | ||
and not g.is_simple() | ||
) | ||
|
||
g = Graph(((0, 1), (0, 0), (1, 2))) | ||
self.assertTrue( | ||
g.vcount() == 3 | ||
and g.ecount() == 3 | ||
and not g.is_directed() | ||
and not g.is_simple() | ||
) | ||
|
||
g = Graph(8, None) | ||
self.assertEqual(8, g.vcount()) | ||
self.assertEqual(0, g.ecount()) | ||
self.assertFalse(g.is_directed()) | ||
|
||
g = Graph(edges=None) | ||
self.assertEqual(0, g.vcount()) | ||
self.assertEqual(0, g.ecount()) | ||
self.assertFalse(g.is_directed()) | ||
|
||
self.assertRaises(TypeError, Graph, edgelist=[(1, 2)]) |