fxt_fwrap Module


Uses

  • module~~fxt_fwrap~~UsesGraph module~fxt_fwrap fxt_fwrap iso_c_binding iso_c_binding module~fxt_fwrap->iso_c_binding module~env_module env_module module~fxt_fwrap->module~env_module module~fxt_fif fxt_fif module~fxt_fwrap->module~fxt_fif module~fxt_fif->iso_c_binding

Used by

  • module~~fxt_fwrap~~UsedByGraph module~fxt_fwrap fxt_fwrap module~ply_fxt_module ply_fxt_module module~ply_fxt_module->module~fxt_fwrap program~test_fxtd_n2m2n test_fxtd_n2m2n program~test_fxtd_n2m2n->module~fxt_fwrap program~test_fxtd_n2m2n->module~ply_fxt_module program~fxtp_test fxtp_test program~fxtp_test->module~fxt_fwrap module~ply_poly_project_module ply_poly_project_module module~ply_poly_project_module->module~ply_fxt_module

Contents


Interfaces

interface

Interface declarations to the fxtf_wrapper.c routines.

Those routines enable the passing of Fortran arrays to the FXTPACK and take care of putting the data into the fxt_vecld data structures, which are then passed on to the actual fxt_* routines.

  • public subroutine fxtf_flptld_evl(v, vn, flpt, u, un, w) bind(c)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=c_double), dimension(*) :: v
    integer(kind=c_int), value :: vn
    type(c_ptr), value :: flpt
    real(kind=c_double), dimension(*) :: u
    integer(kind=c_int), value :: un
    type(c_ptr), value :: w

interface

Interface declarations to the fxtf_wrapper.c routines.

Those routines enable the passing of Fortran arrays to the FXTPACK and take care of putting the data into the fxt_vecld data structures, which are then passed on to the actual fxt_* routines.

  • public subroutine fxtf_flptld_exp(u, un, flpt, v, vn, w) bind(c)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=c_double), dimension(*) :: u
    integer(kind=c_int), value :: un
    type(c_ptr), value :: flpt
    real(kind=c_double), dimension(*) :: v
    integer(kind=c_int), value :: vn
    type(c_ptr), value :: w

interface

Interface declarations to the fxtf_wrapper.c routines.

Those routines enable the passing of Fortran arrays to the FXTPACK and take care of putting the data into the fxt_vecld data structures, which are then passed on to the actual fxt_* routines.

  • private subroutine fxtf_faltld_evl(v, vn, falt, m, u, un, w) bind(c)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=c_double), dimension(*) :: v
    integer(kind=c_int), value :: vn
    type(c_ptr), value :: falt
    integer(kind=c_long), value :: m
    real(kind=c_double), dimension(*) :: u
    integer(kind=c_int), value :: un
    type(c_ptr), value :: w

interface

Interface declarations to the fxtf_wrapper.c routines.

Those routines enable the passing of Fortran arrays to the FXTPACK and take care of putting the data into the fxt_vecld data structures, which are then passed on to the actual fxt_* routines.

  • private subroutine fxtf_faltld_exp(u, un, falt, m, v, vn, w) bind(c)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=c_double), dimension(*) :: u
    integer(kind=c_int), value :: un
    type(c_ptr), value :: falt
    integer(kind=c_long), value :: m
    real(kind=c_double), dimension(*) :: v
    integer(kind=c_int), value :: vn
    type(c_ptr), value :: w

Derived Types

type, public ::  fxtf_flptld_type

This datatype provides a handle to the information that FXTPACK needs to have about the transformation.

Components

Type Visibility Attributes Name Initial
type(c_ptr), public :: handle

Handle for the fast Legendre polynomial transformation data in FXTPACK.

type(c_ptr), public :: work

Pointer to the working array, that is required by the transformations.


Subroutines

public subroutine fxtf_flptld_m2n(flpt, modal_data, nodal_data)

Convert modal data to nodal data using flpt.

Read more…

Arguments

Type IntentOptional Attributes Name
type(fxtf_flptld_type), intent(in) :: flpt

Description of the Fast Legendre Polynomial Transform

real(kind=rk), target :: modal_data(:)

Modal data

real(kind=rk), target :: nodal_data(:)

Nodal data

public subroutine fxtf_flptld_n2m(flpt, nodal_data, modal_data)

Convert nodal data to modal data using flpt.

Read more…

Arguments

Type IntentOptional Attributes Name
type(fxtf_flptld_type) :: flpt

Description of the Fast Legendre Polynomial Transform

real(kind=rk), target :: nodal_data(:)

Nodal data

real(kind=rk), target :: modal_data(:)

Modal data

public subroutine fxtf_flptld_init(flpt, degree, nPoints, prec)

Initialize the flpt data structure for fast legendre polynomial transformation via the fxtpack.

Arguments

Type IntentOptional Attributes Name
type(fxtf_flptld_type), intent(out) :: flpt

Handle to the resulting fast polynomial table.

integer, intent(in) :: degree

Polynomial degree.

integer, intent(in), optional :: nPoints

Number of points.

Read more…
real(kind=c_double), intent(in), optional :: prec

Required precision for the transformation.

Read more…