Ignore:
Timestamp:
Jan 23, 2008, 4:24:11 PM (16 years ago)
Author:
steve
Message:

Playing with f2py for adding C extensions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • anuga_core/source/anuga/advection/advection_ext.pyf

    r4964 r4967  
    33python module advection_ext
    44interface
    5         subroutine compute_fluxes(stage_edge,stage_bdry,stage_update,neighbours,neighbour_edges,normals,areas,radii,edgelengths,tri_full_flag,huge_timestep,timestep,v,n)
     5        double precision function compute_fluxes(stage_edge,stage_bdry,stage_update,neighbours,neighbour_edges,normals,areas,radii,edgelengths,tri_full_flag,huge_timestep,max_timestep,v,n)
    66                intent(c) compute_fluxes
    77                intent(c)
    88       
    9                 double precision dimension(3,n) ::    stage_edge
    10                 double precision dimension(3,n) ::        stage_bdry,
    11                 double precision dimension(n) ::          stage_update,
    12         integer dimension(n) ::               neighbours,
    13                 integer dimension(n) ::                       neighbour_edges,
    14                 double precision dimension(6,n) ::        normals
    15         double precision dimension(n) ::      areas
    16                 double precision dimension(n) ::          radii
    17                 double precision dimension(3,n) ::        edgelengths
    18                 integer dimension(n) ::                           tri_full_flag
    19         double precision  ::                  huge_timestep
    20         double precision  ::                  timestep
     9                double precision dimension(*) ::      stage_edge
     10                double precision dimension(*) ::      stage_bdry,
     11                double precision dimension(*) ::      stage_update,
     12                integer dimension(*) ::               neighbours,
     13                integer dimension(*) ::               neighbour_edges,
     14                double precision dimension(*) ::      normals
     15                double precision dimension(*) ::      areas
     16                double precision dimension(*) ::      radii
     17                double precision dimension(*) ::      edgelengths
     18                integer dimension(*) ::               tri_full_flag
     19                double precision   ::                 huge_timestep
     20                double precision   ::                 max_timestep
    2121                double precision dimension(2) ::      v
    22         integer optional,check(shape(stage_edge,1)==n),depend(stage_edge) :: n=shape(stage_edge,0)
     22                integer  ::                           n
    2323
    24         end subroutine compute_fluxes
     24        end function compute_fluxes
    2525end interface
    2626end python module
     
    2828
    2929
    30 
    31 void compute_fluxes(double* stage_edge,
    32                                         double* stage_bdry,
    33                                         double* stage_update,
    34                     int* neighbours,
    35                                         int* neighbour_edges,
    36                                         double* normals,
    37                     double* areas,
    38                                         double* radii,
    39                                         double* edgelengths,
    40                                         int* tri_full_flag,
    41                     double huge_timestep,
    42                     double timestep,
    43                                         double* v,
    44                                         int N){
Note: See TracChangeset for help on using the changeset viewer.