Exemple #1
0
/** The inverse maximum overlap discrete wavelet transform (IMODWT).
 * @source RS\_wav\_modw.c
 * @author Copyright (c), 1988, 2006 Insightful Corp.  All rights reserved.
 * @usage #itCall( "RS_wavelets_transform_maximum_overlap_inverse", modwt, filters, level, node, xformtype))#
 * @return         An R ... containing ...
 * @param modwt    Pointer to an R object containing ... modwt
 * @param filters  Pointer to an R object containing ... filters
 * @see wavuniv_filters_daubechies
 * @see wavuniv_transform_maximum_overlap
 * @see wavuniv_transform_maximum_overlap_packet
 * @see wavuniv_transform_packet_detail
*/
EXTERN_R SEXP RS_wavelets_transform_maximum_overlap_inverse(
 SEXP pr_modwt,
 SEXP pr_filters )
{
  SEXP             pr_ret_result;   
  mat_set          filters;         
  mat_set          modwt;           
  mutil_errcode    err;             
  univ_mat         result;          
  void             *VPNULL = NULL;  
  memlist          list;

  /* Avoid lint warning */
  (void) whatssi;

  /* initialize memory list */
  MEMLIST_INIT( list );

  /* Conversion of input data ... */

  /* ... pr_modwt to modwt */
  READ_MATSET_REGISTER( pr_modwt, MUTIL_DOUBLE, &modwt );

  /* ... pr_filters to filters */
  READ_MATSET_REGISTER( pr_filters, MUTIL_DOUBLE, &filters );

  /* Call the function */
  err = wavuniv_transform_maximum_overlap_inverse(
    &modwt,
    &filters,
    VPNULL,
    &result );
  CONVERT_MATRIX_AND_RETURN( wavuniv_transform_maximum_overlap_inverse, &result, &pr_ret_result );
}
Exemple #2
0
/** The continuous wavelet transform.
 * @source RS\_wav\_xform.c
 * @author Copyright (c), 1988, 2006 Insightful Corp.  All rights reserved.
 * @usage #itCall( "RS_wavelets_transform_continuous_wavelet", time.series, sampling.interval, filter.type, filter.arg, scale))#
 * @return                   An R ... containing ...
 * @param time.series        Pointer to an R object containing ... time.series
 * @param sampling.interval  Pointer to an R object containing ... sampling.interval
 * @param filter.type        Pointer to an R object containing ... filter.type
 * @param filter.arg         Pointer to an R object containing ... filter.arg
 * @param scale              Pointer to an R object containing ... scale
 * @see _wav_filter_type
 * @see wavuniv_filters_continuous
*/
EXTERN_R SEXP RS_wavelets_transform_continuous_wavelet(
 SEXP pr_time_series,
 SEXP pr_sampling_interval,
 SEXP pr_filter_type,
 SEXP pr_filter_arg,
 SEXP pr_scale )
{
  SEXP              pr_ret_result;         
  double            filter_arg;         
  double            sampling_interval;  
  mutil_data_type   type;               
  mutil_errcode     err;                
  univ_mat          result;                
  univ_mat          scale;              
  univ_mat          time_series;        
  void              *VPNULL = NULL;     
  wav_filter_type   filter_type;        
  memlist           list;

  /* Avoid lint warning */
  (void) whatssi;

  /* initialize memory list */
  MEMLIST_INIT( list );

  /* Conversion of input data ... */

  /* ... pr_time_series to time_series */
  READ_MATRIX_REGISTER( pr_time_series, &time_series );

  /* ... pr_sampling_interval to sampling_interval */
  DOUBLE_FROM_R( pr_sampling_interval, &sampling_interval );
  MEMLIST_FREE_ON_ERROR_SPLUS( err, &list, "Unable to convert double type argument pr_sampling_interval to sampling_interval" );

  /* ... pr_filter_type to filter_type */
  WAV_FILTER_TYPE_FROM_R( pr_filter_type, &filter_type );
  MEMLIST_FREE_ON_ERROR_SPLUS( err, &list, "Unable to convert wav_filter_type type argument pr_filter_type to filter_type" );

  /* ... pr_filter_arg to filter_arg */
  DOUBLE_FROM_R( pr_filter_arg, &filter_arg );
  MEMLIST_FREE_ON_ERROR_SPLUS( err, &list, "Unable to convert double type argument pr_filter_arg to filter_arg" );

  /* ... pr_scale to scale */
  READ_MATRIX_REGISTER( pr_scale, &scale );


  /* Call the function */
  err = wavuniv_transform_continuous_wavelet(
    &time_series,
    sampling_interval,
    filter_type,
    filter_arg,
    &scale,
    VPNULL,
    &result );
  CONVERT_MATRIX_AND_RETURN( wavuniv_transform_continuous_wavelet, &result, &pr_ret_result );
}
Exemple #3
0
/** One-sided autocovariance.
 * @source R\_mth\_var.c
 * @author Copyright (c), 1988, 2006 Insightful Corp.  All rights reserved.
 * @usage #.Call( "RS_math_acvs", time.series, biased, recenter))#
 * @return             An R ... containing ...
 * @param time.series  Pointer to an R object containing ... time.series
 * @param biased       Pointer to an R object containing ... biased
 * @param recenter     Pointer to an R object containing ... recenter
 * @see fra_spectral_density_function_direct
*/
EXTERN_R SEXP RS_math_acvs(
 SEXP pr_time_series,
 SEXP pr_biased,
 SEXP pr_recenter )
{
  SEXP             pr_ret_result;
  boolean          biased;
  boolean          recenter;
  mutil_data_type  type;
  mutil_errcode    err;
  univ_mat         result;
  univ_mat         time_series;
  void             *VPNULL = NULL;
  memlist          list;

  /* Avoid lint warning */
  (void) whatssi;

  /* initialize memory list */
  MEMLIST_INIT( list );

  /* Conversion of input data ... */

  /* ... pr_time_series to time_series */
  READ_MATRIX_REGISTER( pr_time_series, &time_series );

  /* ... pr_biased to biased */
  BOOLEAN_FROM_R( pr_biased, &biased );

  /* ... pr_recenter to recenter */
  BOOLEAN_FROM_R( pr_recenter, &recenter );

  /* Call the function */
  err = mthuniv_acvs(
    &time_series,
    biased,
    recenter,
    VPNULL,
    &result );
  CONVERT_MATRIX_AND_RETURN( mthuniv_acvs, &result, &pr_ret_result );
}
Exemple #4
0
/** Find the whitest set of DWPT crystals.
 * @source RS\_wav\_boot.c
 * @author Copyright (c), 1988, 2006 Insightful Corp.  All rights reserved.
 * @usage #.Call( "RS_wavelets_transform_packet_whitest", dwpt, significance, white.noise.test))#
 * @return                  An R ... containing ...
 * @param dwpt              Pointer to an R object containing ... dwpt
 * @param significance      Pointer to an R object containing ... significance
 * @param white.noise.test  Pointer to an R object containing ... white.noise.test
 * @see _wav_white_test
 * @see wavuniv_bootstrap
 * @see wavuniv_transform_packet
 * @see wavuniv_transform_packet_inverse
*/
EXTERN_R SEXP RS_wavelets_transform_packet_whitest(
 SEXP pr_dwpt,
 SEXP pr_significance,
 SEXP pr_white_noise_test )
{
  SEXP               pr_ret_result;     
  double             significance;      
  mat_set            dwpt;              
  mutil_errcode      err;               
  univ_mat           result;            
  void               *VPNULL = NULL;    
  wav_white_test     white_noise_test;
  memlist            list;

  /* Avoid lint warning */
  (void) whatssi;

  /* initialize memory list */
  MEMLIST_INIT( list );

  /* Conversion of input data ... */

  /* ... pr_dwpt to dwpt */
  READ_MATSET_REGISTER( pr_dwpt, MUTIL_DOUBLE, &dwpt );

  /* ... pr_significance to significance */
  DOUBLE_FROM_R( pr_significance, &significance );

  /* ... pr_white_noise_test to white_noise_test */
  err = wav_white_test_from_R( pr_white_noise_test, &white_noise_test );
  CHECK_CONVERSION( wav_white_test, pr_white_noise_test, &white_noise_test );

  /* Call the function */
  err = wavuniv_transform_packet_whitest(
    &dwpt,
    significance,
    white_noise_test,
    VPNULL,
    &result );
  CONVERT_MATRIX_AND_RETURN( wavuniv_transform_packet_whitest, &result, &pr_ret_result );
}