Skip to content

Commit b5bd8bf

Browse files
authored
Merge pull request #13 from stephenhky/removefortran
Remove Fortran components
2 parents 3c7d94b + c33bae6 commit b5bd8bf

File tree

5 files changed

+12
-107
lines changed

5 files changed

+12
-107
lines changed

graphflow/pagerank/GooglePageRank.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import numpy as np
44

5-
from .f90pagerank import f90pagerank as fpr
65
from .cpagerank import pagerank_cython
76
from .. import L1norm, PageRankLanguage
87

@@ -15,12 +14,6 @@ def GoogleMatrix(digraph, beta):
1514
return A, nodedict
1615

1716

18-
def CalculatePageRankFromAdjacencyMatrix_Fortran(adjMatrix, nodes, eps=1e-4, maxstep=1000):
19-
r = fpr.compute_pagerank(adjMatrix, eps, maxstep)
20-
nodepr = {node: r[nodes[node]] for node in nodes}
21-
return nodepr
22-
23-
2417
def CalculatePageRankFromAdjacencyMatrix_Cython(adjMatrix, nodes, eps=1e-4, maxstep=1000):
2518
return pagerank_cython(adjMatrix, nodes, eps, maxstep)
2619

@@ -40,12 +33,12 @@ def CalculatePageRankFromAdjacencyMatrix_Python(adjMatrix, nodes, eps=1e-4, maxs
4033

4134

4235
def CalculatePageRankFromAdjacencyMatrix(adjMatrix, nodes, eps=1e-4, maxstep=1000,
43-
language=PageRankLanguage.FORTRAN,
36+
language=PageRankLanguage.CYTHON,
4437
fortran=True):
4538
if not fortran:
4639
warnings.warn('The boolean variable "fortran" is deprecated.')
4740
if language == PageRankLanguage.FORTRAN:
48-
return CalculatePageRankFromAdjacencyMatrix_Fortran(adjMatrix, nodes, eps=eps, maxstep=maxstep)
41+
raise ValueError('Fortran is no longer supported.')
4942
elif language == PageRankLanguage.CYTHON:
5043
return CalculatePageRankFromAdjacencyMatrix_Cython(adjMatrix, nodes, eps=eps, maxstep=maxstep)
5144
else:

graphflow/pagerank/f90pagerank.f90

Lines changed: 0 additions & 57 deletions
This file was deleted.

graphflow/pagerank/f90pagerank.pyf

Lines changed: 0 additions & 25 deletions
This file was deleted.

setup.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
# https://stackoverflow.com/questions/7932028/setup-py-for-packages-that-depend-on-both-cython-and-f2py
66

77
from setuptools import setup
8+
import numpy as np
89

910
try:
1011
from Cython.Build import cythonize
@@ -14,14 +15,6 @@
1415
dynprog_ext_modules = [Extension('graphflow.pagerank.cpagerank',
1516
sources=['graphflow/pagerank/cpagerank.c'])]
1617

17-
import numpy as np
18-
from numpy.distutils.core import setup
19-
from numpy.distutils.core import Extension as fortranExtension
20-
21-
fortran_ext_modules = [fortranExtension('graphflow.pagerank.f90pagerank',
22-
sources=['graphflow/pagerank/f90pagerank.f90',
23-
'graphflow/pagerank/f90pagerank.pyf'])]
24-
2518

2619
def readme():
2720
with open('README.md') as f:
@@ -33,7 +26,7 @@ def install_requirements():
3326

3427

3528
setup(name='graphflow',
36-
version="0.4.2",
29+
version="0.4.3a1",
3730
description="Algorithms for Graph Flow Analysis",
3831
long_description="Numerical routines for analyzing data represented by graphs",
3932
classifiers=[
@@ -67,7 +60,7 @@ def install_requirements():
6760
'pandas',
6861
],
6962
include_dirs=[np.get_include()],
70-
ext_modules=fortran_ext_modules+dynprog_ext_modules,
63+
ext_modules=dynprog_ext_modules,
7164
include_package_data=True,
7265
test_suite="test",
7366
zip_safe=False)

test/test_pagerank.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,13 @@ def setUp(self):
7373
self.googlematrix, self.nodedict = graphflow.pagerank.GooglePageRank.GoogleMatrix(graph, 0.15)
7474

7575
def testNetwork_fortran(self):
76-
pagerank = graphflow.pagerank.GooglePageRank.CalculatePageRankFromAdjacencyMatrix(self.googlematrix, self.nodedict, language=PageRankLanguage.FORTRAN)
77-
78-
self.assertEqual(len(pagerank), len(pagerank_answer))
79-
self.assertEqual(len(set(pagerank.keys()).intersection(set(pagerank_answer.keys()))), len(pagerank))
80-
for name in pagerank:
81-
self.assertAlmostEqual(pagerank[name], pagerank_answer[name], places=5)
76+
self.assertRaises(
77+
ValueError,
78+
graphflow.pagerank.GooglePageRank.CalculatePageRankFromAdjacencyMatrix,
79+
adjMatrix=self.googlematrix,
80+
nodes=self.nodedict,
81+
language=PageRankLanguage.FORTRAN
82+
)
8283

8384
def testNetwork_python(self):
8485
pagerank = graphflow.pagerank.GooglePageRank.CalculatePageRankFromAdjacencyMatrix(self.googlematrix, self.nodedict, language=PageRankLanguage.PYTHON)

0 commit comments

Comments
 (0)