/** 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 ); }
/** 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 ); }
/** 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 ); }
/** 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 ); }