Ben normalement c'est obligé si tu veux faire les choses proprement. Tous les drivers ne supportent pas toutes les extensions, les fonctions en question proviennent du driver vidéo lui même et peuvent donc en théorie varier suivant le contexte activé. Je doute que ça marche vraiment en pratique, mais en théorie, et de nos jours avec les machines hybrides à plusieurs GPU (genre e-GPU et cie), du devrais pouvoir faire du rendu sur un GPU sélectionné dynamiquement, voire même profiter de tous les GPUs disponibles pour faire des choses en parallèle. Du coup il faut récupérer les bonnes fonctions pour chaque driver.
Sous vulkan, c'est plus "propre" dans le sens ou tu dois toujours obtenir les fonctions, mais en spécifiant l'instance de vulkan à chaque fois, c'est à dire le driver que tu cibles, plutôt que le contexte courant implicite. Tu as également une API pour lister les GPUs disponibles et créer des instances vulkan pour chaque. C'est pas plus simple mais au moins c'est explicite.
Accessoirement là c'était juste le code d'un "workaround" pour faire marcher Divinity Original Sin EE avec mesa / intel (https://bugs.freedesktop.org/attachment.cgi?id=125302).
"Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."
Moi j'aurais envie de dire que l'élève est un emmerdeur qui essaie de se rattraper aux branches. 0 pour cette question, et -2 supplémentaire sur l'ensemble de la copie pour m'avoir fait perdre mon temps.
Que le compilateur ou le processeur s'amusent au final à évaluer dans un ordre différent ce ne serait pas impossible mais la question c'est "écrire un algo", du point de vue algorithmique pur il a faux.
Si on veut creuser un peu plus la petite bête, pour moi la notion terminale/non-terminale se base sur l'évaluation de l'expression de la valeur qu'on veut construire. L'évaluation de la structure de contrôle de la fonction n'a rien à voir là-dedans, c'est même un détail du langage et de son implémentation dans le fond.
- - - Mise à jour - - -
C'était dans le sens où "depuis le temps les API ne permettent pas de faire ça de manière plus propre ?".
Bon après pour faire un hack d'un moteur existant c'est sûr que tu dois mettre les mains dans le cambouis.
Tu peux simplifier son code en
Donc au moment du return, tous les calculs sont déjà faits. Donc c'est faux.Code:int toto(int a, int n) { if (n <= 0) return a; return toto(a * n, n - 1); }
- - - Mise à jour - - -
La version non-terminale ça serait :
Ou à chaque return on voit qu'il reste un calcul à faire avec la valeur retournée par la récursion.Code:int toto(int a, int n) { if (n <= 0) return a; return n * toto(a, n - 1); }
"Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."
Huhu, moi ce qui m'a fait le plus buguer c'est la signature de la fonction. J'avais juste jamais vu ça.
"Dieu est mort" · "Si le téléchargement c’est du vol, Linux c’est de la prostitution."
C/C++/autre language bas niveau, c’est pour les mecs qui ont plus de temps à perdre sur comment faire les choses que sur les choses à faire...
Ouais je trollles mais je suis JC et j’assume. Hips.
Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09
Une sélection d'eBooks gratuits chez Packt:
https://www.packtpub.com/free-learning
Et le code HBPROG80 permet d'obtenir 80% de réduc sur les eBooks. A 10$ l'eBook, ça descend à 2$, ce qui est bien plus intéressant que les offres Humble, mais pas non plus gratuit.
On peut utiliser un mois de souscription gratuite pour avoir une preview intégrale des eBooks à acheter (comme pour Amazon Prime, souscription + cancel immédiat => 1 mois de previews gratos).
Dernière modification par vectra ; 27/06/2019 à 12h54.
La récursivité terminale, ça sert à ce que le compilateur (ou l'interpréteur d'ailleurs) puisse remplacer l'appel récursif, et le retour (j'empile l'appel avec un retour ici, et ici, je colle le résultat du calcul dans la pile là où est attendue ma valeur de retour) par, précisément, l'appel récursif (en décalant la pile, de manière à ce que la valeur de retour s'empile exactement là où est attendue la valeur de retour de la fonction qui fait cet appel).
Bref, c'est pour pas se manger les erreurs dûes aux problèmes de profondeur de récursivité.
Là, pour un if... else, le branchement a eu lieu, il n'y a rien à faire après; on est en train de calculer une valeur qui est ce qu'on va retourner, c'est bien récursif terminal. Et la version naturelle, c'est bien celle donnée par rOut.
(Qui écrit une factorielle avec accumulateur quand on lui demande une fonction non récursive terminale? Y'a des pervers quand même...)
(OK, se préoccuper de récursivité terminale pour le calcul d'une factorielle avec des int qui sont de toute manière limités à 64 bits, c'est de toute manière de la perversité)
Des livres "Open Source":
https://www.humblebundle.com/books/o...urce-bookshelf
Coin,
Je poste ici afin de ne pas créer une nouvelle discussion juste pour ceci..
Je débute en VBA bien entendu, et quand je vois la discussion ici, je me dis que j'ai encore du chemin
Voici mon problème :
Suite à des problèmes de synchronisation d'une boite partagée outlook365 (et au fait que le (super sympa!!) support de micro$oft n'ait pu m'aider), j'ai migré tout le dossier "archives" dans un fichier .pst... en pensant bêtement que je pourrais recopier les fichiers de la même façon dans l'autre sens.... mais si l'option "copier vers" était disponible dans ce sens, copier du fichier .pst vers le compte mail n'est pas possible !!
Je me retrouve donc avec des 100taines de dossiers à déplacer manuellement, un par un... autant dire mission impossible certains dossiers comprennent des 100taines de mails... ça prend donc du temps . BREF.
J'ai trouvé sur le net comment deleter tous les sous dossiers d'un dossier parent (ça fonctionne très bien)
Il me semblait qu'un MoveTo en place du Delete pourrait fonctionner également mais je n'y parviens pas.Code:Sub Delete_All_SubFolders() Dim oCurrFolder As Folder Dim oSubFolders As Folders Dim i As Long On Error Resume Next Set oCurrFolder = Outlook.Application.ActiveExplorer.CurrentFolder Set oSubFolders = oCurrFolder.Folders For i = oSubFolders.Count To 1 Step -1 oSubFolders.Item(i).Delete Next End Sub
A noter que mes compétences en VBA sont proches du zéro, si j'arrive à comprendre ce que le code existant fait, lorsque je veux le modifier, je suis paumé très vite..
Pourtant, je suis certain que ce n'est pas complexe pour ...vous :zoubi:
Il s'agit donc, pour votre meilleure visualisation, de déplacer les répertoires de mon archive .pst "archives_gembloux" à ma boite "archives gembloux".
Merci d'avance pour votre aide !!!
Yeah, de nombreux nouveaux éditeurs sont apparus et semblent chercher à se faire une place en étant très accessibles aux auteurs : de nombreux ouvrages et auteurs, de tout niveau et toute qualité. Et ca se voit.
Biensur certains écrivent très bien, mais on trouve un nombre alarmant de bouquins foireux, type "je recopie grosso-merdo les tutoriels des sites connus", sans une once de pédagogie. A mon goût, il n'y a aucune plus-value à choisir ces oeuvres plutôt qu'un tuto online.
Puis soyons franc : les (très) bons auteurs sont chez des maisons déjà reconnues, et on ne trouve que rarement leurs bouquins à 1€
Donc je conseillerais plutôt aux lecteurs fauchés d'aller sur les sites de tutos, les docs des technos (y'a souvent au moins des bons quick-start) et les dev-blogs de gens réputés. C'est gratos, c'est fiable et le copier-coller est plus facile.
Y'a des choses intéressantes chez Packt, par exemple. C'est assez inégal mais pas mauvais je pense.
Par contre, tu vas directement sur leur boutique, et tu enquilles les codes promo pour avoir les bouquins que tu veux à 2€ pièce. Et comme la variété des thèmes est variée, ben tu trouves des choses qui répondent à des besoins assez pointus.
Perso, après avoir acheté le bundle Packt full-size pour avoir les 3 bouquins qui m'intéressaient, j'ai regretté de ne pas les avoir achetés direct sur la boutique. Dans le même temps, les autres bouquins étaient cédés en nombre pour pas grand-chose, et autant les garder en fin de compte.
En effet, ce ne sont pas de mauvais bouquins, mais on trouve des œuvres d'un niveau au dessus chez Eyrolles par exemples.
Cela s'explique peut être par la jeunesse de certains auteurs, ainsi que le manque de relecture.
Je trouve qu'il n'y a généralement pas assez de conseils dans les bouquins, ils ne vont pas assez au fond des choses (logique quand tu n'es pas expert, tu peux pas expliquer). Ils font des tutos qui marchent, sopoudrés de quelques astuces et exemples, puis voilà.
Tu en as donc pour ton argent
Je suis retombé sur ce podcast, je l'ai trouvé très intéressant (à nouveau). Ça parle de système, d'architecture de processeurs, de machine virtuels, de conteneurs et même d'Unikernels, enjoy.
https://hwcdn.libsyn.com/p/c/1/3/c13...b53ef104f07858
"Nobody exists on purpose. Nobody belongs anywhere. We're all going to die. Come watch TV." - Morty Smith
CLion 2019.2 vient de sortir.
Au menu, une *grosse* amélioration de la vitesse de complétion, que j'attendais depuis longtemps en ce qui me concerne. J'ai l'impression de voir une très grosse amélioration de perfs, genre comme s'ils avaient remplacé une partie de leur code java par du C++
C'est surtout pour vous avertir de provisionner la carte bleue par rapport aux Friendship Days de la semaine prochaine. Si Jetbrains refait comme l'an dernier, tout le catalogue risque de passer à -50%.
Ce serait un bon moyen pour moi de renouveller ma licence annuelle que j'avais acheté à cette occasion...
Nota Bene: chez Jetbrains, quand ta souscription se termine, tu récupères une version du logiciel activée à vie... Sauf que ce n'est jamais celle que tu utilises au moment de l'expiration: ces gens ont tout compris à la fourgue
Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09
Non, c'est bien le problème:
https://sales.jetbrains.com/hc/en-gb...lback-license-
Oui, c'est la version majeure disponible au moment de l'achat qu'on a en licence perpétuelle.
M'enfin c'est toujours mieux que beaucoup d'éditeurs qui ne fournissent tout simplement rien.
C'est la faute à Arteis
okay, oui, c'est comme ça si tu prends un abonnement annuel. Mais si tu prends un abonnement sur un an d'un coup, je suis sur que c'est la V2 que tu as en perpetuel.
En tout cas, c'était comme ça quand ils sont passés au système d'abonnement.
EDIT : okay, effectivement, ils ont changé. Faut douze mois d'abonnement sur une version pour qu'elle soit en perpetuelle. D'un coté, c'est une perte pour ceux qui payent un abonnement d'un an a cahque fois, d'un autre c'est un gain pour ceux qui payent mois par mois (avant, ils n'avaient droit a rien)
Enfin, bon, moi, j'men fous, je paye mon obole a saint-jetbrains tous les ans. Ouais, je suis un fanboy.
Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09
Je râle, mais je vais resub. Surtout à -50%, et au prix réduit pour la 2ème année...