annotate src/Types.h @ 183:24ddab06aace re-minimise

Toward allowing types to be small again. Doesn't currently build
author Chris Cannam
date Thu, 19 Feb 2015 17:17:20 +0000
parents a67663dc698d
children
rev   line source
Chris@181 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@181 2
Chris@181 3 /*
Chris@181 4 Vamp feature extraction plugin using the MATCH audio alignment
Chris@181 5 algorithm.
Chris@181 6
Chris@181 7 Centre for Digital Music, Queen Mary, University of London.
Chris@181 8
Chris@181 9 This program is free software; you can redistribute it and/or
Chris@181 10 modify it under the terms of the GNU General Public License as
Chris@181 11 published by the Free Software Foundation; either version 2 of the
Chris@181 12 License, or (at your option) any later version. See the file
Chris@181 13 COPYING included with this distribution for more information.
Chris@181 14 */
Chris@181 15
Chris@181 16 #ifndef MATCH_TYPES_H
Chris@181 17 #define MATCH_TYPES_H
Chris@181 18
Chris@181 19 #include <vector>
Chris@183 20 #include <cstdint>
Chris@181 21
Chris@181 22 /// A single value in a feature vector
Chris@183 23 typedef float featurebin_t;
Chris@181 24
Chris@181 25 /// A feature vector
Chris@181 26 typedef std::vector<featurebin_t> feature_t;
Chris@181 27
Chris@182 28 /// A sequence of feature vectors
Chris@182 29 typedef std::vector<feature_t> featureseq_t;
Chris@182 30
Chris@181 31 /// The distance between two feature vectors
Chris@183 32 typedef uint8_t distance_t;
Chris@183 33
Chris@183 34 const int InvalidDistance = 0xff;
Chris@181 35
Chris@181 36 /// A distance vector
Chris@182 37 typedef std::vector<distance_t> distancevec_t;
Chris@181 38
Chris@181 39 /// A distance matrix
Chris@182 40 typedef std::vector<distancevec_t> distancemat_t;
Chris@181 41
Chris@181 42 /// The integrated distance (path cost) from the origin to a given point
Chris@183 43 typedef uint32_t pathcost_t;
Chris@183 44
Chris@183 45 const int InvalidPathCost = 0xdeadbeef;
Chris@181 46
Chris@181 47 /// A vector of path costs
Chris@182 48 typedef std::vector<pathcost_t> pathcostvec_t;
Chris@181 49
Chris@181 50 /// A matrix of path costs
Chris@182 51 typedef std::vector<pathcostvec_t> pathcostmat_t;
Chris@181 52
Chris@181 53 /// A direction advance instruction or state
Chris@183 54 enum advance_t : uint8_t {
Chris@181 55 AdvanceNone,
Chris@181 56 AdvanceBoth,
Chris@181 57 AdvanceThis,
Chris@181 58 AdvanceOther
Chris@181 59 };
Chris@181 60
Chris@181 61 /// A vector of advance directions
Chris@181 62 typedef std::vector<advance_t> advancevec_t;
Chris@181 63
Chris@181 64 /// A matrix of advance directions
Chris@181 65 typedef std::vector<advancevec_t> advancemat_t;
Chris@181 66
Chris@181 67
Chris@181 68 #endif