Hi, this probably does not help with your problem. However, I would recommend changing your fortran code to: subroutine print_bit_array(bits) use iso_fortran_env integer(kind=int8),intent(in),dimension(:)::bits print*,'bits = ',bits end subroutine print_bit_array
In that way you could print shape(bits) to verify that you are getting an array of the size you are expecting. Also, you could compile with -fbounds-check (gfortran) or a similar flag for some extra debugging facilities. To get better help with your issues, I would recommend also posting your call to the fortran routine, and the compilation command used (f2py -m myfile.f90 -flags....). Cheers Paul On 17. apr. 2012, at 07:32, John Mitchell wrote: > Hi, > > I am using f2py to pass a numpy array of type numpy.int8 to fortran. It > seems like I am misunderstanding something because I just can't make it work. > > Here is what I am doing. > > PYTHON > b=numpy.array(numpy.zeros(shape=(10,),dtype=numpy.int8),order='F') > b[0]=1 > b[2]=1 > b[3]=1 > b > array([1, 0, 1, 1, 0, 0, 0, 0, 0, 0], dtype=int8) > > > > FORTRAN > subroutine print_bit_array(bits,n) > use iso_fortran_env > integer,intent(in)::n > integer(kind=int8),intent(in),dimension(n)::bits > print*,'bits = ',bits > end subroutine print_bit_array > > > RESULT when calling fortran from python > bits = 1 0 0 0 0 0 0 0 1 0 > > Any Ideas? > thanks, > John > > > _______________________________________________ > NumPy-Discussion mailing list > [email protected] > http://mail.scipy.org/mailman/listinfo/numpy-discussion _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
