libpsynth 0.2.1
Classes | Namespaces | Functions
/home/raskolnikov/dev/psynth/trunk/src/psynth/sound/sample_algorithm.hpp File Reference

Time-stamp: <2011-06-18 20:15:44 raskolnikov> More...

#include <psynth/base/compat.hpp>
#include <psynth/sound/sample.hpp>
#include <boost/mpl/less.hpp>
#include <boost/mpl/integral_c.hpp>
#include <boost/mpl/greater.hpp>
#include <boost/type_traits.hpp>
Include dependency graph for sample_algorithm.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  psynth::sound::detail::unsigned_integral_max_value< UnsignedIntegralSample >
 unsigned_integral_max_value - given an unsigned integral sample type, returns its maximum value as an MPL integral constant More...
struct  psynth::sound::detail::unsigned_integral_max_value< uint8_t >
struct  psynth::sound::detail::unsigned_integral_max_value< uint16_t >
struct  psynth::sound::detail::unsigned_integral_max_value< uint32_t >
struct  psynth::sound::detail::unsigned_integral_max_value< packed_sample_value< K > >
struct  psynth::sound::detail::unsigned_integral_num_bits< UnsignedIntegralSample >
 unsigned_integral_num_bits - given an unsigned integral sample type, returns the minimum number of bits needed to represent it More...
struct  psynth::sound::detail::unsigned_integral_num_bits< packed_sample_value< K > >
struct  psynth::sound::sample_converter_unsigned< SrcSampleV, DstSampleV >
 sample_converter_unsigned More...
struct  psynth::sound::sample_converter_unsigned< T, T >
 Converting a sample to itself - identity operation. More...
struct  psynth::sound::detail::sample_converter_unsigned_impl< SrcSampleV, DstSampleV, SrcIsIntegral, DstIsIntegral >
 sample_converter_unsigned_impl More...
struct  psynth::sound::detail::sample_converter_unsigned_impl< SrcSampleV, DstSampleV, true, true >
struct  psynth::sound::detail::sample_converter_unsigned_integral< SrcSampleV, DstSampleV, true >
 sample_converter_unsigned_integral More...
struct  psynth::sound::detail::sample_converter_unsigned_integral< SrcSampleV, DstSampleV, false >
struct  psynth::sound::detail::sample_converter_unsigned_integral_impl< SrcSampleV, DstSampleV, true, true >
 sample_converter_unsigned_integral_impl More...
struct  psynth::sound::detail::sample_converter_unsigned_integral_impl< SrcSampleV, DstSampleV, false, true >
struct  psynth::sound::detail::sample_converter_unsigned_integral_impl< uintmax_t, DstSampleV, false, true >
struct  psynth::sound::detail::sample_converter_unsigned_integral_impl< SrcSampleV, DstSampleV, SrcLessThanDst, false >
struct  psynth::sound::detail::sample_converter_unsigned_integral_nondivisible< SrcSampleV, DstSampleV, true, false >
struct  psynth::sound::detail::sample_converter_unsigned_integral_nondivisible< SrcSampleV, DstSampleV, true, true >
struct  psynth::sound::detail::sample_converter_unsigned_integral_nondivisible< SrcSampleV, DstSampleV, false, CannotFit >
struct  psynth::sound::sample_converter_unsigned< bits32f, DstSampleV >
 bits32f conversion More...
struct  psynth::sound::sample_converter_unsigned< SrcSampleV, bits32f >
struct  psynth::sound::sample_converter_unsigned< bits32f, bits32f >
struct  psynth::sound::sample_converter_unsigned< bits32, bits32f >
 32 bit <-> float sample conversion More...
struct  psynth::sound::sample_converter_unsigned< bits32f, bits32 >
 32 bit <-> float sample conversion More...
struct  psynth::sound::detail::sample_convert_to_unsigned< SampleValue >
struct  psynth::sound::detail::sample_convert_to_unsigned< bits8s >
struct  psynth::sound::detail::sample_convert_to_unsigned< bits16s >
struct  psynth::sound::detail::sample_convert_to_unsigned< bits32s >
struct  psynth::sound::detail::sample_convert_to_unsigned< bits32sf >
struct  psynth::sound::detail::sample_convert_from_unsigned< SampleValue >
struct  psynth::sound::detail::sample_convert_from_unsigned< bits8s >
struct  psynth::sound::detail::sample_convert_from_unsigned< bits16s >
struct  psynth::sound::detail::sample_convert_from_unsigned< bits32s >
struct  psynth::sound::detail::sample_convert_from_unsigned< bits32sf >
struct  psynth::sound::detail::sample_converter_impl< SrcSampleV, DstSampleV, DstIsUnsigned >
struct  psynth::sound::detail::sample_converter_impl< SrcSampleV, DstSampleV, false >
struct  psynth::sound::sample_converter< SrcSampleV, DstSampleV >
 A unary function object converting between sample types. More...
struct  psynth::sound::default_sample_converter
 Same as sample_converter, except it takes the destination sample by reference, which allows us to move the templates from the class level to the method level. More...
struct  psynth::sound::sample_multiplier_unsigned< SampleValue >
 This is the default implementation. Performance specializatons are provided. More...
struct  psynth::sound::sample_multiplier_unsigned< bits8 >
 Specialization of sample_multiply for 8-bit unsigned samples. More...
struct  psynth::sound::sample_multiplier_unsigned< bits16 >
 Specialization of sample_multiply for 16-bit unsigned samples. More...
struct  psynth::sound::sample_multiplier_unsigned< bits32f >
 Specialization of sample_multiply for float 0..1 samples. More...
struct  psynth::sound::sample_multiplier< SampleValue >
 A function object to multiply two samples. More...
struct  psynth::sound::sample_multiplier< bits32f >

Namespaces

namespace  psynth
namespace  psynth::sound
namespace  psynth::sound::detail
 

interleaved_range_get_raw_data, planar_range_get_raw_data - return pointers to the raw data (the samples) of a basic homogeneous range.


Functions

template<typename DstSample , typename SrcSample >
sample_traits< DstSample >
::value_type 
psynth::sound::sample_convert (const SrcSample &src)
 Converting from one sample type to another.
uint32_t psynth::sound::detail::div255 (uint32_t in)
uint32_t psynth::sound::detail::div32768 (uint32_t in)
template<typename Sample >
sample_traits< Sample >::value_type psynth::sound::sample_multiply (Sample a, Sample b)
 A function multiplying two samples.
template<typename Sample >
sample_traits< Sample >::value_type psynth::sound::sample_invert (Sample x)
 Default implementation.

Detailed Description

Time-stamp: <2011-06-18 20:15:44 raskolnikov>

Author:
Juan Pedro Bolivar Puente <raskolnikov@es.gnu.org>
Date:
Tue Oct 26 17:21:42 2010

Algorithms over sample types.