diff options
| author | maya <maya@NetBSD.org> | 2016-12-31 22:54:56 +0000 |
|---|---|---|
| committer | maya <maya@NetBSD.org> | 2016-12-31 22:54:56 +0000 |
| commit | d7cd6cbd0d4a0170aa3c06cce9e35fc9d72be745 (patch) | |
| tree | 054b7de22355f055a46d6ae50287f07be68b2dfa /lib/libm/complex | |
| parent | a5a78d3c3e84ae535d9bff4b6ca184c372a8b731 (diff) | |
similar to csqrt, spare ourselves a fabsf call. we already check sign
later on, use this to our advantage.
No functional change.
Diffstat (limited to 'lib/libm/complex')
| -rw-r--r-- | lib/libm/complex/csqrtf.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/libm/complex/csqrtf.c b/lib/libm/complex/csqrtf.c index da276d33ccb..8deb0525c82 100644 --- a/lib/libm/complex/csqrtf.c +++ b/lib/libm/complex/csqrtf.c @@ -1,4 +1,4 @@ -/* $NetBSD: csqrtf.c,v 1.2 2016/12/31 20:01:15 maya Exp $ */ +/* $NetBSD: csqrtf.c,v 1.3 2016/12/31 22:54:56 maya Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -55,12 +55,13 @@ csqrtf(float complex z) } if (x == 0.0f) { - r = fabsf(y); - r = sqrtf(0.5f * r); - if (y > 0) + if (y > 0) { + r = sqrtf(0.5f * y); w = r + r * I; - else + } else { + r = sqrtf(-0.5f * y); w = r - r * I; + } return w; } |
