Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.
AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.
En informatique la conversion de type, le transtypage ou la coercition (cast en anglais) est le fait de convertir une valeur d'un type (source) dans un autre (cible). On distingue trois formes de conversion (dont un seul mérite vraiment le nom de conversion) suivant la relation de sous-typage existant entre les types source et cible : la conversion entre types incomparables ; la coercition ascendante (transtypage vers le haut) ; la coercition descendante (transtypage vers le bas). C'est la coercition la plus ancienne historiquement. Elle consiste (généralement) à transformer physiquement la représentation binaire d'une variable pour la faire correspondre au type de la cible. En langage C, la conversion d'une variable de type entier (usuellement codé en complément à deux) vers un type réel (usuellement codé selon la norme IEEE) est un exemple de ce genre de conversion. Elle est à manier avec prudence car elle n'est pas toujours possible et peut amener des résultats non prévus. Dans le cadre d'un langage objet, la coercition ascendante permet de prendre une instance de la sous-classe pour une instance directe de la super-classe. Cela peut servir à empêcher l'utilisation d'une méthode m spécifique à la sous-classe B, pour la remplacer par la méthode m d'une super-classe A (en considérant bien sûr que B est une sous-classe de A). Dans d'autres langages utilisant le sous-typage, mais pas le mécanisme d'héritage, la coercition ascendante permet par exemple à une fonction d'accepter plusieurs types d'arguments, sous-types de l'argument déclaré. Elle consiste à convertir le type statique de la valeur vers son type dynamique. Elle permet ainsi de faire réapparaître statiquement le type dynamique de l'objet. Elle est par exemple utilisée en Java lors de l'utilisation de collection. Les coercitions ascendante et descendante ne sont pas une réelle conversion de type dans le sens où il n'y a pas de transformation physique de la valeur. Il s'agit essentiellement d'une indication donnée au compilateur sur la façon dont il doit compiler un certain envoi de message.
[2]Paolo Prandoni, [3]LCAV, EPFL
In this notebook we will design and use filters to extract specific
audio frequencies from a music file.
In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import IPython
import scipy.signal as sp
from scipy.io import wavfile
infringment...)
In [2]:
IPython.display.Audio(s, rate=SF)
Out[2]:
Your browser does not support the audio element.