public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* numarray on Cygwin
@ 2002-05-06 15:37 Jochen Küpper
  2002-05-07  5:57 ` [Numpy-discussion] " Todd Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Jochen Küpper @ 2002-05-06 15:37 UTC (permalink / raw)
  To: numpy-discussion, cygwin

[-- Attachment #1: Type: text/plain, Size: 1812 bytes --]

I am trying to run numarray on Cygwin.
(Where Numeric seems to work fine.)

In order to compile it I had to change the use of round to rint, as
Cygwin's C library (newlib) doesn't have round.  The patch is
attached.

When I use it I don't get far, though:
,----
| > python
| Python 2.2 (#1, Dec 31 2001, 15:21:18) 
| [GCC 2.95.3-5 (cygwin special)] on cygwin
| Type "help", "copyright", "credits" or "license" for more information.
| >>> import numarray as na
| >>> x = na.array([1.0, 2.0])
| >>> x
| Traceback (most recent call last):
|   File "<stdin>", line 1, in ?
|   File "/usr/lib/python2.2/site-packages/numarray/numarray.py", line 591, in __repr__
|     MAX_LINE_WIDTH, PRECISION, SUPPRESS_SMALL, ', ', 1)
|   File "/usr/lib/python2.2/site-packages/numarray/arrayprint.py", line 86, in array2string
|     format, item_length = _floatFormat(data, precision, suppress_small)
|   File "/usr/lib/python2.2/site-packages/numarray/arrayprint.py", line 140, in _floatFormat
|     non_zero = numarray.abs(numarray.compress(numarray.not_equal(data, 0), data))
|   File "/usr/lib/python2.2/site-packages/numarray/ufunc.py", line 474, in __call__
|     cfunc, ufargs, scalar)
|   File "/usr/lib/python2.2/site-packages/numarray/ufunc.py", line 312, in _doit
|     apply(cfunc, ufargs)
| TypeError: 'PyCObject' object is not callable
| >>>
`----
If I print out the type of cfunc down in _doit, I get (the expected)
,----
| <type 'PyCObject'>
`----

Any ideas, probably some hints how to proceed?

Greetings,
Jochen
-- 
University of North Carolina                       phone: +1-919-962-4403
Department of Chemistry                            phone: +1-919-962-1579
Venable Hall CB#3290 (Kenan C148)                    fax: +1-919-843-6041
Chapel Hill, NC 27599, USA                            GnuPG key: 44BCCD8E

[-- Attachment #2: numarray.diff --]
[-- Type: text/x-patch, Size: 6898 bytes --]

? Lib/ChangeLog
? Lib/numinclude.py
Index: Include/numarray/ChangeLog
===================================================================
RCS file: /cvsroot/numpy/numarray/Include/numarray/ChangeLog,v
retrieving revision 1.1
diff -u -r1.1 ChangeLog
--- Include/numarray/ChangeLog	22 Apr 2002 20:33:16 -0000	1.1
+++ Include/numarray/ChangeLog	6 May 2002 22:32:43 -0000
@@ -1,8 +1,18 @@
+2002-05-06  Jochen Küpper  <jochen@unc.edu>
+
+	* numcomplex.h (NUM_CROUND): Use rint instead of round.  The latter is
+	not available on all systems, namely Cygwin.
+
 2002-04-10  Jochen Küpper  <jochen@unc.edu>
 
 	* ndarrayinfo.h: Change NDInfo->strides to NDInfo->stride for
 	consistency.  Adopt all sources accordingly.
 
-	* genapi.py (bodystring): Do not include emacs' Local Variables
-	section into gnerated files.
+	* genapi.py (bodystring): Do not include emacs' Local Variables section
+	into gnerated files.
+
 
+	* Local Variables:
+	* mode: auto-fill
+	* fill-column: 79
+	* End:
Index: Include/numarray/numcomplex.h
===================================================================
RCS file: /cvsroot/numpy/numarray/Include/numarray/numcomplex.h,v
retrieving revision 1.5
diff -u -r1.5 numcomplex.h
--- Include/numarray/numcomplex.h	30 Apr 2002 17:29:43 -0000	1.5
+++ Include/numarray/numcomplex.h	6 May 2002 22:32:43 -0000
@@ -228,7 +228,7 @@
 #define NUM_CCEIL(p, s) (s).r = ceil((p).r); (s).i = ceil((p).i);
 
 #define NUM_CFABS(p, s)  (s).r = fabs((p).r);  (s).i = fabs((p).i);
-#define NUM_CROUND(p, s) (s).r = round((p).r); (s).i = round((p).i);
+#define NUM_CROUND(p, s) (s).r = rint((p).r); (s).i = rint((p).i);
 #define NUM_CHYPOT(p, q, s) { Complex64 t;                                    \
                               NUM_CSQR(p, s);  NUM_CSQR(q, t);                \
                               NUM_CADD(s, t, s);                              \
Index: Lib/codegenerator.py
===================================================================
RCS file: /cvsroot/numpy/numarray/Lib/codegenerator.py,v
retrieving revision 1.22
diff -u -r1.22 codegenerator.py
--- Lib/codegenerator.py	3 May 2002 19:14:06 -0000	1.22
+++ Lib/codegenerator.py	6 May 2002 22:32:44 -0000
@@ -1593,7 +1593,7 @@
 ["minimum", 2, 1, (function_td, "ufminimum"), generic_operator_sigs, opt_minmax_decl],
 
 ["fabs",    1, 1, (function_td, "fabs"),  generic_mathfunction_sigs, ""],
-["around",  1, 1, (function_td, "round"), generic_mathfunction_sigs, ""],
+["around",  1, 1, (function_td, "rint"), generic_mathfunction_sigs, ""],
 ["hypot",   2, 1, (function_td, "hypot"), generic_mathfunction_sigs, ""],
 
 # Complex ufuncs
Index: Src/_ufuncBoolmodule.c
===================================================================
RCS file: /cvsroot/numpy/numarray/Src/_ufuncBoolmodule.c,v
retrieving revision 1.8
diff -u -r1.8 _ufuncBoolmodule.c
--- Src/_ufuncBoolmodule.c	29 Apr 2002 21:39:50 -0000	1.8
+++ Src/_ufuncBoolmodule.c	6 May 2002 22:32:45 -0000
@@ -2365,7 +2365,7 @@
     Float32 *tout = (Float32 *) buffers[1];
     
     for (i=0; i<niter; i++, tin++, tout++) {
-        *tout = round(*tin);
+        *tout = rint(*tin);
     }
     return 0;
 }
Index: Src/_ufuncFloat32module.c
===================================================================
RCS file: /cvsroot/numpy/numarray/Src/_ufuncFloat32module.c,v
retrieving revision 1.8
diff -u -r1.8 _ufuncFloat32module.c
--- Src/_ufuncFloat32module.c	29 Apr 2002 21:39:50 -0000	1.8
+++ Src/_ufuncFloat32module.c	6 May 2002 22:32:45 -0000
@@ -1773,7 +1773,7 @@
     Float32 *tout = (Float32 *) buffers[1];
     
     for (i=0; i<niter; i++, tin++, tout++) {
-        *tout = round(*tin);
+        *tout = rint(*tin);
     }
     return 0;
 }
Index: Src/_ufuncFloat64module.c
===================================================================
RCS file: /cvsroot/numpy/numarray/Src/_ufuncFloat64module.c,v
retrieving revision 1.8
diff -u -r1.8 _ufuncFloat64module.c
--- Src/_ufuncFloat64module.c	29 Apr 2002 21:39:50 -0000	1.8
+++ Src/_ufuncFloat64module.c	6 May 2002 22:32:45 -0000
@@ -1773,7 +1773,7 @@
     Float64 *tout = (Float64 *) buffers[1];
     
     for (i=0; i<niter; i++, tin++, tout++) {
-        *tout = round(*tin);
+        *tout = rint(*tin);
     }
     return 0;
 }
Index: Src/_ufuncInt16module.c
===================================================================
RCS file: /cvsroot/numpy/numarray/Src/_ufuncInt16module.c,v
retrieving revision 1.8
diff -u -r1.8 _ufuncInt16module.c
--- Src/_ufuncInt16module.c	29 Apr 2002 21:39:51 -0000	1.8
+++ Src/_ufuncInt16module.c	6 May 2002 22:32:45 -0000
@@ -2254,7 +2254,7 @@
     Float32 *tout = (Float32 *) buffers[1];
     
     for (i=0; i<niter; i++, tin++, tout++) {
-        *tout = round(*tin);
+        *tout = rint(*tin);
     }
     return 0;
 }
Index: Src/_ufuncInt32module.c
===================================================================
RCS file: /cvsroot/numpy/numarray/Src/_ufuncInt32module.c,v
retrieving revision 1.8
diff -u -r1.8 _ufuncInt32module.c
--- Src/_ufuncInt32module.c	29 Apr 2002 21:39:51 -0000	1.8
+++ Src/_ufuncInt32module.c	6 May 2002 22:32:45 -0000
@@ -2254,7 +2254,7 @@
     Float32 *tout = (Float32 *) buffers[1];
     
     for (i=0; i<niter; i++, tin++, tout++) {
-        *tout = round(*tin);
+        *tout = rint(*tin);
     }
     return 0;
 }
Index: Src/_ufuncInt8module.c
===================================================================
RCS file: /cvsroot/numpy/numarray/Src/_ufuncInt8module.c,v
retrieving revision 1.8
diff -u -r1.8 _ufuncInt8module.c
--- Src/_ufuncInt8module.c	29 Apr 2002 21:39:51 -0000	1.8
+++ Src/_ufuncInt8module.c	6 May 2002 22:32:45 -0000
@@ -2254,7 +2254,7 @@
     Float32 *tout = (Float32 *) buffers[1];
     
     for (i=0; i<niter; i++, tin++, tout++) {
-        *tout = round(*tin);
+        *tout = rint(*tin);
     }
     return 0;
 }
Index: Src/_ufuncUInt16module.c
===================================================================
RCS file: /cvsroot/numpy/numarray/Src/_ufuncUInt16module.c,v
retrieving revision 1.8
diff -u -r1.8 _ufuncUInt16module.c
--- Src/_ufuncUInt16module.c	29 Apr 2002 21:39:51 -0000	1.8
+++ Src/_ufuncUInt16module.c	6 May 2002 22:32:45 -0000
@@ -2249,7 +2249,7 @@
     Float32 *tout = (Float32 *) buffers[1];
     
     for (i=0; i<niter; i++, tin++, tout++) {
-        *tout = round(*tin);
+        *tout = rint(*tin);
     }
     return 0;
 }
Index: Src/_ufuncUInt8module.c
===================================================================
RCS file: /cvsroot/numpy/numarray/Src/_ufuncUInt8module.c,v
retrieving revision 1.8
diff -u -r1.8 _ufuncUInt8module.c
--- Src/_ufuncUInt8module.c	29 Apr 2002 21:39:51 -0000	1.8
+++ Src/_ufuncUInt8module.c	6 May 2002 22:32:45 -0000
@@ -2249,7 +2249,7 @@
     Float32 *tout = (Float32 *) buffers[1];
     
     for (i=0; i<niter; i++, tin++, tout++) {
-        *tout = round(*tin);
+        *tout = rint(*tin);
     }
     return 0;
 }


[-- Attachment #3: Type: text/plain, Size: 214 bytes --]

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-05-07 12:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-05-06 15:37 numarray on Cygwin Jochen Küpper
2002-05-07  5:57 ` [Numpy-discussion] " Todd Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).