annotate include/xtract/xtract_delta.h @ 285:89fe52066db1 tip master

MSCV missing ssize_t fix
author Jamie Bullock <jamie@jamiebullock.com>
date Tue, 16 Jul 2019 18:29:20 +0100
parents 39f1f8cf6756
children
rev   line source
jamie@254 1 /*
jamie@254 2 * Copyright (C) 2012 Jamie Bullock
jamie@254 3 *
jamie@254 4 * Permission is hereby granted, free of charge, to any person obtaining a copy
jamie@254 5 * of this software and associated documentation files (the "Software"), to
jamie@254 6 * deal in the Software without restriction, including without limitation the
jamie@254 7 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
jamie@254 8 * sell copies of the Software, and to permit persons to whom the Software is
jamie@254 9 * furnished to do so, subject to the following conditions:
jamie@254 10 *
jamie@254 11 * The above copyright notice and this permission notice shall be included in
jamie@254 12 * all copies or substantial portions of the Software.
jamie@254 13 *
jamie@254 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
jamie@254 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
jamie@254 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
jamie@254 17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
jamie@254 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
jamie@254 19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
jamie@254 20 * IN THE SOFTWARE.
jamie@254 21 *
jamie@254 22 */
jamie@254 23
jamie@254 24 /** \file xtract_delta.h: declares functions that scalar or vector value from 2 or more input vectors */
jamie@254 25
jamie@254 26 #ifndef XTRACT_DELTA_H
jamie@254 27 #define XTRACT_DELTA_H
jamie@254 28
jamie@254 29 #ifdef __cplusplus
jamie@254 30 extern "C" {
jamie@254 31 #endif
jamie@254 32
jamie@254 33 /**
jamie@254 34 * \defgroup delta `delta' extraction functions
jamie@254 35 *
jamie@254 36 * Functions that extract a scalar or vector value from 2 or more input vectors
jamie@254 37 *
jamie@254 38 * @{
jamie@254 39 */
jamie@254 40
jamie@254 41 #include "xtract_types.h"
jamie@254 42
jamie@254 43 /** \brief Extract flux
jamie@254 44 *
jamie@254 45 * \note FIX: don't be lazy -- take the lnorm of the difference vector!
jamie@254 46 * An alias for xtract_lnorm()
jamie@254 47 */
jamie@254 48 int xtract_flux(const double *data, const int N, const void *argv , double *result);
jamie@254 49
jamie@254 50 /** \brief Extract the L-norm of a vector
jamie@254 51 *
jamie@254 52 * \param *data: a pointer to the first element in an array of doubles representing the difference between two subsequent frames of output from a vector-based feature e.g. the *result from xtract_difference_vector()
jamie@254 53 * \param N: the length of the array pointed to by *data
jamie@254 54 * \param *argv: a pointer to an array of doubles, the first representing the "norm order". The second argument represents the filter type determining what values we consider from the difference vector as given in the enumeration xtract_lnorm_filter_types_ (libxtract.h), the third sets whether we want the result to be normalised in the range 0-1 (0 = no normalise, 1 = normalise)
jamie@254 55 * \param *result: a pointer to a double representing the flux
jamie@254 56 *
jamie@254 57 */
jamie@254 58 int xtract_lnorm(const double *data, const int N, const void *argv , double *result);
jamie@254 59 /*xtract_frame_tracker *xf */
jamie@254 60
jamie@254 61 /** \brief Extract attack Time */
jamie@254 62 int xtract_attack_time(const double *data, const int N, const void *argv , double *result);
jamie@254 63 /* xtract_amp_tracker *xa */
jamie@254 64
jamie@254 65 /** Extract temporal decrease */
jamie@254 66 int xtract_decay_time(const double *data, const int N, const void *argv, double *result);
jamie@254 67 /* xtract_amp_tracker *xa */
jamie@254 68
jamie@254 69
jamie@254 70 /** \brief Extract the difference between two vectors
jamie@254 71 *
jamie@254 72 * \param *data a pointer to an array representing two distinct vectors, e.g. two successive magnitude spectra.
jamie@254 73 * \param N the size of the array pointed to by *data
jamie@254 74 * \param *argv a pointer to NULL
jamie@254 75 * \param *result a pointer to an array of size N / 2 representing the difference between the two input vectors.
jamie@254 76 *
jamie@254 77 * */
jamie@254 78 int xtract_difference_vector(const double *data, const int N, const void *argv, double *result);
jamie@254 79 /*xtract_frame_tracker *xf */
jamie@254 80 /*double frames*/
jamie@254 81
jamie@254 82 /** @} */
jamie@254 83
jamie@254 84 #ifdef __cplusplus
jamie@254 85 }
jamie@254 86 #endif
jamie@254 87
jamie@254 88 #endif