aboutsummaryrefslogtreecommitdiffstats
path: root/codecs/lpc10/f2clib.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2000-01-05 08:20:27 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2000-01-05 08:20:27 +0000
commit758d7ac6f9c4db1450b46c6efd2f98280e193ca8 (patch)
tree2fbfe62756299e2a74e810a68d049ad0c39aa93b /codecs/lpc10/f2clib.c
parentcdf6951894d16b31021b98a0a6d3b950ea61b55f (diff)
Version 0.1.2 from FTP
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@169 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'codecs/lpc10/f2clib.c')
-rwxr-xr-xcodecs/lpc10/f2clib.c82
1 files changed, 82 insertions, 0 deletions
diff --git a/codecs/lpc10/f2clib.c b/codecs/lpc10/f2clib.c
new file mode 100755
index 000000000..6a1e576b7
--- /dev/null
+++ b/codecs/lpc10/f2clib.c
@@ -0,0 +1,82 @@
+/*
+
+$Log$
+Revision 1.1 2000/01/05 08:20:39 markster
+Version 0.1.2 from FTP
+
+Revision 1.2 2000/01/05 08:20:39 markster
+Some OSS fixes and a few lpc changes to make it actually work
+
+ * Revision 1.1 1996/08/19 22:32:10 jaf
+ * Initial revision
+ *
+
+*/
+
+/*
+ * f2clib.c
+ *
+ * SCCS ID: @(#)f2clib.c 1.2 96/05/19
+ */
+
+#include "f2c.h"
+
+#ifdef KR_headers
+integer pow_ii(ap, bp) integer *ap, *bp;
+#else
+integer pow_ii(integer *ap, integer *bp)
+#endif
+{
+ integer pow, x, n;
+ unsigned long u;
+
+ x = *ap;
+ n = *bp;
+
+ if (n <= 0) {
+ if (n == 0 || x == 1)
+ return 1;
+ if (x != -1)
+ return x == 0 ? 1/x : 0;
+ n = -n;
+ }
+ u = n;
+ for(pow = 1; ; )
+ {
+ if(u & 01)
+ pow *= x;
+ if(u >>= 1)
+ x *= x;
+ else
+ break;
+ }
+ return(pow);
+ }
+
+
+
+#ifdef KR_headers
+double r_sign(a,b) real *a, *b;
+#else
+double r_sign(real *a, real *b)
+#endif
+{
+double x;
+x = (*a >= 0 ? *a : - *a);
+return( *b >= 0 ? x : -x);
+}
+
+
+
+#ifdef KR_headers
+double floor();
+integer i_nint(x) real *x;
+#else
+#undef abs
+#include "math.h"
+integer i_nint(real *x)
+#endif
+{
+return( (*x)>=0 ?
+ floor(*x + .5) : -floor(.5 - *x) );
+}