You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After building from source the simplest way, running ./genhrg with n >= 10^7, the assertion "hyperbolicDistance(nodeInA.radius, nodeInA.angle, nodeInB.radius, nodeInB.angle) < m_R" fails and thus no graph is generated.
The text was updated successfully, but these errors were encountered:
I was able to reproduce the problem. You encountered floating point problems.
It all comes down to how you compute hyperbolic distance.
The fast way we outlined in the paper says nodes are closer than $R$ cosh(d) = 16403128956290.799 cosh(R) = 16414031750058.705.
while the other formula says otherwise d = 31.122344335589894 R = 31.122304860022076.
Here double precision just reaches it's limits for intermediate values.
We tried to investigate in issue #9.
For most use cases it does not matter if there are slight inaccuracies, anyway.
If you want to fix this, be my guest.
Otherwise I suggest you build in release to ignore this.
./configure
# now default build configurations are in .localconfig
./configure
# if you left the config unchanged, the build should be in ./build/
cmake --build ./build
This changed the runtime of ./genhrg -n 10000000 on my laptop from 40s to 4s.
Or 1.5s with -threads 4.
After building from source the simplest way, running
./genhrg
with n >= 10^7, the assertion "hyperbolicDistance(nodeInA.radius, nodeInA.angle, nodeInB.radius, nodeInB.angle) < m_R" fails and thus no graph is generated.The text was updated successfully, but these errors were encountered: