projects
/
graphviz
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8c811b1
)
replace hypotenuse calculation in arrow_gen with a call to hypot
author
Matthew Fernandez
<matthew.fernandez@gmail.com>
Wed, 5 May 2021 03:42:17 +0000
(20:42 -0700)
committer
Matthew Fernandez
<matthew.fernandez@gmail.com>
Wed, 12 May 2021 01:46:36 +0000
(18:46 -0700)
The function hypot is available in C99 and has the potential to compute the same
operation more efficiently and with greater precision.
lib/common/arrows.c
patch
|
blob
|
history
diff --git
a/lib/common/arrows.c
b/lib/common/arrows.c
index 8f3b2c22f47a3a13506868b2c55aea58fe4f5142..ef9d25692b01bc1cb6619fd1b8cc0bc0d3d18d12 100644
(file)
--- a/
lib/common/arrows.c
+++ b/
lib/common/arrows.c
@@
-755,7
+755,7
@@
void arrow_gen(GVJ_t * job, emit_state_t emit_state, pointf p, pointf u, double
u.x -= p.x;
u.y -= p.y;
/* the EPSILONs are to keep this stable as length of u approaches 0.0 */
- s = ARROW_LENGTH / (
sqrt(u.x * u.x + u.y *
u.y) + EPSILON);
+ s = ARROW_LENGTH / (
hypot(u.x,
u.y) + EPSILON);
u.x += (u.x >= 0.0) ? EPSILON : -EPSILON;
u.y += (u.y >= 0.0) ? EPSILON : -EPSILON;
u.x *= s;