Library Pm


[ Keywords | Classes | Data | Functions ]

Quick Index

DESCRIPTION
INTERNAL DATA FORMAT
LOG



Classes

Back to the top of Pm


Data

// Basic Data Types
typedef enum PmFormat;
typedef int PmParamSetId;
// Structures generiques
typedef struct _pmFrame *pmFrame;
typedef struct _pmFrameBlock *pmFrameBlock;
typedef struct _PmFrameSet *PmFrameSet;
// Structures specifiques
typedef struct _pmPartial pmPartial, *PmPartialSet;
typedef struct _PmBreakPoint *PmBreakPoint;
static REAL halsec [20] = ;
static REAL costab [20] = ;
static REAL sintab [20] = ;
static REAL coswrk [20] = ;
static REAL sinwrk [20] = ;

Back to the top of Pm


Global Functions

// Procedure de liberation de la memoire static
void PmCed_FreeStatic(void);
void PmFftMayer_FreeStatic(void);
void Pmlo_FreeStatic(void);
void PmPeaks_FreeStatic(void);
void PmSynth_FreeStatic(void);
// Declarations des fonctions de la bibliotheque
// Initialisation and File Handling
int PmInit (void);
int PmDeInit (void);
FILE *PmOpenFile (const char *name, int mode, PmFormat format);
void PmCloseFile (FILE *f, PmFormat format);
char *PmGetExtension (const char *name);
PmFormat PmNameToFormat (char *name);
PmFormat PmGetFileFormat (const char *name, PmFormat defnonsdif, PmFormat defsdif);
void PmCheckFileType (char* inFileName, PmFormat* ioFileType);
int PmGetFilePos (FILE *f, PmFormat format);
int PmIsSdifFile (const char *name);
// Creation et Destruction
PmFrameSet PmCreateFrameSet( int, int );
pmFrameBlock pmCreateFrameBlock( int, int );
pmFrame pmCreateFrame( int );
PmParamSetId PmCreateParamSet( PmFrameSet, int, int, char * );
PmFrameSet PmReallocFrameSet( PmFrameSet, int, int );
void PmFreeParamSet( PmFrameSet, PmParamSetId );
void pmFreeFrame( pmFrame );
void pmFreeFrameBlock( PmFrameSet, pmFrameBlock );
void PmFreeFrameSet( PmFrameSet );
// Acces aux parametres
pmFrame pm_search_frame( PmFrameSet, int, pmFrameBlock* );
int pm_search_frame_by_time( PmFrameSet, float, pmFrame* );
int pm_search_frame_index( PmFrameSet, float, pmFrameBlock* );
int pm_search_rel_frame_index( PmFrameSet, int, pmFrameBlock * );
int PmGetNbOfFrames( PmFrameSet );
void PmDecrNbOfFrames( PmFrameSet, int );
int PmGetNbOfParamSets( PmFrameSet );
int PmGetNbOfAllocParamSets( PmFrameSet );
PmParamSetId PmGetActiveParamSetId( PmFrameSet, int );
float PmGetFrameTime( PmFrameSet, int );
float PmGetBeginTime( PmFrameSet );
float PmGetEndTime( PmFrameSet );
int PmGetParamSetAllocSize( PmFrameSet, int, PmParamSetId );
int PmGetParamSetNb( PmFrameSet, int, PmParamSetId );
void * PmGetParamSetPtr( PmFrameSet, int, PmParamSetId );
int PmGetParamSetType( PmFrameSet, PmParamSetId );
char * PmGetParamSetName( PmFrameSet, PmParamSetId );
int PmGetParamSetElemSize( PmFrameSet, PmParamSetId );
void PmPutFrameTime( PmFrameSet, int, float );
void pm_put_frame_time( PmFrameSet, pmFrame, float );
void PmPutBeginTime( PmFrameSet, float );
void PmPutEndTime( PmFrameSet, float );
void * pmGetFrameDataPtr( pmFrame, PmParamSetId );
int pmGetFrameDataNb( pmFrame, PmParamSetId );
int pmGetFrameDataAllocSize( pmFrame, PmParamSetId );
void pmPutFrameDataNb( pmFrame, PmParamSetId, int );
int PmGetParamSet( PmFrameSet, int, PmParamSetId, void *, int );
int PmPutParamSet( PmFrameSet, int, PmParamSetId, void *, int );
int PmAddFrameData( PmFrameSet, float, PmParamSetId*, void **, int *, int );
int PmGetFrameData( PmFrameSet, int, float*, PmParamSetId*, void **, int *, int );
// Edition
PmFrameSet PmCutFrameSet( PmFrameSet, float, float );
int PmInsertFrameSet( PmFrameSet, PmFrameSet, float );
PmFrameSet PmCopyFrameSet( PmFrameSet, float, float );
int pmCopyFrame( PmFrameSet, pmFrame, pmFrame );
int PmShiftFrameSet( PmFrameSet, int );
// traitement
int PmSmoothParamSet( PmFrameSet, PmParamSetId, float, float );
void PmReverseFrameSet( PmFrameSet, float, float );
// Partiels
PmPartialSet PmCreatePartialSet( int );
PmPartialSet PmReallocPartialSet( PmPartialSet, int );
void PmFreePartialSet( PmPartialSet );
int PmCopyPartialSet(PmPartialSet, PmPartialSet);
int PmReadPartialSet( FILE *, PmPartialSet, PmFormat);
int PmReadPartialSet2( FILE *, PmPartialSet, PmFormat, int);
int PmReadPeaksSet2( FILE *, PmPartialSet, PmFormat, int, float);
int PmWritePartialSet( FILE *, PmPartialSet, PmFormat);
int PmWritePartialSet2( FILE *, PmPartialSet, PmFormat, int);
void pmPrintPartial (FILE *f, PmPartialSet p, char *msg);
int PmDetectSpectralPeaks( float *, PmPartialSet, float, int, int);
int PmDetectSpectralPeaks2( float *, PmPartialSet, float, int, int, float );
int PmSeeve( PmPartialSet, PmPartialSet, float, float, float, int );
int PmCedEnv( PmPartialSet, float *, float, int, int, float );
int PmCedCoef( PmPartialSet, float *, float, int, float );
// Acces aux donnees
void PmPutPartialSetTime( PmPartialSet, float );
float PmGetPartialSetTime( PmPartialSet );
void PmPutPartialSetNb( PmPartialSet, float );
int PmGetPartialSetNb( PmPartialSet );
int PmGetPartialSetAllocSize( PmPartialSet );
int PmAddPartial( PmPartialSet, int, float, float, float );
int PmDeletePartial( PmPartialSet, int );
int PmDeleteSubPartialSet( PmPartialSet, int*, int );
int PmGetPartialIndex( PmPartialSet, int );
void PmPutPartialFreq( PmPartialSet, int, float );
float PmGetPartialFreq( PmPartialSet, int );
float * PmGetAllPartialFreq( PmPartialSet );
void PmCopyAllPartialFreq (PmPartialSet ps, float *dest);
void PmPutPartialAmpl( PmPartialSet, int, float );
float PmGetPartialAmpl( PmPartialSet, int );
float * PmGetAllPartialAmpl( PmPartialSet );
void PmCopyAllPartialAmpl (PmPartialSet ps, float *dest);
void PmPutPartialPhase( PmPartialSet, int, float );
float PmGetPartialPhase( PmPartialSet, int );
float * PmGetAllPartialPhase( PmPartialSet );
void PmCopyAllPartialPhase (PmPartialSet ps, float *dest);
// Passage du format externe a l'interne et viceversa
int pm_intSYNT_to_ext_copy( PmPartialSet in, PmPartialSet ext, float * findex );
int pm_ext_to_intSYNT( PmPartialSet );
// Fonctions auxiliaires de traitement
float PmUnwrapPhase( float, float, float, float, float );
float PmWrapPhase( float );
int PmPresentPartial( PmPartialSet, int );
// Fonctions de traitement
int PmFreqTransp( PmPartialSet, PmPartialSet, PmPartialSet, PmPartialSet, float, float );
int PmIvarFreqTransp(PmPartialSet,PmPartialSet,PmPartialSet,PmPartialSet, PmBreakPoint,PmBreakPoint);
int PmFvarFreqTransp(PmPartialSet,PmPartialSet,PmPartialSet,PmPartialSet, PmBreakPoint,PmBreakPoint);
int PmTimeScaling( PmPartialSet, PmPartialSet, PmPartialSet, PmPartialSet, float );
int PmFadeHarmEnds(PmFrameSet, PmParamSetId, float, float, int);
void pmReversePartialSet( PmPartialSet );
int PmInterpPartialSet(PmPartialSet, PmPartialSet, PmPartialSet, int);
PmFrameSet PmScaleFrameSetTime(PmFrameSet, PmBreakPoint);
int PmSetSpectralEnv( PmPartialSet, PmPartialSet, float *, float, float, int, int );
int PmMultSpectralEnv( PmPartialSet, PmPartialSet, float *, float, float, int, int );
int PmCopySubPartialSet( PmPartialSet, PmPartialSet, int *, int );
int PmMoveSubPartialSet( PmPartialSet, PmPartialSet, int *, int );
void PmAmplSortPartials( PmPartialSet );
void PmFreqSortPartials( PmPartialSet );
// Synthese additive
int PmAddSyntInit (void);
int PmAddSynt( PmPartialSet, PmPartialSet, float *, int maxsize, int sample_done, float, int );
// Fonctions pour trier des tableaux
void pm_sort_int_array(int* , int);
int pm_sort_ex_situ (const int *ind, const int num, int *perm);
void pm_sort_partials(PmPartialSet);
int pmSystchol( float *A, float *b, float *x, int p_plus_1 );
// PmBreakPoint
PmBreakPoint PmCreateBreakPoint( int );
PmBreakPoint PmReallocBreakPoint( PmBreakPoint, int );
void PmFreeBreakPoint( PmBreakPoint );
int PmReadBreakPoint( FILE *, PmBreakPoint, PmFormat );
void PmWriteBreakPoint( FILE *, PmBreakPoint, PmFormat );
void PmWriteOneBreakPoint (FILE *file, float x, float y, PmFormat format);
PmBreakPoint PmLoadBreakPoint (char *name);
PmBreakPoint PmLoadBreakPoint2 (char *name, PmFormat *format);
PmBreakPoint PmLoadBreakPointOrConst (char *nameorconst);
int PmSaveBreakPoint (char *name, PmBreakPoint bp, PmFormat format);
float PmEvalBreakPoint( PmBreakPoint, float );
int PmAddBreakPoint( PmBreakPoint, float, float );
void PmExtractBreakPoint( PmBreakPoint, float );
int PmGetBreakPoint( PmBreakPoint, int, float*, float* );
int PmGetBreakPointNb( PmBreakPoint );
float *PmGetBreakPointVectX (PmBreakPoint aBP);
float *PmGetBreakPointVectY (PmBreakPoint aBP);
void PmEliminateZeroValueInBreakPoint(PmBreakPoint aBP);
void PmEliminateZeroValueInBreakPoint2(PmBreakPoint aBP);
// Fast Fourier Transform and window functions
// La fft
void pmRealfft(float*, float*, long, int);
void pmBkman(float*, long, short);
void pmHamm(float*, long);
void pmHann(float*, long);
void pmTrian(float*, long);
// SDIF
int PmSdifInit (void);
int PmSdifDeInit (void);
void PmSdifPrintVersion (void);
// internal
char *pmCutSdifSelection (char *name, char *save);
FILE* PmSdifOpenRead (const char *infile, int stdio, FILE *pipe, PmFormat format);
FILE *PmSdifOpenWrite (const char *infile, int stdio, FILE *pipe, PmFormat format);
// Close file
void PmSdifClose (FILE *f);
int PmSdifGetFilePos (FILE *f);
int PmSdifReadFrame (FILE *file, PmPartialSet osc, int inNbPartial, PmFormat format);
int PmSdifWriteFrame (FILE *file, PmPartialSet osc, int *perm, int nbpartial, PmFormat format);
int PmSdifReadBreakPoint (FILE *fp, PmBreakPoint bp, PmFormat format_flag);
void PmSdifWriteBreakPoint (FILE *fp, PmBreakPoint bp, PmFormat format_flag);
void PmSdifWriteOneBreakPoint (FILE *file, float x, float y, PmFormat format);

Back to the top of Pm


DESCRIPTION

Pm --- A Library for Additive Analysis/Transformation/Synthesis

Complete documentation of Pm can be found at http://www.ircam.fr/anasyn/pm.

Équipe Analyse-Synthèse / Analysis-Synthesis Team

Copyright (C) 1999 IRCAM - Centre Georges Pompidou

Back to the top of Pm


INTERNAL DATA FORMAT

There's three things to note regarding the interpretation of the PmPartialSet data structure:

  • index is harmonic number - 1 (This is referred to as "internal format" in PmReadPartialSet2 and PmWritePartialSet2.)

  • The harmonic partial i is at index [i - 1], a sort of expanded format, as opposed to the direct, packed format after loading. (This is called "Format interne de "synt" et des programmes de control".) The conversion between the packed and expanded format is done in PmReadPartialSet2 by pm_ext_to_intSYNT, and vice versa in PmWritePartialSet2 by pm_intSYNT_to_ext_copy.

  • Finally, after analysis (using PmDetectSpectralPeaks2 and PmSeeve), the generated partial data (freq/ampl/phase [i]) is not at the same array positions as their indices index [i]! Instead, index is an array of indirection: freq of partial i in PmPartialSet p is at p->freq [p->index [i]]!

  • Back to the top of Pm


    LOG

    $Log: Pm.h,v $ Revision 1.15 1999/10/14 18:22:59 schwarz Added functions PmLoadBreakPoint2, PmGetBreakPointVect(X|Y), necessary for PmDoF0Smooth. Fixed bug in PmSdifReadBreakPoint.

    Revision 1.14 1999/10/07 12:54:42 schwarz Added enum PmFormat for the different file formats known to Pm. Its members are still called PM_ASCII, PM_SDIF_*, etc. but a proper typedef is cleaner than the #defines before. Added PmWriteOneBreakPoint, PmSdifWriteOneBreakPoint.

    Revision 1.13 1999/10/01 09:51:27 schwarz Added Pm[Sdif]WriteOneBreakPoint, completed version string.

    Revision 1.12 1999/09/27 13:36:25 schwarz Fixed bug in synthesis with ignored buffer size. New PmAddSynt works like fwrite now. Moved init of sinus table to PmAddSyntInit, auto- matically called by PmInit.

    Revision 1.11 1999/09/23 16:12:06 schwarz Added sdif breakpoint i/o, functions to load/save a whole bpf in one go, and the convenient PmLoadBreakPointOrConst. Moved file type checking into the library.

    Revision 1.10 1999/09/22 15:03:15 schwarz Reconciled changes from Ivan (perry) and Adrien (lefevre).

    Revision 1.9 1999/09/22 13:53:41 lefevre Today, add project_preincluded.h and XpGuiCalls.h for CrossPlatform compatibility.

    Revision 1.8 1999/09/22 12:10:41 perry Added function PmReadPeaksSet2 to allow picstosdif convertor.

    Revision 1.7 1999/08/26 15:34:24 schwarz Sorry, had to put return types on same line with prototypes for cocoon to recognise them.

    Revision 1.6 1999/08/09 19:38:34 schwarz Added pmPrintPartial.

    Revision 1.5 1999/08/09 15:05:48 schwarz Documentation of PmPartialSet semantics.

    Revision 1.4 1999/07/22 19:58:17 schwarz Sdif input/output for Pm. This entails new functions Pm(De)Init and Pm(Open|Close)File, which must be used. As added value, by using PmOpenFile, you gain automatic compression/decompression using gzip of the output and input files.

    Revision 1.3 1998/05/14 09:56:59 schwarz Changed definition of PM_MAXFLOAT / PM_MINFLOAT. Made includeable by C++. Added prototypes for functions PmGetAllPartial(Freq|Ampl|Phase) to access the complete partial data arrays.

    Revision 1.2 1997/05/21 13:17:36 woehrman Back to original API.

    Revision 1.1 1997/05/14 14:01:23 woehrman Pm for MAC and UNIX version 1.0dev. Compiles under UNIX. MAC?

    Back to the top of Pm


    typedef enum PmFormat;

    #include "Pm.h"

    File formats known to Pm

    typedef enum {
        PM_ASCII, 
        PM_BIN,
        PM_SDIF,			/* default, same as PM_SDIF_TRACKS */
        PM_SDIF_TRACKS = PM_SDIF,
        PM_SDIF_HARMONICS,
        PM_SDIF_PEAKS,
        PM_ASCII_PEAKS,		/* old ascii peaks file */
        PM_BIN_PEAKS,		/* old bin peaks file */
        PM_SDIF_F0,			/* f0 SDIF break point function file */
        PM_SDIF_BPF,		/* general SDIF bpf file */
        PM_ASCII_BPF,		/* ASCII break point function file */
        PM_BIN_BPF,			/* binary break point function file */
        PM_COMPRESSED,		/* flag for gz compressed files */
        PM_MAX_FORMAT		/* number of formats, must always be last! */
    } PmFormat;
    

    Back to the top of Pm


    typedef int PmParamSetId;

    #include "Pm.h"

    No documentation available.

    typedef int PmParamSetId;
    

    Back to the top of Pm


    typedef struct _pmFrame *pmFrame;

    #include "Pm.h"

    DATA GROUP: Structures generiques

    typedef struct _pmFrame
    {
      float time;
    /*
       caracteristiques locales des paramSets
    */
      struct _ParamSetLocalAttr {
        int allocSize;
        int nb;
        void *data;
      } *paramSet;
    
    } *pmFrame;
    

    Back to the top of Pm


    typedef struct _pmFrameBlock *pmFrameBlock;

    #include "Pm.h"

    No documentation available.

    typedef struct _pmFrameBlock
    {
      int nbOfFrames;           /* nombre de trames du bloc */
      int nbOfAllocParamSets;
      pmFrame *frame;             /* pointeur vers la premiere trame du bloc */
      struct _pmFrameBlock *prev; /* pointeur vers le bloc precedent */
      struct _pmFrameBlock *next; /* pointeur vers le bloc suivant */
    } *pmFrameBlock;
    

    Back to the top of Pm


    typedef struct _PmFrameSet *PmFrameSet;

    #include "Pm.h"

    No documentation available.

    typedef struct _PmFrameSet 
    {
    /* un FrameSet est defini dans l'intervalle [beginTime - endTime] */
      float beginTime; /* beginTime <= premiere trame */
      float endTime;   /* endTime >= derniere trame */
      int nbOfFrames;  /* nombre de trames utilisees */
      int nbOfAllocFrames; /* nombre de trames allouees */
      int nbOfFrameBlocks;
      pmFrameBlock firstFrameBlock; /* le premier bloc de trames */
      PmParamSetId *freeParamSetIds; /* Ids non utilises */
      PmParamSetId *activeParamSetIds; /* Ids utilises */
      int *sizeofType; /* sizeof de chaque type connu de la bibliotheque */
      int nbOfTypes;   /* nombre de types connus */
    /*
       caracteristiques globales des paramSets
    */
      int nbOfParamSets;
      int nbOfAllocParamSets;
      struct _ParamSetGlobalAttr {
        int type;
        char *name;
        int elemSize;
      } *paramSet;
    
    } *PmFrameSet;
    

    Back to the top of Pm


    typedef struct _pmPartial pmPartial, *PmPartialSet;

    #include "Pm.h"

    PmPartialSet

    Pour l'instant on garde la compatibilite avec l'ancienne structure des partiels, sauf pour l'element "float_index" qui est elimine, et l'element "tSec" qui devient "time"

    DS: TODO: add field "flags", as bitfield with bits:

    typedef enum { pmSortedIndex = 1, partial set is sorted by index pmSortedFreq = 2, partial set is sorted by frequency pmHarmonicFormat = 4 partial set is in "internal" format, i.e. index [i] = i } PmFlags;

    and field nbpresent which counts existing partials, and keep them up-to-date when loading and modifying partials.

    typedef struct _pmPartial
    {
      float time;
      int nb;
      int allocSize;
      int *index;
      float *freq;
      float *ampl;
      float *phase;
      float *confidence;
    } pmPartial, *PmPartialSet;
    

    Back to the top of Pm


    typedef struct _PmBreakPoint *PmBreakPoint;

    #include "Pm.h"

    No documentation available.

    typedef struct _PmBreakPoint
    {
      int allocSize;
      int nb;
      float *x;
      float *y;
    } *PmBreakPoint;
    

    Back to the top of Pm


    void PmCed_FreeStatic(void);

    #include "Pm.h"

    FUNCTION GROUP: Procedure de liberation de la memoire static

    void PmCed_FreeStatic(void);
    

    Back to the top of Pm


    void PmFftMayer_FreeStatic(void);

    #include "Pm.h"

    No documentation available.

    void PmFftMayer_FreeStatic(void);
    

    Back to the top of Pm


    void Pmlo_FreeStatic(void);

    #include "Pm.h"

    No documentation available.

    void Pmlo_FreeStatic(void);
    

    Back to the top of Pm


    void PmPeaks_FreeStatic(void);

    #include "Pm.h"

    No documentation available.

    void PmPeaks_FreeStatic(void);
    

    Back to the top of Pm


    void PmSynth_FreeStatic(void);

    #include "Pm.h"

    No documentation available.

    void PmSynth_FreeStatic(void);
    

    Back to the top of Pm


    int PmInit (void);

    #include "Pm.h"

    FUNCTION GROUP: Initialisation and File Handling

    int   PmInit   (void);
    

    Back to the top of Pm


    int PmDeInit (void);

    #include "Pm.h"

    No documentation available.

    int   PmDeInit (void);
    

    Back to the top of Pm


    FILE *PmOpenFile (const char *name, int mode, PmFormat format);

    #include "Pm.h"

    No documentation available.

    FILE *PmOpenFile (const char *name, int mode, PmFormat format);
    

    Back to the top of Pm


    void PmCloseFile (FILE *f, PmFormat format);

    #include "Pm.h"

    No documentation available.

    void  PmCloseFile (FILE *f, PmFormat format);
    

    Back to the top of Pm


    char *PmGetExtension (const char *name);

    #include "Pm.h"

    No documentation available.

    char *PmGetExtension (const char *name);
    

    Back to the top of Pm


    PmFormat PmNameToFormat (char *name);

    #include "Pm.h"

    No documentation available.

    PmFormat PmNameToFormat (char *name);
    

    Back to the top of Pm


    PmFormat PmGetFileFormat (const char *name, PmFormat defnonsdif, PmFormat defsdif);

    #include "Pm.h"

    No documentation available.

    PmFormat PmGetFileFormat (const char *name, 
    			  PmFormat defnonsdif, PmFormat defsdif);
    

    Back to the top of Pm


    void PmCheckFileType (char* inFileName, PmFormat* ioFileType);

    #include "Pm.h"

    No documentation available.

    void  PmCheckFileType (char* inFileName, PmFormat* ioFileType);
    

    Back to the top of Pm


    int PmGetFilePos (FILE *f, PmFormat format);

    #include "Pm.h"

    No documentation available.

    int   PmGetFilePos (FILE *f, PmFormat format);
    

    Back to the top of Pm


    int PmIsSdifFile (const char *name);

    #include "Pm.h"

    No documentation available.

    int   PmIsSdifFile (const char *name);
    

    Back to the top of Pm


    PmFrameSet PmCreateFrameSet( int, int );

    #include "Pm.h"

    FUNCTION GROUP: Creation et Destruction

    PmFrameSet	PmCreateFrameSet( int, int );
    

    Back to the top of Pm


    pmFrameBlock pmCreateFrameBlock( int, int );

    #include "Pm.h"

    No documentation available.

    pmFrameBlock	pmCreateFrameBlock( int, int );
    

    Back to the top of Pm


    pmFrame pmCreateFrame( int );

    #include "Pm.h"

    No documentation available.

    pmFrame		pmCreateFrame( int );
    

    Back to the top of Pm


    PmParamSetId PmCreateParamSet( PmFrameSet, int, int, char * );

    #include "Pm.h"

    No documentation available.

    PmParamSetId	PmCreateParamSet( PmFrameSet, int, int, char * );
    

    Back to the top of Pm


    PmFrameSet PmReallocFrameSet( PmFrameSet, int, int );

    #include "Pm.h"

    No documentation available.

    PmFrameSet	PmReallocFrameSet( PmFrameSet, int, int );
    

    Back to the top of Pm


    void PmFreeParamSet( PmFrameSet, PmParamSetId );

    #include "Pm.h"

    No documentation available.

    void	PmFreeParamSet( PmFrameSet, PmParamSetId );
    

    Back to the top of Pm


    void pmFreeFrame( pmFrame );

    #include "Pm.h"

    No documentation available.

    void	pmFreeFrame( pmFrame );
    

    Back to the top of Pm


    void pmFreeFrameBlock( PmFrameSet, pmFrameBlock );

    #include "Pm.h"

    No documentation available.

    void	pmFreeFrameBlock( PmFrameSet, pmFrameBlock );
    

    Back to the top of Pm


    void PmFreeFrameSet( PmFrameSet );

    #include "Pm.h"

    No documentation available.

    void	PmFreeFrameSet( PmFrameSet );
    

    Back to the top of Pm


    pmFrame pm_search_frame( PmFrameSet, int, pmFrameBlock* );

    #include "Pm.h"

    FUNCTION GROUP: Acces aux parametres

    pmFrame	pm_search_frame( PmFrameSet, int, pmFrameBlock* );
    

    Back to the top of Pm


    int pm_search_frame_by_time( PmFrameSet, float, pmFrame* );

    #include "Pm.h"

    No documentation available.

    int	pm_search_frame_by_time( PmFrameSet, float, pmFrame* );
    

    Back to the top of Pm


    int pm_search_frame_index( PmFrameSet, float, pmFrameBlock* );

    #include "Pm.h"

    No documentation available.

    int	pm_search_frame_index( PmFrameSet, float, pmFrameBlock* );
    

    Back to the top of Pm


    int pm_search_rel_frame_index( PmFrameSet, int, pmFrameBlock * );

    #include "Pm.h"

    No documentation available.

    int	pm_search_rel_frame_index( PmFrameSet, int, pmFrameBlock * );
    

    Back to the top of Pm


    int PmGetNbOfFrames( PmFrameSet );

    #include "Pm.h"

    No documentation available.

    int	PmGetNbOfFrames( PmFrameSet  );
    

    Back to the top of Pm


    void PmDecrNbOfFrames( PmFrameSet, int );

    #include "Pm.h"

    No documentation available.

    void	PmDecrNbOfFrames( PmFrameSet, int );
    

    Back to the top of Pm


    int PmGetNbOfParamSets( PmFrameSet );

    #include "Pm.h"

    No documentation available.

    int	PmGetNbOfParamSets( PmFrameSet );
    

    Back to the top of Pm


    int PmGetNbOfAllocParamSets( PmFrameSet );

    #include "Pm.h"

    No documentation available.

    int	PmGetNbOfAllocParamSets( PmFrameSet );
    

    Back to the top of Pm


    PmParamSetId PmGetActiveParamSetId( PmFrameSet, int );

    #include "Pm.h"

    No documentation available.

    PmParamSetId PmGetActiveParamSetId( PmFrameSet, int );
    

    Back to the top of Pm


    float PmGetFrameTime( PmFrameSet, int );

    #include "Pm.h"

    No documentation available.

    float	PmGetFrameTime( PmFrameSet, int );
    

    Back to the top of Pm


    float PmGetBeginTime( PmFrameSet );

    #include "Pm.h"

    No documentation available.

    float	PmGetBeginTime( PmFrameSet );
    

    Back to the top of Pm


    float PmGetEndTime( PmFrameSet );

    #include "Pm.h"

    No documentation available.

    float	PmGetEndTime( PmFrameSet );
    

    Back to the top of Pm


    int PmGetParamSetAllocSize( PmFrameSet, int, PmParamSetId );

    #include "Pm.h"

    No documentation available.

    int	PmGetParamSetAllocSize( PmFrameSet, int, PmParamSetId );
    

    Back to the top of Pm


    int PmGetParamSetNb( PmFrameSet, int, PmParamSetId );

    #include "Pm.h"

    No documentation available.

    int	PmGetParamSetNb( PmFrameSet, int, PmParamSetId );
    

    Back to the top of Pm


    void * PmGetParamSetPtr( PmFrameSet, int, PmParamSetId );

    #include "Pm.h"

    No documentation available.

    void *	PmGetParamSetPtr( PmFrameSet, int, PmParamSetId );
    

    Back to the top of Pm


    int PmGetParamSetType( PmFrameSet, PmParamSetId );

    #include "Pm.h"

    No documentation available.

    int	PmGetParamSetType( PmFrameSet, PmParamSetId );
    

    Back to the top of Pm


    char * PmGetParamSetName( PmFrameSet, PmParamSetId );

    #include "Pm.h"

    No documentation available.

    char *	PmGetParamSetName( PmFrameSet, PmParamSetId );
    

    Back to the top of Pm


    int PmGetParamSetElemSize( PmFrameSet, PmParamSetId );

    #include "Pm.h"

    No documentation available.

    int	PmGetParamSetElemSize( PmFrameSet, PmParamSetId );
    

    Back to the top of Pm


    void PmPutFrameTime( PmFrameSet, int, float );

    #include "Pm.h"

    No documentation available.

    void	PmPutFrameTime( PmFrameSet, int, float );
    

    Back to the top of Pm


    void pm_put_frame_time( PmFrameSet, pmFrame, float );

    #include "Pm.h"

    No documentation available.

    void	pm_put_frame_time( PmFrameSet, pmFrame, float );
    

    Back to the top of Pm


    void PmPutBeginTime( PmFrameSet, float );

    #include "Pm.h"

    No documentation available.

    void	PmPutBeginTime( PmFrameSet, float );
    

    Back to the top of Pm


    void PmPutEndTime( PmFrameSet, float );

    #include "Pm.h"

    No documentation available.

    void	PmPutEndTime( PmFrameSet, float );
    

    Back to the top of Pm


    void * pmGetFrameDataPtr( pmFrame, PmParamSetId );

    #include "Pm.h"

    No documentation available.

    void *	pmGetFrameDataPtr( pmFrame, PmParamSetId );
    

    Back to the top of Pm


    int pmGetFrameDataNb( pmFrame, PmParamSetId );

    #include "Pm.h"

    No documentation available.

    int	pmGetFrameDataNb( pmFrame, PmParamSetId );
    

    Back to the top of Pm


    int pmGetFrameDataAllocSize( pmFrame, PmParamSetId );

    #include "Pm.h"

    No documentation available.

    int	pmGetFrameDataAllocSize( pmFrame, PmParamSetId );
    

    Back to the top of Pm


    void pmPutFrameDataNb( pmFrame, PmParamSetId, int );

    #include "Pm.h"

    No documentation available.

    void	pmPutFrameDataNb( pmFrame, PmParamSetId, int );
    

    Back to the top of Pm


    int PmGetParamSet( PmFrameSet, int, PmParamSetId, void *, int );

    #include "Pm.h"

    No documentation available.

    int	PmGetParamSet( PmFrameSet, int, PmParamSetId, void *, int );
    

    Back to the top of Pm


    int PmPutParamSet( PmFrameSet, int, PmParamSetId, void *, int );

    #include "Pm.h"

    No documentation available.

    int	PmPutParamSet( PmFrameSet, int, PmParamSetId, void *, int );
    

    Back to the top of Pm


    int PmAddFrameData( PmFrameSet, float, PmParamSetId*, void **, int *, int );

    #include "Pm.h"

    No documentation available.

    int	PmAddFrameData( PmFrameSet, float, PmParamSetId*, 
    			void **, int *, int );
    

    Back to the top of Pm


    int PmGetFrameData( PmFrameSet, int, float*, PmParamSetId*, void **, int *, int );

    #include "Pm.h"

    No documentation available.

    int	PmGetFrameData( PmFrameSet, int, float*, PmParamSetId*, 
    			void **, int *, int );
    

    Back to the top of Pm


    PmFrameSet PmCutFrameSet( PmFrameSet, float, float );

    #include "Pm.h"

    FUNCTION GROUP: Edition

    PmFrameSet PmCutFrameSet( PmFrameSet, float, float );
    

    Back to the top of Pm


    int PmInsertFrameSet( PmFrameSet, PmFrameSet, float );

    #include "Pm.h"

    No documentation available.

    int	PmInsertFrameSet( PmFrameSet, PmFrameSet, float );
    

    Back to the top of Pm


    PmFrameSet PmCopyFrameSet( PmFrameSet, float, float );

    #include "Pm.h"

    No documentation available.

    PmFrameSet PmCopyFrameSet( PmFrameSet, float, float );
    

    Back to the top of Pm


    int pmCopyFrame( PmFrameSet, pmFrame, pmFrame );

    #include "Pm.h"

    No documentation available.

    int	pmCopyFrame( PmFrameSet, pmFrame, pmFrame );
    

    Back to the top of Pm


    int PmShiftFrameSet( PmFrameSet, int );

    #include "Pm.h"

    No documentation available.

    int	PmShiftFrameSet( PmFrameSet, int );
    

    Back to the top of Pm


    int PmSmoothParamSet( PmFrameSet, PmParamSetId, float, float );

    #include "Pm.h"

    FUNCTION GROUP: traitement

    int	PmSmoothParamSet( PmFrameSet, PmParamSetId, float, float );
    

    Back to the top of Pm


    void PmReverseFrameSet( PmFrameSet, float, float );

    #include "Pm.h"

    No documentation available.

    void	PmReverseFrameSet( PmFrameSet, float, float );
    

    Back to the top of Pm


    PmPartialSet PmCreatePartialSet( int );

    #include "Pm.h"

    FUNCTION GROUP: Partiels

    PmPartialSet	PmCreatePartialSet( int );
    

    Back to the top of Pm


    PmPartialSet PmReallocPartialSet( PmPartialSet, int );

    #include "Pm.h"

    No documentation available.

    PmPartialSet	PmReallocPartialSet( PmPartialSet, int ); /* corr nombres a partir de aqui */
    

    Back to the top of Pm


    void PmFreePartialSet( PmPartialSet );

    #include "Pm.h"

    No documentation available.

    void	PmFreePartialSet( PmPartialSet );
    

    Back to the top of Pm


    int PmCopyPartialSet(PmPartialSet, PmPartialSet);

    #include "Pm.h"

    No documentation available.

    int	PmCopyPartialSet(PmPartialSet, PmPartialSet);
    

    Back to the top of Pm


    int PmReadPartialSet( FILE *, PmPartialSet, PmFormat);

    #include "Pm.h"

    No documentation available.

    int	PmReadPartialSet( FILE *, PmPartialSet, PmFormat);
    

    Back to the top of Pm


    int PmReadPartialSet2( FILE *, PmPartialSet, PmFormat, int);

    #include "Pm.h"

    No documentation available.

    int	PmReadPartialSet2( FILE *, PmPartialSet, PmFormat, int);
    

    Back to the top of Pm


    int PmReadPeaksSet2( FILE *, PmPartialSet, PmFormat, int, float);

    #include "Pm.h"

    No documentation available.

    int     PmReadPeaksSet2( FILE *, PmPartialSet, PmFormat, int, float);
    

    Back to the top of Pm


    int PmWritePartialSet( FILE *, PmPartialSet, PmFormat);

    #include "Pm.h"

    No documentation available.

    int	PmWritePartialSet( FILE *, PmPartialSet, PmFormat);
    

    Back to the top of Pm


    int PmWritePartialSet2( FILE *, PmPartialSet, PmFormat, int);

    #include "Pm.h"

    No documentation available.

    int	PmWritePartialSet2( FILE *, PmPartialSet, PmFormat, int);
    

    Back to the top of Pm


    void pmPrintPartial (FILE *f, PmPartialSet p, char *msg);

    #include "Pm.h"

    No documentation available.

    void	pmPrintPartial (FILE *f, PmPartialSet p, char *msg);
    

    Back to the top of Pm


    int PmDetectSpectralPeaks( float *, PmPartialSet, float, int, int);

    #include "Pm.h"

    No documentation available.

    int	PmDetectSpectralPeaks( float *, PmPartialSet, float, int, int);
    

    Back to the top of Pm


    int PmDetectSpectralPeaks2( float *, PmPartialSet, float, int, int, float );

    #include "Pm.h"

    No documentation available.

    int	PmDetectSpectralPeaks2( float *, PmPartialSet, float, int, int, float );
    

    Back to the top of Pm


    int PmSeeve( PmPartialSet, PmPartialSet, float, float, float, int );

    #include "Pm.h"

    No documentation available.

    int	PmSeeve( PmPartialSet, PmPartialSet, float, float, float, int );
    

    Back to the top of Pm


    int PmCedEnv( PmPartialSet, float *, float, int, int, float );

    #include "Pm.h"

    No documentation available.

    int	PmCedEnv( PmPartialSet, float *, float, int, int, float );
    

    Back to the top of Pm


    int PmCedCoef( PmPartialSet, float *, float, int, float );

    #include "Pm.h"

    No documentation available.

    int	PmCedCoef( PmPartialSet, float *, float, int, float );
    

    Back to the top of Pm


    void PmPutPartialSetTime( PmPartialSet, float );

    #include "Pm.h"

    FUNCTION GROUP: Acces aux donnees

    void	PmPutPartialSetTime( PmPartialSet, float );
    

    Back to the top of Pm


    float PmGetPartialSetTime( PmPartialSet );

    #include "Pm.h"

    No documentation available.

    float	PmGetPartialSetTime( PmPartialSet );
    

    Back to the top of Pm


    void PmPutPartialSetNb( PmPartialSet, float );

    #include "Pm.h"

    No documentation available.

    void	PmPutPartialSetNb( PmPartialSet, float );
    

    Back to the top of Pm


    int PmGetPartialSetNb( PmPartialSet );

    #include "Pm.h"

    No documentation available.

    int	PmGetPartialSetNb( PmPartialSet );
    

    Back to the top of Pm


    int PmGetPartialSetAllocSize( PmPartialSet );

    #include "Pm.h"

    No documentation available.

    int	PmGetPartialSetAllocSize( PmPartialSet );
    

    Back to the top of Pm


    int PmAddPartial( PmPartialSet, int, float, float, float );

    #include "Pm.h"

    No documentation available.

    int	PmAddPartial( PmPartialSet, int, float, float, float );
    

    Back to the top of Pm


    int PmDeletePartial( PmPartialSet, int );

    #include "Pm.h"

    No documentation available.

    int	PmDeletePartial( PmPartialSet, int );
    

    Back to the top of Pm


    int PmDeleteSubPartialSet( PmPartialSet, int*, int );

    #include "Pm.h"

    No documentation available.

    int	PmDeleteSubPartialSet( PmPartialSet, int*, int );
    

    Back to the top of Pm


    int PmGetPartialIndex( PmPartialSet, int );

    #include "Pm.h"

    No documentation available.

    int	PmGetPartialIndex( PmPartialSet, int );
    

    Back to the top of Pm


    void PmPutPartialFreq( PmPartialSet, int, float );

    #include "Pm.h"

    No documentation available.

    void	PmPutPartialFreq( PmPartialSet, int, float );
    

    Back to the top of Pm


    float PmGetPartialFreq( PmPartialSet, int );

    #include "Pm.h"

    No documentation available.

    float	PmGetPartialFreq( PmPartialSet, int );
    

    Back to the top of Pm


    float * PmGetAllPartialFreq( PmPartialSet );

    #include "Pm.h"

    No documentation available.

    float *	PmGetAllPartialFreq( PmPartialSet );
    

    Back to the top of Pm


    void PmCopyAllPartialFreq (PmPartialSet ps, float *dest);

    #include "Pm.h"

    No documentation available.

    void	PmCopyAllPartialFreq (PmPartialSet ps, float *dest);
    

    Back to the top of Pm


    void PmPutPartialAmpl( PmPartialSet, int, float );

    #include "Pm.h"

    No documentation available.

    void	PmPutPartialAmpl( PmPartialSet, int, float );
    

    Back to the top of Pm


    float PmGetPartialAmpl( PmPartialSet, int );

    #include "Pm.h"

    No documentation available.

    float	PmGetPartialAmpl( PmPartialSet, int );
    

    Back to the top of Pm


    float * PmGetAllPartialAmpl( PmPartialSet );

    #include "Pm.h"

    No documentation available.

    float *	PmGetAllPartialAmpl( PmPartialSet );
    

    Back to the top of Pm


    void PmCopyAllPartialAmpl (PmPartialSet ps, float *dest);

    #include "Pm.h"

    No documentation available.

    void	PmCopyAllPartialAmpl (PmPartialSet ps, float *dest);
    

    Back to the top of Pm


    void PmPutPartialPhase( PmPartialSet, int, float );

    #include "Pm.h"

    No documentation available.

    void	PmPutPartialPhase( PmPartialSet, int, float );
    

    Back to the top of Pm


    float PmGetPartialPhase( PmPartialSet, int );

    #include "Pm.h"

    No documentation available.

    float	PmGetPartialPhase( PmPartialSet, int );
    

    Back to the top of Pm


    float * PmGetAllPartialPhase( PmPartialSet );

    #include "Pm.h"

    No documentation available.

    float *	PmGetAllPartialPhase( PmPartialSet );
    

    Back to the top of Pm


    void PmCopyAllPartialPhase (PmPartialSet ps, float *dest);

    #include "Pm.h"

    No documentation available.

    void	PmCopyAllPartialPhase (PmPartialSet ps, float *dest);
    

    Back to the top of Pm


    int pm_intSYNT_to_ext_copy( PmPartialSet in, PmPartialSet ext, float * findex );

    #include "Pm.h"

    FUNCTION GROUP: Passage du format externe a l'interne et viceversa

    int	pm_intSYNT_to_ext_copy( PmPartialSet in, PmPartialSet ext, float * findex );
    

    Back to the top of Pm


    int pm_ext_to_intSYNT( PmPartialSet );

    #include "Pm.h"

    No documentation available.

    int	pm_ext_to_intSYNT( PmPartialSet );
    

    Back to the top of Pm


    float PmUnwrapPhase( float, float, float, float, float );

    #include "Pm.h"

    FUNCTION GROUP: Fonctions auxiliaires de traitement

    float	PmUnwrapPhase( float, float, float, float, float );
    

    Back to the top of Pm


    float PmWrapPhase( float );

    #include "Pm.h"

    No documentation available.

    float	PmWrapPhase( float );
    

    Back to the top of Pm


    int PmPresentPartial( PmPartialSet, int );

    #include "Pm.h"

    No documentation available.

    int	PmPresentPartial( PmPartialSet, int );
    

    Back to the top of Pm


    int PmFreqTransp( PmPartialSet, PmPartialSet, PmPartialSet, PmPartialSet, float, float );

    #include "Pm.h"

    FUNCTION GROUP: Fonctions de traitement

    int	PmFreqTransp( PmPartialSet, PmPartialSet, PmPartialSet, PmPartialSet, float, float );
    

    Back to the top of Pm


    int PmIvarFreqTransp(PmPartialSet,PmPartialSet,PmPartialSet,PmPartialSet, PmBreakPoint,PmBreakPoint);

    #include "Pm.h"

    No documentation available.

    int	PmIvarFreqTransp(PmPartialSet,PmPartialSet,PmPartialSet,PmPartialSet, PmBreakPoint,PmBreakPoint);
    

    Back to the top of Pm


    int PmFvarFreqTransp(PmPartialSet,PmPartialSet,PmPartialSet,PmPartialSet, PmBreakPoint,PmBreakPoint);

    #include "Pm.h"

    No documentation available.

    int	PmFvarFreqTransp(PmPartialSet,PmPartialSet,PmPartialSet,PmPartialSet, PmBreakPoint,PmBreakPoint);
    

    Back to the top of Pm


    int PmTimeScaling( PmPartialSet, PmPartialSet, PmPartialSet, PmPartialSet, float );

    #include "Pm.h"

    No documentation available.

    int	PmTimeScaling( PmPartialSet, PmPartialSet, PmPartialSet, PmPartialSet, float );
    

    Back to the top of Pm


    int PmFadeHarmEnds(PmFrameSet, PmParamSetId, float, float, int);

    #include "Pm.h"

    No documentation available.

    int	PmFadeHarmEnds(PmFrameSet, PmParamSetId, float, float, int);
    

    Back to the top of Pm


    void pmReversePartialSet( PmPartialSet );

    #include "Pm.h"

    No documentation available.

    void	pmReversePartialSet( PmPartialSet );
    

    Back to the top of Pm


    int PmInterpPartialSet(PmPartialSet, PmPartialSet, PmPartialSet, int);

    #include "Pm.h"

    No documentation available.

    int	PmInterpPartialSet(PmPartialSet, PmPartialSet, PmPartialSet, int);
    

    Back to the top of Pm


    PmFrameSet PmScaleFrameSetTime(PmFrameSet, PmBreakPoint);

    #include "Pm.h"

    No documentation available.

    PmFrameSet	PmScaleFrameSetTime(PmFrameSet, PmBreakPoint);
    

    Back to the top of Pm


    int PmSetSpectralEnv( PmPartialSet, PmPartialSet, float *, float, float, int, int );

    #include "Pm.h"

    No documentation available.

    int	PmSetSpectralEnv( PmPartialSet, PmPartialSet, float *, float, float, int, int );
    

    Back to the top of Pm


    int PmMultSpectralEnv( PmPartialSet, PmPartialSet, float *, float, float, int, int );

    #include "Pm.h"

    No documentation available.

    int	PmMultSpectralEnv( PmPartialSet, PmPartialSet, float *, float, float, int, int );
    

    Back to the top of Pm


    int PmCopySubPartialSet( PmPartialSet, PmPartialSet, int *, int );

    #include "Pm.h"

    No documentation available.

    int	PmCopySubPartialSet( PmPartialSet, PmPartialSet, int *, int );
    

    Back to the top of Pm


    int PmMoveSubPartialSet( PmPartialSet, PmPartialSet, int *, int );

    #include "Pm.h"

    No documentation available.

    int	PmMoveSubPartialSet( PmPartialSet, PmPartialSet, int *, int );
    

    Back to the top of Pm


    void PmAmplSortPartials( PmPartialSet );

    #include "Pm.h"

    No documentation available.

    void	PmAmplSortPartials( PmPartialSet );
    

    Back to the top of Pm


    void PmFreqSortPartials( PmPartialSet );

    #include "Pm.h"

    No documentation available.

    void	PmFreqSortPartials( PmPartialSet );
    

    Back to the top of Pm


    int PmAddSyntInit (void);

    #include "Pm.h"

    No documentation available.

    int	PmAddSyntInit (void);
    

    Back to the top of Pm


    int PmAddSynt( PmPartialSet, PmPartialSet, float *, int maxsize, int sample_done, float, int );

    #include "Pm.h"

    No documentation available.

    int	PmAddSynt( PmPartialSet, PmPartialSet, 
    		   float *, int maxsize, int sample_done, float, int );
    

    Back to the top of Pm


    void pm_sort_int_array(int* , int);

    #include "Pm.h"

    FUNCTION GROUP: Fonctions pour trier des tableaux

    void	pm_sort_int_array(int* , int);
    

    Back to the top of Pm


    int pm_sort_ex_situ (const int *ind, const int num, int *perm);

    #include "Pm.h"

    No documentation available.

    int	pm_sort_ex_situ (const int *ind, const int num, int *perm);
    

    Back to the top of Pm


    void pm_sort_partials(PmPartialSet);

    #include "Pm.h"

    No documentation available.

    void	pm_sort_partials(PmPartialSet);
    

    Back to the top of Pm


    int pmSystchol( float *A, float *b, float *x, int p_plus_1 );

    #include "Pm.h"

    Resolution d'un systeme matriciel Ax = b par decomposition de Cholesky

    int	pmSystchol( float *A, float *b, float *x, int p_plus_1 );
    

    Back to the top of Pm


    PmBreakPoint PmCreateBreakPoint( int );

    #include "Pm.h"

    FUNCTION GROUP: PmBreakPoint

    PmBreakPoint	PmCreateBreakPoint( int );
    

    Back to the top of Pm


    PmBreakPoint PmReallocBreakPoint( PmBreakPoint, int );

    #include "Pm.h"

    No documentation available.

    PmBreakPoint	PmReallocBreakPoint( PmBreakPoint, int );
    

    Back to the top of Pm


    void PmFreeBreakPoint( PmBreakPoint );

    #include "Pm.h"

    No documentation available.

    void		PmFreeBreakPoint( PmBreakPoint );
    

    Back to the top of Pm


    int PmReadBreakPoint( FILE *, PmBreakPoint, PmFormat );

    #include "Pm.h"

    No documentation available.

    int		PmReadBreakPoint( FILE *, PmBreakPoint, PmFormat );
    

    Back to the top of Pm


    void PmWriteBreakPoint( FILE *, PmBreakPoint, PmFormat );

    #include "Pm.h"

    No documentation available.

    void		PmWriteBreakPoint( FILE *, PmBreakPoint, PmFormat );
    

    Back to the top of Pm


    void PmWriteOneBreakPoint (FILE *file, float x, float y, PmFormat format);

    #include "Pm.h"

    No documentation available.

    void		PmWriteOneBreakPoint (FILE *file, float x, float y, PmFormat format);
    

    Back to the top of Pm


    PmBreakPoint PmLoadBreakPoint (char *name);

    #include "Pm.h"

    Load bpf from file given by name in format determined by name.

    PmBreakPoint	PmLoadBreakPoint (char *name);
    

    Back to the top of Pm


    PmBreakPoint PmLoadBreakPoint2 (char *name, PmFormat *format);

    #include "Pm.h"

    Load bpf from file given by name in format determined by name, return format.

    PmBreakPoint    PmLoadBreakPoint2 (char *name, /*out*/ PmFormat *format);
    

    Back to the top of Pm


    PmBreakPoint PmLoadBreakPointOrConst (char *nameorconst);

    #include "Pm.h"

    If nameorconst looks like a number, return a constant PmBreakPoint with that value, else, use it as filename and load a bpf from it

    On load, the function tries to auto-detect the file format, if it is not sdif, for now we assume PM_ASCII_BPF.

    [] return: A freshly created PmBreakPoint (which must be PmFreeBreakPoint'ed by the calling program)

    PmBreakPoint	PmLoadBreakPointOrConst (char *nameorconst);
    

    Back to the top of Pm


    int PmSaveBreakPoint (char *name, PmBreakPoint bp, PmFormat format);

    #include "Pm.h"

    No documentation available.

    int		PmSaveBreakPoint (char *name, PmBreakPoint bp, PmFormat format);
    

    Back to the top of Pm


    float PmEvalBreakPoint( PmBreakPoint, float );

    #include "Pm.h"

    No documentation available.

    float	PmEvalBreakPoint( PmBreakPoint, float );
    

    Back to the top of Pm


    int PmAddBreakPoint( PmBreakPoint, float, float );

    #include "Pm.h"

    No documentation available.

    int	PmAddBreakPoint( PmBreakPoint, float, float );
    

    Back to the top of Pm


    void PmExtractBreakPoint( PmBreakPoint, float );

    #include "Pm.h"

    No documentation available.

    void	PmExtractBreakPoint( PmBreakPoint, float );
    

    Back to the top of Pm


    int PmGetBreakPoint( PmBreakPoint, int, float*, float* );

    #include "Pm.h"

    No documentation available.

    int	PmGetBreakPoint( PmBreakPoint, int, float*, float* );
    

    Back to the top of Pm


    int PmGetBreakPointNb( PmBreakPoint );

    #include "Pm.h"

    No documentation available.

    int	PmGetBreakPointNb( PmBreakPoint );
    

    Back to the top of Pm


    float *PmGetBreakPointVectX (PmBreakPoint aBP);

    #include "Pm.h"

    Get pointer to float vector of x values (which are in ascending order).

    float  *PmGetBreakPointVectX (PmBreakPoint aBP);
    

    Back to the top of Pm


    float *PmGetBreakPointVectY (PmBreakPoint aBP);

    #include "Pm.h"

    Get pointer to float vector of y values.

    float  *PmGetBreakPointVectY (PmBreakPoint aBP);
    

    Back to the top of Pm


    void PmEliminateZeroValueInBreakPoint(PmBreakPoint aBP);

    #include "Pm.h"

    No documentation available.

    void	PmEliminateZeroValueInBreakPoint(PmBreakPoint aBP);
    

    Back to the top of Pm


    void PmEliminateZeroValueInBreakPoint2(PmBreakPoint aBP);

    #include "Pm.h"

    No documentation available.

    void	PmEliminateZeroValueInBreakPoint2(PmBreakPoint aBP);
    

    Back to the top of Pm


    void pmRealfft(float*, float*, long, int);

    #include "Pm.h"

    No documentation available.

    void	pmRealfft(float*, float*, long, int);
    

    Back to the top of Pm


    void pmBkman(float*, long, short);

    #include "Pm.h"

    No documentation available.

    void	pmBkman(float*, long, short);
    

    Back to the top of Pm


    void pmHamm(float*, long);

    #include "Pm.h"

    No documentation available.

    void	pmHamm(float*, long);
    

    Back to the top of Pm


    void pmHann(float*, long);

    #include "Pm.h"

    No documentation available.

    void	pmHann(float*, long);
    

    Back to the top of Pm


    void pmTrian(float*, long);

    #include "Pm.h"

    No documentation available.

    void	pmTrian(float*, long);
    

    Back to the top of Pm


    int PmSdifInit (void);

    #include "Pm.h"

    Initialize SDIF Library, called by init

    int PmSdifInit (void);
    

    Back to the top of Pm


    int PmSdifDeInit (void);

    #include "Pm.h"

    Deinitialize SDIF Library, called by init

    int PmSdifDeInit (void);
    

    Back to the top of Pm


    void PmSdifPrintVersion (void);

    #include "Pm.h"

    No documentation available.

    void PmSdifPrintVersion (void);
    

    Back to the top of Pm


    char *pmCutSdifSelection (char *name, char *save);

    #include "Pm.h"

    No documentation available.

    char *pmCutSdifSelection (char *name, char *save);
    

    Back to the top of Pm


    FILE* PmSdifOpenRead (const char *infile, int stdio, FILE *pipe, PmFormat format);

    #include "Pm.h"

    Open an SDIF file for reading, called by PmOpenFile.

    [return] SdifFileT*, casted to FILE*

    FILE* PmSdifOpenRead (const char *infile, int stdio, FILE *pipe, PmFormat format);
    

    Back to the top of Pm


    FILE *PmSdifOpenWrite (const char *infile, int stdio, FILE *pipe, PmFormat format);

    #include "Pm.h"

    Open an SDIF file for writing, write header and useful information in NVTs, called by PmOpenFile.

    [return] an SdifFileT*, casted to FILE*

    FILE *PmSdifOpenWrite (const char *infile, int stdio, FILE *pipe, PmFormat format);
    

    Back to the top of Pm


    void PmSdifClose (FILE *f);

    #include "Pm.h"

    No documentation available.

    void PmSdifClose (FILE *f);
    

    Back to the top of Pm


    int PmSdifGetFilePos (FILE *f);

    #include "Pm.h"

    Get pointer pos in a file

    int PmSdifGetFilePos (FILE *f);
    

    Back to the top of Pm


    int PmSdifReadFrame (FILE *file, PmPartialSet osc, int inNbPartial, PmFormat format);

    #include "Pm.h"

    Called by PmReadPartialSet when format_flag is PM_SDIF.

    int PmSdifReadFrame (FILE *file, PmPartialSet osc, int inNbPartial, PmFormat format);
    

    Back to the top of Pm


    int PmSdifWriteFrame (FILE *file, PmPartialSet osc, int *perm, int nbpartial, PmFormat format);

    #include "Pm.h"

    Called by PmWritePartialSet when format_flag is PM_SDIF.

    int PmSdifWriteFrame (FILE *file, PmPartialSet osc, int *perm, int nbpartial,
    		      PmFormat format);
    

    Back to the top of Pm


    int PmSdifReadBreakPoint (FILE *fp, PmBreakPoint bp, PmFormat format_flag);

    #include "Pm.h"

    Called by PmReadBreakPoint when format_flag is PM_SDIF_BPF.

    int PmSdifReadBreakPoint (FILE *fp, PmBreakPoint bp, PmFormat format_flag);
    

    Back to the top of Pm


    void PmSdifWriteBreakPoint (FILE *fp, PmBreakPoint bp, PmFormat format_flag);

    #include "Pm.h"

    Called by PmWriteBreakPoint when format_flag is PM_SDIF_BPF.

    void PmSdifWriteBreakPoint (FILE *fp, PmBreakPoint bp, PmFormat format_flag);
    

    Back to the top of Pm


    void PmSdifWriteOneBreakPoint (FILE *file, float x, float y, PmFormat format);

    #include "Pm.h"

    Write one break point frame only

    void PmSdifWriteOneBreakPoint (FILE *file, float x, float y, PmFormat format);
    

    Back to the top of Pm


    REAL halsec [20] = ;

    #include "trigtbl.h"

    No documentation available.

    static REAL halsec [20] =
        {
         0,
         0,
         .54119610014619698439972320536638942006107206337801,
         .50979557910415916894193980398784391368261849190893,
         .50241928618815570551167011928012092247859337193963,
         .50060299823519630134550410676638239611758632599591,
         .50015063602065098821477101271097658495974913010340,
         .50003765191554772296778139077905492847503165398345,
         .50000941253588775676512870469186533538523133757983,
         .50000235310628608051401267171204408939326297376426,
         .50000058827484117879868526730916804925780637276181,
         .50000014706860214875463798283871198206179118093251,
         .50000003676714377807315864400643020315103490883972,
         .50000000919178552207366560348853455333939112569380,
         .50000000229794635411562887767906868558991922348920,
         .50000000057448658687873302235147272458812263401372
        };
    

    Function is currently defined inline.


    Back to the top of Pm


    REAL costab [20] = ;

    #include "trigtbl.h"

    No documentation available.

    static REAL costab [20] =
        {
         .00000000000000000000000000000000000000000000000000,
         .70710678118654752440084436210484903928483593768847,
         .92387953251128675612818318939678828682241662586364,
         .98078528040323044912618223613423903697393373089333,
         .99518472667219688624483695310947992157547486872985,
         .99879545620517239271477160475910069444320361470461,
         .99969881869620422011576564966617219685006108125772,
         .99992470183914454092164649119638322435060646880221,
         .99998117528260114265699043772856771617391725094433,
         .99999529380957617151158012570011989955298763362218,
         .99999882345170190992902571017152601904826792288976,
         .99999970586288221916022821773876567711626389934930,
         .99999992646571785114473148070738785694820115568892,
         .99999998161642929380834691540290971450507605124278,
         .99999999540410731289097193313960614895889430318945,
         .99999999885102682756267330779455410840053741619428
        };
    

    Function is currently defined inline.


    Back to the top of Pm


    REAL sintab [20] = ;

    #include "trigtbl.h"

    No documentation available.

    static REAL sintab [20] =
        {
         1.0000000000000000000000000000000000000000000000000,
         .70710678118654752440084436210484903928483593768846,
         .38268343236508977172845998403039886676134456248561,
         .19509032201612826784828486847702224092769161775195,
         .09801714032956060199419556388864184586113667316749,
         .04906767432741801425495497694268265831474536302574,
         .02454122852291228803173452945928292506546611923944,
         .01227153828571992607940826195100321214037231959176,
         .00613588464915447535964023459037258091705788631738,
         .00306795676296597627014536549091984251894461021344,
         .00153398018628476561230369715026407907995486457522,
         .00076699031874270452693856835794857664314091945205,
         .00038349518757139558907246168118138126339502603495,
         .00019174759731070330743990956198900093346887403385,
         .00009587379909597734587051721097647635118706561284,
         .00004793689960306688454900399049465887274686668768
        };
    

    Function is currently defined inline.


    Back to the top of Pm


    REAL coswrk [20] = ;

    #include "trigtbl.h"

    No documentation available.

    static REAL coswrk [20] =
        {
         .00000000000000000000000000000000000000000000000000,
         .70710678118654752440084436210484903928483593768847,
         .92387953251128675612818318939678828682241662586364,
         .98078528040323044912618223613423903697393373089333,
         .99518472667219688624483695310947992157547486872985,
         .99879545620517239271477160475910069444320361470461,
         .99969881869620422011576564966617219685006108125772,
         .99992470183914454092164649119638322435060646880221,
         .99998117528260114265699043772856771617391725094433,
         .99999529380957617151158012570011989955298763362218,
         .99999882345170190992902571017152601904826792288976,
         .99999970586288221916022821773876567711626389934930,
         .99999992646571785114473148070738785694820115568892,
         .99999998161642929380834691540290971450507605124278,
         .99999999540410731289097193313960614895889430318945,
         .99999999885102682756267330779455410840053741619428
        };
    

    Function is currently defined inline.


    Back to the top of Pm


    REAL sinwrk [20] = ;

    #include "trigtbl.h"

    No documentation available.

    static REAL sinwrk [20] =
        {
         1.0000000000000000000000000000000000000000000000000,
         .70710678118654752440084436210484903928483593768846,
         .38268343236508977172845998403039886676134456248561,
         .19509032201612826784828486847702224092769161775195,
         .09801714032956060199419556388864184586113667316749,
         .04906767432741801425495497694268265831474536302574,
         .02454122852291228803173452945928292506546611923944,
         .01227153828571992607940826195100321214037231959176,
         .00613588464915447535964023459037258091705788631738,
         .00306795676296597627014536549091984251894461021344,
         .00153398018628476561230369715026407907995486457522,
         .00076699031874270452693856835794857664314091945205,
         .00038349518757139558907246168118138126339502603495,
         .00019174759731070330743990956198900093346887403385,
         .00009587379909597734587051721097647635118706561284,
         .00004793689960306688454900399049465887274686668768
        };
    

    Function is currently defined inline.


    Back to the top of Pm


    Generated from source by the Cocoon utilities on Thu Feb 24 14:45:09 2000 .

    Report problems to jkotula@stratasys.com