Fonctions générales

#include "tsd/tsd.hpp"


Sous-groupes

Génération de signaux
Génération de signaux.

Date / heure
Classes pour manipuler les dates, les heures, les calendriers, les durées, etc.

Fonctions diverses
Fonctions diverses.

Types

typedef std::complex<float> tsd::cfloat
Raccourci pour nombre complexe flottant 32 bits.

typedef std::complex<double> tsd::cdouble
Raccourci pour nombre complexe flottant 64 bits.

using tsd::Vecf = typedef VecT<float>
Vecteur de flottants (simple précision)

using tsd::Vecd = typedef VecT<double>
Vecteur de flottants (double précision)

using tsd::Veccf = typedef VecT<cfloat>
Vecteur de flottants complexe (simple précision)

using tsd::Veccd = typedef VecT<cdouble>
Vecteur de flottants complexe (double précision)

using tsd::Vecb = typedef VecT<char>
Vecteur de bouléens.

using tsd::Veci = typedef VecT<int32_t>
Vecteur d'entier.

using tsd::Tabi = typedef TabT<int32_t, 2>
Tableau (2d) d'entiers.

using tsd::Tabf = typedef TabT<float, 2>
Tableau (2d) de flottants (simple précision)

using tsd::Tabd = typedef TabT<double, 2>
Tableau (2d) de flottants (double précision)

using tsd::Tabcf = typedef TabT<cfloat, 2>
Tableau (2d) de complexes (simple précision)

using tsd::Tabcd = typedef TabT<cdouble, 2>
Tableau (2d) de complexes (double précision)

using tsd::Tableau = typedef TabT<t, 2>

using tsd::Vecteur = typedef VecT<t>
Raccourcis pour un vecteur colonne de données de type générique (paramètre de template t)

Variables et constantes

const double tsd::π
Valeur de \(\pi\), en précision flottante 64 bits.

const float tsd::π_f
Valeur de \(\pi\), en précision flottante 32 bits.

const cfloat tsd::
Unité imaginaire ( \(\sqrt{-1}\)), en précision flottante 32 bits.

const cdouble tsd::ⅈ_d
Unité imaginaire ( \(\sqrt{-1}\)), en précision flottante 64 bits.

Structures

struct TabT
Tableau de données évaluées, avec type spécifique, et nombre de dimensions spécifique.

struct Configurable
Structure abstraite pour une classe configurable.

struct Void

struct SinkGen
Structure abstraite pour un puit de données générique.

struct Sink
Structure abstraite pour un puit de données générique et configurable.

struct SourceGen
Structure abstraite pour une source de données.

struct Source
Structure abstraite pour source de données, configurable.

struct FiltreGen
Structure abstraite pour un filtre de données.

struct Filtre
Structure abstraite pour un filtre de données configurable.

Fonctions

entier signe(T val)
Retourne -1, 1 ou 0 (en cas d'égalité).

auto vconcat(const Vecteur<T> &a, const Vecteur<T> &b)
Concaténation verticale de deux vecteurs.

auto operator|(const Vecteur<T> &a, const Vecteur<T> &b)
Concaténation verticale de deux vecteurs (raccourci).

auto vconcat(const Tableau<T> &a, const Tableau<T> &b)
Concaténation verticale de deux tableaux.

auto hconcat(const Tableau<T> &a, const Tableau<T> &b)
Concaténation horizontale de deux tableaux.

Vecteur<T> rotation_vec(const Vecteur<T> &x, entier d)
Rotation d'un vecteur.

auto diff(const Vecteur<T> &x)
Différence entre 2 élements successifs d'un vecteur.

auto cumsum(const Vecteur<T> &x)
Somme cumulée d'un vecteur.

Vecteur<T> déplie_phase(const Vecteur<T> &x, float r=2 *π)
Corrige les sauts de phases.

vector<entier> trouve(const Vecb &x)
Recherche d'éléments vrais dans un tableau bouléen.

entier trouve_premier(const Vecb &x)
Recherche de l'indice du premier élément vrai dans un tableau de bouléens.

entier trouve_dernier(const Vecb &x)
Recherche de l'indice du dernier élément vrai dans un tableau de bouléens.

entier trouve_premier_max_local(const Vecteur<T> &x)
Recherche du premier maximum local (valeur supérieure à ces deux voisins).

auto polar(const Vecteur<T> &θ)

auto polar(const Vecteur<T> &ρ, const Vecteur<T> &θ)

auto sousech(const Vecteur<T> &x, entier R)
Sous-échantillonnage d'un vecteur colonne.

auto surech(const Vecteur<T> &x, entier R)
Sur-échantillonnage d'un vecteur colonne.

auto pow2db(const T &x)
Conversion linéaire vers decibels.

auto mag2db(const auto &x)
Conversion magnitude vers decibels.

auto db2pow(const T &x)
Conversion decibels vers linéaire (puissance)

auto db2mag(const auto &x)
Conversion décibels vers linéaire (magnitude)

entier prochaine_puissance_de_2(entier i)
Retourne la plus petite puissance de 2 supérieure ou égale à i.

tuple<Vecteur<T>, Vecteur<T>> pad_zeros(const Vecteur<T> &x, const Vecteur<T> &y, bouléen p2=non)
Ajoute des zéros à la fin d'un des deux vecteurs de manière à ce qu'ils aient la même dimension.

T carré(const T &v)
Calcule le carré d'un scalaire.

auto rééchan(const Vecteur<T> &x, float r)
Ré-échantillonnage d'un signal suivant un facteur arbitraire.

sptr<Sink<T, entier>> tampon_création(entier N, fonction<void(const Vecteur<T> &)> callback)
A partir d'un flux de données entrant, découpé en paquet de dimensions quelconques, produit un flux de données sous forme de paquets de dimension fixe.

T sousvec(const T &src, const vector<entier> &index)

T modulo(T x, T m)
Modulo avec résultat compris dans l'intervalle \([0,m[\).

T modulo_2π(T x)
Calcule \(a\) modulo \(2\pi\), résultat dans l'intervalle \(\left[0,2\pi\right[\).

T modulo_pm_π(T x)
Calcule \(a\) modulo \(2\pi\), résultat dans l'intervalle \(\left[-\pi,\pi\right[\).

bouléen est_pair(T t)

bouléen est_impair(T t)

auto deg2rad(T degrees)
Conversion degrés vers radians.

T rad2deg(T radians)
Conversion radians vers degrés.