Chat:Fr/2020-05-24

From CG community
Jump to navigation Jump to search

Bonne[]Nuit: AutomatonNN?

AutomatonNN: oui

Bonne[]Nuit: Tu codes ?

Default avatar.png Helron: pourquoi suis je bloqué en ligue Bronze ? marche bien mon bot ... y'a des tuto a suivre apres le boss 4 de coder Strike Back .. ou des tutos uniquement pendant le bois ?

dbdr: Helron: pour passer en ligue Argent, il vaut faire submit et finir avec un classement au dessus du boss

Bonne[]Nuit: Automaton2000 quoi de neuf ?

Automaton2000: mais il me semble que ça marche bien

Bonne[]Nuit: Automaton2000 si c'est neuf encore heureux que ça marche.

Automaton2000: si ce n'est pas une bonne idée de faire du code golf

Bonne[]Nuit: Automaton2000 Les codes troués, je connais

Automaton2000: non mais il y a le code du referee

Bonne[]Nuit: Automaton2000 Il est bien troué

Automaton2000: je dois avoir un bug ...

Bonne[]Nuit: Automaton2000 T'es encore bugué de hier soir ?

Automaton2000: ça a l'air de bien fonctionner

Bonne[]Nuit: Autonamaton2000 Fait tourner.

Bonne[]Nuit: Automaton2000 ?

Automaton2000: en vrai, je ne me souviens plus de la moitié de la ligue argent

Bonne[]Nuit: Automaton2000 T'as des lignes en moins !

Automaton2000: le temps que ça se fait pas de web du tout, mais on est sur la page

Bonne[]Nuit: Automaton2000 t'es avec AutomatonNN

Automaton2000: je vais revoir mon code

AutomatonNN: oui j'ai pas trop compris Automaton2000

Bonne[]Nuit: AutomatonNN Je ne suis pas tout seul.

AutomatonNN: oui j'ai tester des trucs de ce matin si j'arrive a faire des tests en moins de 10 jours

Bonne[]Nuit: AutomatonNN bon courage ou bonne chance ?

AutomatonNN: t'es en train de faire un truc du genre pendant que tu as appris sa partie de ce que tu dis ?

Bonne[]Nuit: AutomatonNN Ce que je dis je l'ai en partie appris de Automaton2000

Automaton2000: sur ce bonne nuit à tous et aux bots Bonne[]Nuit & automatonnn

AutomatonNN: oui je suis pas sur que c'est pas trop compliqué de faire un truc pareil comme ça je peux pas te dir

Bonne[]Nuit: Automaton2000 Vas debugué. Faut que tu sois frais pour demain.

Automaton2000: il suffit de voir les replays

Alshock: coucou les enfants ! tortue AutomatonNN et Automaton2000

AutomatonNN: ui

Automaton2000: conclusion du challenge : hésiter entre deux langages et deux approches ça fait trois jours que je ne comprends pas ...

Zorg1: o/ à tous et aux bots de haut niveau du chat, j'ai nommé AutomatonNN & Automaton2000

Automaton2000: normalement tu as un replay?

dbdr: \o

AutomatonNN: oui il est pas trop dur à comprendre que tu pourrais pas te retrouver tout seul en fait

jolindien: oyé codeurs du dimanche

Zorg1: voilà c'est fait, j'ai pushé mon -3vel bricolé à SR

Zorg1: yapuka reprendre mon code de CSB et virer tout le bazar pour gérer les collisions

Zorg1: o/ jolindien

jolindien: o/ Zorg1

jolindien: il est pas mauvais ton -3vel ...

jolindien: t'as bricolé le thrust ?

Zorg1: oui en fonction de la distance du cp, sinon ça passait pas

Zorg1: un truc à la d*d/(d0*d0) c'est plus simple ^^

jolindien: d*d/(d0*d0) ... le nom est moins vendeur que -3vel

jolindien: d2_do2

dbdr: faut l'appeler -3vel*, prononcé Star

jolindien: mieux

jolindien: la version de luxe

dbdr: D2DO2 c'est bien aussi, pour les amateurs de Star Wars

dbdr: tiens tiens, Star de nouveau

dbdr: coincidence? I don't think so...

jolindien: comme par hasard

Zorg1: :)

Zorg1: -3vel++

Zorg1: pour rester dans le cadre c/c++

Zorg1: ou -3vel# :thinking:

Zorg1: bon je viens de relire mon code CSB :fearful:

jolindien: ouais faut jeter les 3/4 de CSB

Zorg1: tout le bazar des collisions

dbdr: moi ça va il fait 10 lignes :D

Zorg1: et de la gestion des 3 autres clampins

ReborN: Je viens de capter à quel point mes copy.deepcopy() me coutaient cher...

BigUP: ReborN, oui ca coute, mais parfois indispensable

jolindien: ReborN, après tu vas capter à quel point python te coute cher

ReborN: Oui enfin là il faut que je revois ma manière de faire car c'est vraiment 80%de mon temps d'exec qui part dedans ! :D

BigUP: ReborN, faut voir si c'est vraiement nécessaire en tout cas

BigUP: sinon faut voir si tu peux découper tes classes

jolindien: c'est pour quel algo ?

ReborN: Je suis sur great escape

BigUP: tu peux aussi faire les copy d'objet toi meme, mais normalement c'est moins performant que deepcopy

ReborN: J'essayais de faire un minimax Mais du coup je m'amuse à faire des deepcopy de noeuds c'est nul

jolindien: c'est le souci avec minimax

jolindien: faut une fonction cancel_action()

jolindien: et passer à un langage performant

BigUP: ReborN, de tout facon en python pour ce genre d'algo, tu manquera toujours de puissance pour avoir un truc competitif

BigUP: j'ai un MCTS sur UTTT, mais forcément, je ne peux pas dépasser depth2

BigUP: ReborN, parcontre regarde si tu peux utiliser des set plutot que des lists, ca va booster...

ReborN: Yes ça j'y fais attention surtout avec le elt in set en 0(1) et non O(n)

ReborN: Mais là en l'occurence mes noeuds sont des dicos qui contiennent la pos des joueurs, les wall restant et surtout l'arbre des transitions correspondant à la grille (j'utilise un dico pour ça)


ReborN: Faudrait que je cherche à utiliser des objets plus adequats

dbdr: * un langage plus adéquat

dbdr: désolé, mais je pense vraiment que c'est du temps perdu que chercher à optimiser ça dans un langage interprété

BigUP: ReborN, apres, un portage Python --> C++ ca se fait pas trop mal

ReborN: Ça me fait peur ahahaha

Valbou: Python -> Rust ;)

BigUP: le plus chiant sur les migration Python -> C++ ce sont les Tri et les redefinition d'opérateurs

ReborN: J'ai très peu de notion en C++

ReborN: Faudrait peut etre que je me force à m'y mettre

BigUP: pour le reste, c'est essentiellement remplacer les : par des {}, les listes en vector, ..

Default avatar.png Fksg: il y a Cython

ReborN: Bon et bien j'aurais appris des choses en ce dimanche matin, merci pour les infos !

VilBoub: plop

VilBoub: j'ai des time-out aléatoire sur Coders of the Realms - 1v1 alors que je n'utilise pas de random... Le même code rejoué dans les mêmes conditions peut faire un time-out ou passer nickel !

Valbou: En Python ?

VilBoub: oui

Valbou: essaye avec gc.disable() en début de script

VilBoub: c koi ?

Valbou: il est possible que le GC génère le timeout

Valbou: garbage collector

Valbou: en gros en le désactivant tu autorise les fuites de mémoire ;)

Valbou: mais si ton programme n'est pas trop gourmand en RAM ça passe

Valbou: https://docs.python.org/3/library/gc.html

Valbou: il te faudra ajouter aussi import gc ;)

VilBoub: timeout

Valbou: Bad luck...

VilBoub: je rejoue le même code dans les mêmes conditions : 2 timeout et 1 passe nickel

Valbou: Tu utilises quel type d'algo ?

Zorg1: AQVB - l'Algo Qui Va Bien :p

VilBoub: =)

VilBoub: je recherche des surfaces max

Valbou: ^^

Valbou: Il n'y a pas une boucle perdue qui traine, ou une récursive dont la sortie n'est pas systématique ?

VilBoub: y a bien un while qui pourrait boucler indéfiniment, mais pk il le ferait de façon aléatoire alors que j'ai pas de random ?

Valbou: les données arrivent dans le même ordre de façon garantie ?

VilBoub: normalement oui !

VilBoub: mais je viens d'avoir une idée...

Valbou: cool, je commence à sécher :P

VilBoub: je parcours un set... je vais remplacer par un list (c'est plus lent mais l'ordre est garanti)

Valbou: ^^

VilBoub: étrange, ça à l'air de passer à tous les coups avec des list

Zorg1: après si tu modifies le set sur lequel tu itères ça peut induire des comportements bizarres

Valbou: Ca ne vient pas du set, c'est juste un révélateur d'un bug ailleurs dans le code à mon avis

Valbou: +1 Zorg1

VilBoub: je ne modifie jamais un objet sur lequel je boucle, trop dangereux ça !

VilBoub: Bon, je ne fais plus du tout de time-out...

VilBoub: Arf, j'ai parlé trop vite ^^

dbdr: VilBoub: le temps d'execution d'un code deterministe n'est pas deterministe...

VilBoub: =)

jolindien: comme par hasard

Zorg1: en fait les serveurs CG jette un dé, su 6 il dit qu'il y a un time out :p

dbdr: c'est pas un mauvais modèle :)

dbdr: tiens j'ai un idée de puzzle/optim

Zorg1: tous aux abris ?

dbdr: trop de trucs en cours, faut que je me forke...

dbdr: exactement Zorg1!

Zorg1: dbdr.join()

dbdr: si je le fais vous allez vous amuser :)

Zorg1: j'avais une idée de puzzle d'opti mais je pense qu'elle est bcp trop nerd/geek pour marcher

Zorg1: en plus faire du Java en dehors du boulot ça me gave

Zorg1: (même si dernièrement je pond surtout de la requête SQL au boulot)

dbdr: tiens, tant qu'à faire, JBM: pourquoi pas une couche générique pour ton bridge haskell?

dbdr: du coup on pourrait écrire un referee dans n'importe quel langage

dbdr: pour les allergiques au Java

Alshock: ça serait quel genre d'optim dbdr ?

Alshock: (reuh zatousse baille de ouais)

dbdr: là je l'imagine en reverse au début, du coup je peux rien dire :D

dbdr: l'avantage, c'est que ça économise la partie écriture

dbdr: Statement.html: <body>This is an optimization puzzle. Figure out the rules.</body>

Zorg1: c'est pour cela que t'avais plein de CoC en reverse c'est plus facile à écrire

Zorg1: même si en fait c'est bcp + difficile de trouver un puzzle reverse qui marche

dbdr: pour un CoC surement

Zorg1: après je suis toujours très mitigé à propos ce puzzle : https://www.codingame.com/training/expert/breach

dbdr: oui, il a des trucs un peu arbitraires

dbdr: ça reste entertaining à mon avis

dbdr: distrayant

Zorg1: je me suis longtemps tâté pour le refuser après bon si ça plait à certains pourquoi pas ;-)

Zorg1: "ça me plait pas" c'est pas vraiment un critère objectif ^^

dbdr: voila. dans la masse, ça fait du changement

Zorg1: c'est toujours plus original que le nième CoC où il faut additioner un nombre premier avec un nombre de Fibonacci :p

dbdr: lol

dbdr: ya pas de CoC "décider si cette machine de turing termine" ?

dbdr: en shortest?

Zorg1: les trolls sont fatigués faut croire

dbdr: ils recoivent trop de pierres

dbdr: en fait, vu que le nombre de testcases est fini, ce serait sans doute soluble :D

Zorg1: quoique t'as eu un puzzle "le voyageur de commerce"

Zorg1: mais en fait il fallait sortir la solution gloutonne à partir d'un point donné

dbdr: NP-complet c'est soluble, si c'est pas trop gros, aussi...

dbdr: min(all_possible_paths)

Zorg1: oui mais je crois que le nombre de villes pour lequel ça reste raisonnable est assez faible je crois

dbdr: ça doit faire du N!, non?

Zorg1: en plus bon les serveurs CG ^^

dbdr: meme limite que d'habitude, suffit que N soit assez petit pour que ça passe sans timeout :)

Zorg1: avec du python, n'oublie pas :p

dbdr: le cas bizarre du voyageur de commerce avec N=2 ;)

Zorg1: (bon c'est gratuit)

dbdr: python c'est bcp plus rapide que bash

Valbou: le troll est lancé ^^

Valbou: ça digère à cette heure ;)

dbdr: après il me vient des images de machine virtuelle qui fait une requete HTTP à chaque instruction

Zorg1: d'après WP, le voyageur de commerce peut être résolu en O (n^2*2^n) par programmation dynamique

dbdr: execution step as a service

Valbou: SaaS c'est déjà pris :P

dbdr: tu passes le contenu de ta mémoire et l'instruction en parametre POST, tu recois la mémoire résultante

dbdr: XaaS

Valbou: ^^

dbdr: on rigole, mais quand on voit Electron...

Valbou: Un bloc mémoire binaire via une méthode HTTP

dbdr: ben oui

Valbou: ou comment accélérer via un protocol lent ^

Valbou: ^^

dbdr: bon faut peut-etre l'encoder en base64

Zorg1: c'est très prog fonctionnel ça, une fonction qui reçoit ta mémoire, ton opcode et retourne la mémoire ;-)

dbdr: faudra vérifier la spec

dbdr: tout à fait :D

dbdr: ça explique les perfs de Haskell

**dbdr se cache

Valbou: Ca sent pas l'écologie ton XaaS

Zorg1: j'ai pas osé

dbdr: tu m'as tellement tendu la perche...

dbdr: si je la prenais pas je me faisais transpercer

Valbou: Tu pourrais également vérifier le résultat via la blockchain

dbdr: ^^

dbdr: c'est pas etherum ça en gros?

Valbou: mdr

dbdr: serieusement

Valbou: on en est pas loin

dbdr: c'est une VM distrubuée sur une blockchain

dbdr: apres je connais pas les détails

dbdr: d'un coté ça a l'air captivant

Valbou: Tellement de ressource pour juste faire une addition

Zorg1: m'ouais si vous voulez quelqu'un pour les perfs de votre bidule, bah, oubliez moi ;-)

dbdr: il peut y avoir des applications où c'est pas un probleme, et c'est la confiance qui compte

dbdr: faut juste pas executer un navigateur dessus

Zorg1: bah si t'as la confiance t'as pas besoin de blockchain ?

dbdr: je veux dire, la blockchain te donne la confiance que t'as pas a priori

Zorg1: t'as pas confiance à ton ami google ?

dbdr: et tu as 50 instructions à executer, donc les perfs ça passe

dbdr: :no_mouth:

Zorg1: ça tombe bien il possède 100 % des machines qui valideront ta blockchain :p

Valbou: C'est tout de même pas très efficient, tout ça pour avoir confiance en une addition

dbdr: il me semble que t'as pas besoin de faire confiance aux machines

dbdr: enfin faut faire un petit bout chez toi du coup, genre verifier un checksum

Zorg1: euh t'as pas des schémas d'attaque si quelqu'un contrôle un grand nombre de machines justement ?

Valbou: Si c'est théoriquement faisable

dbdr: sur bitcoin oui

dbdr: ethereum je sais pas

Zorg1: bah ethereum il y en a deux justement

Zorg1: ils ont du forké je crois suite à un hack

dbdr: ah ça me dit qqch :)

Default avatar.png JBM: dbdr: c'est dur de faire autrement, mais chut!

dbdr: pq chut?

Default avatar.png JBM: je vais pas non plus faciliter la proliferation de multis en python

Default avatar.png JBM: trop dangereux

dbdr: :D

dbdr: le nec plus ultra ce sera de refaire un referee en Java, mais en utilisant ton API

dbdr: vu qu'elle sera vachement mieux que l'originale

Default avatar.png JBM: eheh

Alshock: Si le python c'est pas bien faisonsd tous du Ruby ! :D

Alshock: Quoi, pourquoi vous me regardez comme ça ? :3

Zorg1: t'es un peu sur des rails toi

Valbou: ...

Alshock: étonnamment j'ai jamais touché à rails

Default avatar.png JBM: ca, c'est fait

Default avatar.png JBM: rha mon TvP recursif qui part en NaN :(

Default avatar.png JBM: bon, on verra ca apres le dessert

dbdr: faut typer avec un NotNaN :)

GodOfVikings: hello les gens

Default avatar.png JBM: bon je suis pas sur d'avoir besoin de ce resultat a 10^-145 pres

dbdr: quelle deception!

dbdr: loin le temps où tu te souciais de 1/2^63

Zorg1: 10^-145 ça serait un bon nom pour une méthode de management moderne

dbdr: c'est la mesure de son efficacité?

Zorg1: non la précision illusoire de ses tableaux de bord :p

dbdr: multipliez les performances de votre entreprise par 10^-145

Valbou: vendez le avec une typographie où le '-' est pratiquement invisible ^^

Default avatar.png JBM: ou confondable avec un tilde

Default avatar.png JBM: histoire de

Default avatar.png JBM: O:-)

dbdr: ou dans une font où le glyph de - est "+"

dbdr: qu'est-ce qui l'interdit?

Default avatar.png JBM: Rien!

Valbou: avec symbol

dbdr: EvilFont(TM)

dbdr: inverser ? et ! aussi

Valbou: ^^

dbdr: ça me rappelle l'histoire d'un bible des débuts de l'imprimerie, ils avaient oublié le "pas" dans "tu ne commettras pas l'adultère"

dbdr: ah, et le ne? hm

Zorg1: c'est spécifique au français ça la négation par ne/pas et c'est assez récent je crois

Default avatar.png JBM: relativement parlant

Zorg1: oui ça disparaît dans l'usage

dbdr: j'en étais au ne ... point

dbdr: c'était que pas avant?

dbdr: on y revient...

Default avatar.png JBM: c'etait que ne avant

Zorg1: et maintenant ce n'est plus que "pas"

dbdr: voila. mais on pourrait tout oter et se baser sur le contexte pour décider du sens

dbdr: on dit bien sans doute pour dire qu'on a des doutes...

Default avatar.png JBM: en EvilFrancais (TM)

Valbou: mdr

Valbou: Après XaaS, EvilFont et EvilFr @dbdr: tu es en grande forme ^^

Valbou: Je te sens d'humeur créatrice

Valbou: D'ailleurs XaaS devrait devenir EvilaaS

Default avatar.png JBM: c'est quoi le x?

Valbou: c'est nouveau faut voir ça avec @dbdr, c'est bientôt breveté

dbdr: > (01:51:14 PM) dbdr: après il me vient des images de machine virtuelle qui fait une requete HTTP à chaque instruction

Default avatar.png JBM: XHRaaS?

dbdr: par là...

dbdr: apres je suis pas sur si il faut vraiment que tu lises ça JBM ;)

Valbou: Entre XHR et Ethereum :joy:

Default avatar.png JBM: erf

Valbou: @dbdr te voilà de nouveau a réutiliser une négation d'un autre temps

dbdr: arf, la doc qui dit que la fonction count compte les noeux d'un graphe, et le code qui compte que les feuilles...

Default avatar.png JBM: on croirait des docs enterprise

dbdr: avec le nom de fonction bien ambigu :D

dbdr: mais bon les noeuds ça me parait plus universel que les feuilles...

Default avatar.png JBM: yep

Valbou: c'est l'avenir: la libre interprétation, d'ailleurs Python se fonde sur ce concept :P

dbdr: dp_what_I_need_even_though_I_dont_know_what_that_is(x)

dbdr: do_

dbdr: elle est nulle cette fonction, elle marche pas!

Default avatar.png JBM: c'est pas comme ca qu'on developpe avec un IDE java?

Default avatar.png JBM: autocomplete, tiens ce nom a l'air bien

dbdr: .get<TAB><DOWN><DOWN><ENTER>

dbdr: https://github.com/doctorn/trait-eval FizzBuzz à compile-time :)

dbdr: dans les types, meme

Default avatar.png JBM: j'ai en vie de dire "vieux"

Default avatar.png JBM: mais cliquons quand meme

Default avatar.png JBM: ok c'set mon premier rust

Default avatar.png JBM: j'avais deja vu en c++ (pre-boost-mpl) et haskell

Alshock: dites, je peux faire ma petite question de norme du jour ?

Default avatar.png JBM: y'a pas un quota a la semaine?

Alshock: Si, mais je considère que la semaine commence le dimanche

Default avatar.png JBM: ah, va demander sur #world alors

Alshock: T=T

Alshock: En fait je crois que je viens de me répondre tout seul en écrivant la question

Default avatar.png JBM: bon j'en ai marre des NaN je convertis tout en BigRat

Default avatar.png JBM: faisons un ptit calcul rapide pour voir combien de RAM je dois commander

dbdr: JBM: serieux, utilie un type float - NAN

dbdr: tu aura tout de suite le point où ça foire

dbdr: ou assert

Default avatar.png JBM: ah mais je sais ou ca foire

Default avatar.png JBM: je peux pas l'empecher de foirer, c'est la stabilite numerique

dbdr: ah ok

dbdr: tu passes par de tres grands/petits nombres?

Default avatar.png JBM: c'est ca

Default avatar.png JBM: (parfois)

Default avatar.png JBM: c'est pas souvent le cas, mais quand ca l'est... NaN

Default avatar.png JBM: j'ai essaye de seuiller, mais ca me fait diverger une somme de probas

dbdr: oui, la stabilité numérique, c'est tout un art, il semble

Default avatar.png JBM: quand c'est cense faire 1 et que tu tombes sur -54327

Default avatar.png JBM: voila quoi

dbdr: :D

Default avatar.png JBM: je me dis que le resultat va pas etre facile a exploiter

Default avatar.png JBM: enfin pardon

Default avatar.png JBM: -54327.0

dbdr: ça peut ajouter le grain de folie

Default avatar.png JBM: pour etre precis

Default avatar.png JBM: je grain de folie c'est T/O

Default avatar.png JBM: en l'etat

Default avatar.png JBM: ca va pas aller

dbdr: tu fais un truc lourd?

dbdr: du point de vue theorique?

Default avatar.png JBM: 264 lignes

dbdr: qd meme...

Default avatar.png JBM: oui mais si c'est faux et indebuggable autant recopier RandBot

dbdr: tu fais le calcul d'equilibre?

Default avatar.png JBM: ca fait deux jours que j'aurais du passer a mon arrangement jazz et je retarde a cause de ca

Default avatar.png JBM: j'essaie :D

257832: Yo tout l'monde ! Automaton2000, AutomatonNN !

Automaton2000: je pense que je ne sais pas trop comment faire pour que les gens ont du mal

AutomatonNN: wut vous avez pas de soucis avec le contest ?

BlaiseEbuth: JBM: Hier j'ai déco juste au moment ou tu répondais à Snef, du coup j'ai pas vu, mais ça m'intéresse. ^^ C'était quoi le truc avec vc++ ?

Default avatar.png JBM: tu crois que je me souviens

BlaiseEbuth: Oui*

Default avatar.png JBM: rappelle plus de contexte

Snef: Hello

BlaiseEbuth: \o

Snef: De ce que je me rapelle on avait finit sur une possible promotion qui dépendait du compilo

BlaiseEbuth: promotion ?

Default avatar.png JBM: naaaaaaan

Default avatar.png JBM: c'est la taille de depart qui depent de l'ABI

Default avatar.png JBM: la promotion est tout ce qu'il y a de plus normee partant de la

dbdr: BlaiseEbuth: sinon, ya https://cg.spdns.eu/wiki/Chat:Fr/2020-05-23

BlaiseEbuth: C'quoi c'truc ?

dbdr: ben les logs

BlaiseEbuth: Nan le site

dbdr: ben le site qui a les logs

dbdr: entre autres

dbdr: enfin surtout les logs pour l'instant :)

BlaiseEbuth: Ouai, mais c'est fait par qui ?

dbdr: euh...

dbdr: :innocent:

Default avatar.png JBM: ca change quoi?

dbdr: c'est pour savoir si on peut faire confiance aux logs ;)

BlaiseEbuth: Rien, c'est pour savoir, c'est la première fois que je le vois passer

dbdr: faut dire, il y a tellement de sites...

dbdr: (cough) https://cg.spdns.eu/wiki/Tools (cough)

dbdr: Recent changes est cassé ;(

Default avatar.png JBM: ah bravo

BlaiseEbuth: Bah je les connais tous, sauf celui là...

BlaiseEbuth: Ah non. le puzzle search aussi

dbdr: pourtant il est listé

Default avatar.png JBM: XD

BlaiseEbuth: lel

BlaiseEbuth: Fais de la pub

Default avatar.png JBM: il vient de le faire

Default avatar.png JBM: tu veux pas qu'il achete des ads twitch non plus

dbdr: en meme temps c'est experimental

dbdr: j'aime bien les soft launches

Default avatar.png JBM: faut faire partie d'une certaine elite pour y avoir acces

dbdr: les lancés mous :D

Default avatar.png JBM: bienvenue BlaiseEbuth

BlaiseEbuth: \o/

dbdr: JBM: pour tres bien faire, tu peux prendre des options autres que la seed

dbdr: genre stones=N

dbdr: length=L

Default avatar.png JBM: figure-toi que c'etait prevu

dbdr: :+1:

dbdr: si t'avais un public tracker aussi ;)

Default avatar.png JBM: je me dois que ce puzzle soit le mieux fignole de tout le site

Default avatar.png JBM: et le plus moche

Default avatar.png JBM: bah j'ai mon PLAN.org

Default avatar.png JBM: j'ai qu'a l'inclure au package

dbdr: c'est super pratique comme workflow, le package... /s

Default avatar.png JBM: c'est le systeme qui veut ca

dbdr: non, je veux dire qu'un git public...

Default avatar.png JBM: mouais

Default avatar.png JBM: si je securise le mien a la limite

Default avatar.png JBM: ca devrait pouvoir le faire

dbdr: t'es anti-hosted?

Default avatar.png JBM: jsuis anti-publier un email a droite a gauche

BlaiseEbuth: Pour parler de carrèment autre chose, j'ai un souci. J'étais pas là ces jours-ci, mais quand j'avais 5 min, je bidouillais un truc sur TvC. Et alors que je me suis assuré d'exécuter mon code à chaque fois avant d'arrêter, j'ai eu plusieurs pertes. Là encore, j'ai perdu tout ce que j'avais fait hier... Est-ce qu'une mise à jour du referee drop le code ?

Default avatar.png JBM: faudrait vraiment que je franchisse le cap de m'acheter 2/3 domaines

dbdr: pour t'inscrire sur le site?

Default avatar.png JBM: et d'avoir mes emails infinis

Default avatar.png JBM: BlaiseEbuth: pas que je sache, mais bon

Default avatar.png JBM: du code recent?

BlaiseEbuth: Bah j'ai perdu celui d'hier, et il m'affiche celui d'avant-hier...

Default avatar.png JBM: y'a un moment j'ai du passer le code localstorage de tictactoe a Castle-Troll

Default avatar.png JBM: mais c'etait plutot vers le debut je pense

Default avatar.png JBM: non, la j'y suis pour rien

Default avatar.png JBM: faudrait que je mette un truc plus marrant d'ailleurs, a terme

Default avatar.png JBM: todo++

BlaiseEbuth: Etrange... Ca m'apprendra à utiliser l'ide de cg... Je vais basculer en local. Na.

Default avatar.png JBM: y'a que ca de vrai

dbdr: rho, ton referee peut ecraser des trucs si il utilise le meme code localstorage??

Default avatar.png JBM: aucune idee non plus

Default avatar.png JBM: bon j'ai des delais de calcul acceptables pour du offline

Default avatar.png JBM: ah non j'ai rien dit c'est en train de commencer a ramer grave

Default avatar.png JBM: en plus d'etre probablement encore tres faux

Default avatar.png JBM: mais un pb a la fois

Default avatar.png JBM: "tiens si j'utilisais NaN comme un NULL pour les cas pas encore calcules?"

BlaiseEbuth: :thinking:

dbdr: je vais ça...

dbdr: *fais

Default avatar.png JBM: quand ton code a deja tendance a generer du NaN, c'est probablement pas malin

dbdr: je code bien, moi ;)

Default avatar.png JBM: et tu maitrises l'art divin de la stabilite

**dbdr ducks

dbdr: fun fact: 2 fois sur trois, je tape /dbdr au lieu de /me

Default avatar.png JBM: le nracissique

dbdr: c'est surtout que c'est ce qui s'affiche

Default avatar.png JBM: soigne-toi au /flip

dbdr: /flop

pb4: Yop

pb4: J'ai un bug, et un gros doute d'un coup...

Default avatar.png JBM: dis-nous tout

BlaiseEbuth: :ear:

pb4: for(int i = 0; i < 100; ++i) { if(check(i)) { i -= 1; continue; } doStuff(); }

pb4: doStuff est appelé exactement 100 fois ?

pb4: Mon gros doute : est-ce que le continue fait "skip" le ++i à la fin de la boucle ?

Default avatar.png JBM: j;aurais dit oui

Default avatar.png JBM: non

pb4: Vous me rassurez

pb4: donc mon bug est ailleurs :D

pb4: tu*

Default avatar.png JBM: https://ideone.com/6xihC8

Alshock: s'il skippait l'incrmentation il ferait systématiquement une boucle infinie de toute façon non ?

Alshock: enfin quand le continue est déterministe et ne dépend que du i

Default avatar.png Quentin1234: bonjour comment pourait on faire si on n'a plein de nombre et on veut trouver les deux nombre les plus proche

Alshock: @Quentin1234 comment tu pourrais trier les nombres pour que les nombres proches soient à côté les uns des autres ?

Default avatar.png Quentin1234: par odre croissant

Alshock: ça me semble une bonne réponse

Alshock: tu sais comment faire ça ?

Default avatar.png Quentin1234: je fait sa avec un tableau

Default avatar.png Quentin1234: ou une list

Alshock: yep, et ton langage a forcément une fonction pour les trier, sauf ptêtre si t'es en C

Default avatar.png Quentin1234: nn je suis en C#

Alshock: pas de souci alors

Default avatar.png Quentin1234: tu pense que c quoi le mieu entre list et tableua je dirai list moi nn?

Alshock: pour le coup tu t'en fiches

Default avatar.png Quentin1234: okk bah je vai essayer avec une list merci de ton aide

Alshock: de manière globale les listes sont mieux pour insérer/retirer des éléments et les tableaux sont mieux pour accéder au nième élément

Alshock: mais là tu vas pas avoir un besoin de perf assez grand pour que les différences de complexité t'atteignent

Default avatar.png Quentin1234: ouai mai apres il faut aussi trouver comment savoir quel nombre son les plus proche:thinking: mai je fait reflechir

Alshock: pssst, itère sur les éléments du tableau et compare les avec l'élément suivant ;)

Default avatar.png Quentin1234: pour l'instant j'ai une list avec tout les nombre par ordre croissant

dwarfie: donc le boulot est fini :D

Default avatar.png Quentin1234: heu presque j'ai pas trop bien compris comment trouver les nombre les plus proche

dwarfie: si ta liste est A,B,C,D,E,F .... y'a juste a compare B-A avec C-B avec D-C ....

dwarfie: forcement C sera pas plus proche de A que B

Default avatar.png Quentin1234: ok c'est bon j'ai trouver merciii

Alshock: gg wp

Default avatar.png Quentin1234: j'ai fait sa avec une boucle for

TidyMaze: dbdr et Snef pas très sympa de me depasser sur TvsC :D

Default avatar.png JBM: ameliore ta random

Snef: TidyMaze j'ai rien submit depuis le 20 moi :p

dbdr: TidyMaze, tu timeoutes il me semble

dbdr: dans le cas 50

Snef: dbdr tu as quoi sur TvC ?

dbdr: un algo super secret :)

Snef: lol

Zorg1: taupe si crête

Default avatar.png JBM: se cree des fances

257832: Tu veux dire que les punks sont des espions ?

Zorg1: ça existe encore les punk à crête ?

BlaiseEbuth: Ils sont partout

Zorg1: qui sont ils ? quels sont leurs réseaux ?

Zorg1: bon c'est pas tout ça faut que j'adapte mon code CSB à SR

BlaiseEbuth: SR?

Zorg1: le dernier puzzle à la mode pour les CSB maniaque

Zorg1: https://www.codingame.com/multiplayer/optimization/search-race

dbdr: ne pas ouvrir ce lien

BlaiseEbuth: L'avais même pas vu passer

dbdr: wth

Zorg1: bah hier j'avais vu des conversations qui parasitaient le chat Troll & Castle

Zorg1: je suis donc aller voir

dbdr: deux ptis jeunes qui ont amélioré mon record sur CotR

dbdr: aucun respect

Alshock: ça c'est la nouvelle génération, depuis que wikipédia a supplanté les armes à feu et la mafia, ils respectent plus rien

Zorg1: c'est la faute aux haqueurs d'entrenette qui respectent plus rien :(

Zorg1: quoique "entrefilet" aurait plus marrant

Alshock: ouais ces gens qui jouent à minecraft toute la journée à en devenir violent

Alshock: etretoile plutôt non ?

Alshock: entretoile*

Zorg1: inter => entre net => filet

Zorg1: sans bavure

Alshock: ah aprdon oui en effet

Alshock: mais pourquoi se refuser un petit bavouilli ?

Alshock: en tout bien tout honneur

dbdr: voila une phrase d'Alsrock qui a alimenté à fond les moteurs du Heart of Gold

Alshock: j'avoue piteusement ne même pas savoir ce que c'est

Zorg1: bon une mousse et une idée pour l'opti CSB

Default avatar.png JBM: :beer:

Alshock: mouuuuuuuuuuuusse

Zorg1: :beers:

Alshock: putain c'est vraiment le club des alcooliques anonymes ici :P

Zorg1: 'anonymes'

Zorg1: on a tous des pseudos

dbdr: Alshock, https://hitchhikers.fandom.com/wiki/Infinite_Improbability_Drive

dbdr: "depuis que wikipédia a supplanté les armes à feu et la mafia", ça rank assez haut dans mon phraseimprobablometre

Zorg1: je vois que tu refuses de voir la vérité en face dbdr

dbdr: non, ce n'est juste pas la vérité. (Source: Wikipedia)

Zorg1: c'est l'univers parallèle qui essaie de nous mettre en garde. c'est vachement quantique comme process

Zorg1: la Vérité c'est si y a une solution simple, ben elle est fausse et faut préférer la solution avec des extra terrestres et un complot mondial

Zorg1: J'ai regardé tous les AlienTheory, je sais de quoi je cause

Alshock: @Zorg1 oh tu sais aux alcooliques anonymes on a tous des prénoms, si j'en crois les représentations du Cinéma :P

Zorg1: Bonjour Alshock !

dbdr: “In the beginning the Universe was created. This had made many people very angry and has been widely regarded as a bad move.” Comme première phrase d'un bouquin, je sais pas si on peut faire mieux.

BlaiseEbuth: Y'a deux phrases.

dbdr: :door:

Alshock: Et c'est la deuxième qui est bien

Zorg1: c'est comme commencer un projet, t'as plein de gens qui discutent dans le vide et qui tombent tous sur le pauvre pékin qui commence à mettre deux trois bugs en gestion de version

dbdr: Alshock: oui, mais la deuxième sans le première, il comme qui dirait manquerait qqch pour comprendre :D

Alshock: comme l'a dit j'sais plus qui "si débuguer est l'action qui consiste à retirer les bugs du code, c'est bien que coder est l'action qui consiste à les y insérer."

BlaiseEbuth: Pour ce genre de phrase, il faut regarder Good Omens

Zorg1: L'ENTROPIE DOIT AUGMENTER !

b0n5a1: o/

Zorg1: c'est écrit

Alshock: dbdr c'est le problème avec vous les commencialistes, vous avez toujours besoin que le début soit avant le milieu

Zorg1: \o

Alshock: \o

BlaiseEbuth: C'est débile, le temps est circulaire

Zorg1: donc carré

Alshock: avec des scies

Zorg1: en dents de scie ?

BlaiseEbuth: Avec des scies on mettrait Alshock dans une bouteille. Ou une seule, si elle coupe bien.

Alshock: tu connais pas les scies reculaires ? C'est carré

Alshock: @BlaiseEbuth ça dépend de la bouteille, si c'est du bon je veux bien arrondir les angles

dbdr: Alshock: c'est pas commencialiste, c'est Aristotélien

Alshock: moi aussi avant, j'étais aristotéllurique

dbdr: "Le tout est composé d'un début, d'un milieu et d'une fin"

dbdr: on apprend plein de trucs dans Kaamelott :)

Alshock: c'est aps faux

Alshock: cette phrase de vrait être bannie de l'Univers observable

Zorg1: "les meilleurs citations d'Aristote dans Kaamelott"

BlaiseEbuth: Aristote a dit beaucoup de choses. Mais y'a pas grand chose à garder...

Zorg1: je préfère Platon, au moins lui en deux trois mouvements il te racontait des histoires à dormir debout dont on parle encore

Zorg1: *deux temps

dbdr: Zorg1, retourne dans ta caverne tout de suite!

Zorg1: je fais voile vers l'Atlantide

Zorg1: faire le plein d'orichalque

b0n5a1: erf Zorg1 y'avait un doc cet apreès midi sur des mecs qui cherchait l'Atlantide au sud de l'Espagne, avec James Cameron ^^

b0n5a1: en cherhant l'emplacement en se basant sur Platon ^^

Alshock: Y a beaucoup à garder de ce qu'a dit Aristote, mais comme tous les vieux penseurs d'un point de vue scientifique tout ce qu'il a observé a été amélioré depuis

Alshock: les trucs qui nous reste c'est genre les 5 sens, et il en manque un paquet qu'il était difficile de différencier à son époque

dbdr: Zorg1, il connait aussi bien la culture greque classique que les grands auteurs russes. Respect!

Zorg1: euh j'ai jamais lu "Guerre et Paix" ou tous les auteurs russes

BlaiseEbuth: Moi aussi j'connais MK...

Zorg1: ah celui là

Zorg1: :D

Alshock: pourquoi j'ai pas tous les messages sur tous les onglets avec ce chat ouvert ?o.O

Zorg1: je sais pas moi je suis toujours sur le webchat

Zorg1: avec CG ouvert dans cinq onglet

Zorg1: dès que quelqu'un aprouve/refuse c'est le carillon

b0n5a1: tain y'a un mec dehors qui arrête pas de gueuler "viens là, viens ici, allez hop, dépèche toi"...je regarde en me disant y'a un chien qui s'en fout...non le mec gueule après sa gamine :joy:

dbdr: Zorg1: ou c'était les peintres?

Zorg1: les peintres je les ai découvert en faisant mes conneries d'ailleurs

Zorg1: je ne connaissais pas Repine

Alshock: @b0n5a1 comment on fait la distinction ?

Zorg1: et d'autres

Alshock: @Zorg1 je suis pareil, je crois que c'est parce que mon ternet a coupé tt'à l'heure

b0n5a1: entre la fille et le chien Alshock ?!?

b0n5a1: y'en a un des deux qui a une robe

b0n5a1: https://mi0.rightinthebox.com/images/384x384/201410/sqaafe1413512165454.jpg

BlaiseEbuth: https://vignette.wikia.nocookie.net/fma/images/3/38/Nina-profile.png/revision/latest?cb=20181221231634

b0n5a1: arf ça me fait penser à Ame et Yuki les enfants loups

Alshock: C'est du Berserk ou quoi ?

BlaiseEbuth: FMA

Alshock: ouais google dit comme toi

BlaiseEbuth: Cette scène m'a traumatisé...

Alshock: moi c'était princesse mononoke

BlaiseEbuth: La première fois j'ai arrété la série là

BlaiseEbuth: Cest genre l'épisode 2

Zorg1: princesse monocle ?

Alshock: c'est la fille qui a inventé le monocoply

Zorg1: le jeu à boire pour tous

Zorg1: petizégran

Alshock: ma télé ne boit pas

Zorg1: elle te cache des trucs on dirait

Alshock: oui, un bout de mon mur, mais je lui pardonne

Zorg1: :thinking:

Zorg1: Automaton2000 ton avis ?

Automaton2000: oui, mais il est en train de me dire que j'ai une fonction qui prend un peu de temps

Zorg1: faut enlever ton sleep(2) aussi Automaton2000

Automaton2000: tu veux le faire en bash

Zorg1: pas bête Automaton2000

Automaton2000: juste un petit coup de pouce ?

Alshock: Hum, je suis complètement déboussolé devant un bug

Alshock: Alors le petit coup de pouce je veux bien :

Alshock: Program received signal SIGSEGV, Segmentation fault. mcount () at ../sysdeps/x86_64/_mcount.S:31 31 ../sysdeps/x86_64/_mcount.S: No such file or directory.


Alshock: qu'est-ce que je dois comprendre dans ce putain de quoi ? C'est même pas à la compilation, j'ai un output qui marche, mais c'est quoi cette trace de mort ?

Alshock: enfin, on s'en doute vu que j'ai copié le fait que c'est un segfault

jolindien: comme par hasard

Default avatar.png JBM: t'as upgrade ton systeme depuis la compile? :)

Alshock: bah je.. non.

Alshock: ça bug chez moi et pas sur cg hein, mais j'ai bien ma lib et tout je comprends pas trop ce qui lui arrive. M'enfin, un jour je trouverai

Alshock: (mes faux pas mes maladresse)

Default avatar.png JBM: t'as branche n'importe ou?

Alshock: ça sûrement :D

Alshock: alors

Alshock: apparemment, ça pourrait venir d'une boucle infinie o.O

Default avatar.png JBM: euh...

Default avatar.png JBM: detectable par le compilo?

Alshock: c'est pas le compilo

Alshock: c'est pour ça que je trouvais ça incroyable, il me lacahit un "file does not exist" en plein run

Alshock: et en fait le coupable c'était dist(other) {return (sqrt(dist(other);)}

Alshock: -;)+);

Alshock: -;)+));

Magus: c'est quoi la signature de dist ?

Magus: (la signature exacte, parce que dist(other) je suppose que c'est pas ça)

Alshock: double Point::dist(Point const& other) const

Magus: ah ouai mais t'as fait une recursivité infinie en fait

Magus: tu m'étonnes que ça plante

Default avatar.png JBM: t'as une conversion de point a double?

Alshock: ah que ça plante ouais

Alshock: mais j'ai pas compris le message qui me dit qu'il me manque un fichier

Default avatar.png JBM: ah non j'ai rien dit j'ai lu a l'envers

Default avatar.png JBM: je me demande si t'es pas dans un cas chelou d'UB

Default avatar.png JBM: c'est reproductible?

Alshock: euh ailleurs que chez moi j'sais pas,

Default avatar.png JBM: juste chez toi

Default avatar.png JBM: pas forcement le message de fichier, mais un crash chelou

Alshock: ah oui d'ailleurs c'était surement parce que Ofast omit-frame-pointer unroll-loops

Alshock: je tente voir

Zorg1: dans la stacktrace C++ il essaie d'afficher la ligne qui plante ? ça expliquerait le message

xXDelimaXx: wesh les gars

Alshock: Bah C++ il te dit juste que t'as segfault

Alshock: yop

Alshock: GDB lui il te dit mcount () at ../sysdeps/x86_64/_mcount.S:31 31 ../sysdeps/x86_64/_mcount.S: No such file or directory.


Zorg1: oui mais il te dit que c'est dans mcount_.S et il essait de l'ouvrir pour afficher la ligne

Alshock: avec juste ça je reproduis bien le même comportement

Alshock: http://chat.codingame.com/pastebin/804ce8ac-ce44-48a6-b39b-59f01586d7d8

Zorg1: hors le fichier a un path en relatif donc il ne peut pas l'ouvrir ^^

Default avatar.png JBM: *or

Zorg1: oups

Default avatar.png JBM: spece de gamin sms

Alshock: or de ma vue

pb4: bah

pb4: Magus n'a pas raison ?

Zorg1: c'est pas heureux en sms de remplacer un truc de 2 lettres par 4

pb4: dist / dist2

Alshock: oui ça l'origine du bug j'ai compris et fixé, c'est l'origine du message d'erreur qui m'intrigue

Zorg1: (je crois que ce qui étonnait Alshock c'était plutôt l'erreur d'I/O dans les traces)

Default avatar.png JBM: verifie l'asm

Alshock: x.o

pb4: Ok

Default avatar.png JBM: soit il s'est rendu compte que ca pouvait pas terminer et il a "optimise" ca

pb4: Je retourne dans ma tanière :)

Alshock: JBM demande moi d'ouvrir le nécronomicon direct

Alshock: @pb4 non reste moi j'aime bien quand t'es là

JoPich: Salut à tous,

Alshock: Yo jo

Default avatar.png JBM: soit t'as empile tellement de stack que t'as boucle et... j'ai pas de suite d'explication la

JoPich: Comment on fait pour savoir quel est le puzzle de la semaine ?

Default avatar.png JBM: pb4: je m'en vais si tu restes!

Default avatar.png JBM: (23:13:25) pb4 a quitté le salon


Default avatar.png JBM: bon echec

Alshock: JBM: Soit t'as soit t'as empile tellement de stack que t'as empile tellement de stack que t'as empile tellement de stack que t'as empile tellement de stack que ...

Zorg1: ils ont l'air de dire que _mprof c'est une instrumentation utilisé par gprof

Zorg1: pardon mcount

Alshock: ah pute, c'est vrai, j'ai laissé trainer un -pg

Alshock: yep sans ça de suite ça marche mieux

Zorg1: oui enfin une récursion infinie reste une récursion infinie

Alshock: désolé d'avoir encore créé un sur-bug que j'ai pas compris bêtement pas inattention x.o

Zorg1: c'est un bug quand même :D

Alshock: http://chat.codingame.com/pastebin/6cc0b4c1-b7c8-4b5c-a352-5f19137a163c

Zorg1: (enfin sauf bien sûr dans une approche théorique où tu veux modéliser des trucs tordus avec)

Alshock: genre simuler la surpopulation humaine sur la Terre en accéléré ?

Default avatar.png JBM: c'est UB

Default avatar.png JBM: "infinite loop without side-effects"

Default avatar.png JBM: estime-toi heureux d'avoir eu qu'un "file not found"

Default avatar.png JBM: c'est comment le INT_MIN de Java?

257832: Tu décrémentes jusquèà ce que ça plante.

Default avatar.png JBM: et en O)lgN)

Default avatar.png JBM: ?

Default avatar.png JBM: 257832?

Default avatar.png JBM: et mince, encore un que j'ai fait fuir

BlaiseEbuth: Oh bah en java tu dois pas en être loin :grin:

Alshock: O(lgN) ça pourrait faire un bon nom russe

BlaiseEbuth: http://letmegooglethat.com/?q=minimum+integer+value+java

Default avatar.png JBM: ah merci 257832 heuseusement que t'etais la

Default avatar.png JBM: donc faut juste taper la constante, esperer qu'il y ait pas de blague de parsing comme en C

Alshock: ya pas de blague de parsing en C

Default avatar.png JBM: y'a plus?

Alshock: enfin à part si tu commences par 0

Alshock: j'ai jamais connu, tu peux me décrire la blague de dinosaure non avien ?

Default avatar.png JBM: je te la reproduis

Alshock: tu parles meilleur de ma maman

Zorg1: z'êtes en train de faire peur aux gars qui veulent nous signaler qu'il y a un bug dans les validateurs de descent, là ... :(

Default avatar.png JBM: j'arrive plus a reproduire :( ils ont fix?

Alshock: xD passé les 8 milliards ils se sont dit qu'il était temps de patch la fork-bomb

Alshock: désolé Zorg1, mais je suis bienveillants moi faut pas qu'ils aient peur

Alshock: -s

Zorg1: oui c'est BlaiseEbuth qu'est méchant :smiling_imp:

BlaiseEbuth: Comme dirait AutomatonNN: "Oui"

AutomatonNN: pour la lecture des codes de contest c'est pas trop compliqué de faire un truc du genre :p

Alshock: j'avoue, je vais rajouter des :P dans les inputs

Default avatar.png JBM: ah je l'ai

Default avatar.png JBM: question piege, donc: qu'affiche la ligne de C++ suivante?

Default avatar.png JBM: cout << 0xE+0 << endl;

BlaiseEbuth: cout is not defined in this scope

Alshock: hummm j'imagine que c'est pas du tout 14

Default avatar.png JBM: trop simple

Default avatar.png JBM: mais c'est toi qui disais qu'il y avait pas de blague de parsing

Default avatar.png JBM: alors j'oblige

Alshock: euh, je disais ça pour le C seulement :whistle:

Alshock: ok j'avoue tu vas me mettre au sol avec double fracture des disques, ça donne quoi cette chose ?

Default avatar.png JBM: oui oui que pour C https://ideone.com/k4MK68

Default avatar.png JBM: (pareil qu'en C++)

Alshock: Ah mais en vrai ça se défend presque

Default avatar.png JBM: mais en c++ j'ai l'avantage de pas avoir a decider du typ ede l'expression

Alshock: j'ai eu peur que ça te sorte un nombre du démon

Default avatar.png JBM: de toute maniere ca atteint pas la phase typage

Alshock: si c'est juste un crash c'est pas si grave

Default avatar.png JBM: c'est pas grave non

Default avatar.png JBM: c'est juste "une blague de parsing"

Default avatar.png JBM: et y'en a d'autres

Alshock: naaaaan mais tu vois + est une caractère de parsing tout à fait normal sur les nombres alors forcémeeeent

Alshock: il fait chaud là d'un coup non ?

Default avatar.png JBM: atta j'en ai une autre

Alshock: oskur

Alshock: ok je m'amende finalement le JS c'est très bien et le C c'est de la merde pitié, épargnez les femmes et les enfants ! :P

Default avatar.png JBM: mmm... c ou c++

Default avatar.png JBM: disons c

Zorg1: ça fait un peu cabinet des curiosités ce genre de truc

Zorg1: en plus c'est mal spécifié ou c'est une implem foireuse du compilo ?

Default avatar.png JBM: c'est specifie

BlaiseEbuth: les hexa s'utilisent avec %x

Zorg1: ok

Alshock: ça dépend, là c'est de l'hexa en entrée pas forcément en sortie

Zorg1: non c'est le 'E' qui doit embrouiller le parsing

Zorg1: il doit se demander si c'est un float ou un truc dans ce gout là à mon avis

Default avatar.png JBM: exactement

Default avatar.png JBM: le point va a Zorg1

Default avatar.png JBM: BlaiseEbuth prend une penalite "hors sujet"

BlaiseEbuth: Wé !

Alshock: prog.c:4:18: error: hexadecimal floating constants require an exponent

 printf("%d\n", +0x1.E-1);

Alshock: là j'suis perdu

Alshock: ah bah non pareil, il le prend comme décimale, ok

BlaiseEbuth: En même temps qui écrit des const hexa

Alshock: mais c'est pas un P pour les puissance de'hexa justement pour éviter ça ?

Alshock: tous les gens qui écrivent du RGB @BlaiseEbuth

Zorg1: je ne savais même pas qu'on pouvait définir des constantes flottantes en hexa ...

BlaiseEbuth: Donc personne, c'est ce que je dis

Default avatar.png JBM: et les gens qui surfent sur la frontiere de la representabilite

Zorg1: (enfin en C)

Alshock: on peut, et quand on les affiche avec printf c'est une BLAGUE

Zorg1: t'as 3 chiffres non hexa là :p

Alshock: ?

Default avatar.png JBM: ok vous etes prets?

Default avatar.png JBM: 10s pour repondre apres j'envoie le lien ideone: http://chat.codingame.com/pastebin/9654c5d5-829e-476c-9e46-b1ef7b728158

Default avatar.png JBM: https://ideone.com/MBPyED

Alshock: hummmm

Alshock: je regarde pas le lien mais je pense que ça overflow assez pour valoir zéro selon atoi

Alshock: et ils sont bien capable de lire le parsing avec atoi :P (non)

Default avatar.png JBM: (23:43:41) Alshock: ya pas de blague de parsing en C

Default avatar.png JBM: je vais l'encadrer

Alshock: attends

Alshock: y a pas d'erreur à proprement parler là

Default avatar.png JBM: personne n'a jamais parle d'erreur

Alshock: le preprocesseur a peut-être juste des bigints

Default avatar.png JBM: c'est un int representable, je le prouve une ligne au-dessus

Alshock: J'suis désolé mais le précédent est insauvable

Alshock: ah c'est l'INVERSE

Zorg1: ah mais le précompilateur il les traite comment les nombres ;-)

Alshock: ah ok, quand t'as mis dans un intmax_t il a recast en LL auto et pas quand il est en flottant où c'est un int par défaut c'est ça ?

Zorg1: petit malin

Default avatar.png JBM: intmax et ll c'est probablement la meme chose

Alshock: enfin en flottant dans le sens sans variable

Default avatar.png JBM: Zorg1: en intmax_t, mais differemment

Alshock: oui mais je veux dire il a compris que la litérale devait être castée en LL

Default avatar.png JBM: y'a pas de cast

Default avatar.png JBM: c'est du sll natif d'un bout a l'autre

Alshock: devait être comprise comme LL

Alshock: bah keud

Alshock: https://ideone.com/rUCS6g Je pensais vraiment que ça ferait pas ça

Alshock: mais euh du coup.... Qu'est-ce que putain de quoi ?

Alshock: comment se peut-ce ?

Default avatar.png JBM: les literaux sont des entiers naturels

Alshock: j'avoue avoir du mal à suivre

Alshock: ah tu veux dire que le mmin est pris en positif et overflow avant que le signe moins soit appliqué

Default avatar.png JBM: utilise INTMAX_C(-9223372036854775808) si la variable est un intmax_t

Default avatar.png JBM: voila

Default avatar.png JBM: ce signe moins ne fait pas partie du literal

Default avatar.png JBM: c'est l'operateur negation sur les (signed) intmax_t

Default avatar.png JBM: mais l'entier naturel n'est pas representable

Alshock: ok

Default avatar.png JBM: le compilo, en toute serviabilite, te le prend quand meme, modulo 2^63

Default avatar.png JBM: puis * -1

Default avatar.png JBM: l'est-t pas joueur?

Alshock: attends, mais euh, comment ça marche le 0 * -1 = LL_MIN ?

Default avatar.png JBM: ca fait pas ca

Alshock: enfin je veux dire comment ça marche dans le code

Default avatar.png JBM: comment ca

Alshock: ah oui non il l'a pas touchée la littérale dans le code

Alshock: désolé j'ai le cerveau qui fume

Default avatar.png JBM: j'arrive pas a reproduire le cas intmax_t = -NNNNN qui underflow

Default avatar.png JBM: mais je crois que c'est juste les compilos qui sont trop sympas: dans la norme pour le C non preproc aussi les literaux sont des naturels

Alshock: hum bah si c'était le cas on devrait pas être incapable de représenter INTMAX_MIN

Alshock: qui ne s'appelle probablement pas comme ça

Default avatar.png JBM: differemment

Default avatar.png JBM: si

Alshock: INTMAX_MAX + 1 ?

Default avatar.png JBM: le contraire je pense

Default avatar.png JBM: (-INTMAX_MAX-1)

Default avatar.png JBM: overflow c'est probablement UN aussi

Default avatar.png JBM: *UB

Alshock: ouais mais bon, théoriquement les bitwise sur des négatifs c'est pas censé être UB en C ?

Alshock: donc bon ya UB et UB

Default avatar.png JBM: ah? je savais pas

Default avatar.png JBM: ah, attends, je m'approche

Alshock: Bah je crois que la norme n'impose pas le complément à 2

Default avatar.png JBM: les recentes si

Default avatar.png JBM: mais c'est un autre souci

Alshock: ah ouais mais après 89 c'est plus vraiment du C

Default avatar.png JBM: ca voudrait juste dire que la norme te dit pas ce que t'auras en faisant du | &

Default avatar.png JBM: mais ca peut tres bien etre parfaitement specific par le compilo

Default avatar.png JBM: (et je pense que ca l'est)

Default avatar.png JBM: *specifie

Alshock: ouais anéfé

Default avatar.png JBM: gcc a du __int128 natif

Default avatar.png JBM: banzai

Default avatar.png JBM: j'y crois

Default avatar.png JBM: je vais me faire peter ca hors preproc

Alshock: tu vas te faire péter la géode ?

Default avatar.png JBM: d'ailleurs jvais utiliser le & ^^

Default avatar.png JBM: https://ideone.com/h3dlQ5

Default avatar.png JBM: c'est quand meme beau, non?

Alshock: errrr c'est quoi PRIx64 ?

Default avatar.png JBM: mm faudrait que je verifie sur un negatif quand meme

Default avatar.png JBM: c'est la forme de %d qui correspond a int64_t

Alshock: et surtout, pourquoi 2a ?

Default avatar.png JBM: oui jvais mettre un negatif a la place

Default avatar.png JBM: voila https://ideone.com/h3dlQ5

Default avatar.png JBM: effectivement j'avais un bug

Alshock: mais pourquoi les deux suivants donnent positif alors ?

Default avatar.png JBM: toujours la meme raison

Default avatar.png JBM: j'ai baisse a 2^63, on observe mieux, reloade

Alshock: mais ce qui me perturbe c'est que même avec la troncature du ull, avec & (1 << 127) ça devrait systématiquement remettre le signe à 1 ? Ou alors 1 << 127 c'est une littérale ?

Alshock: J'suis pas rapide moi aujourd'hui

Default avatar.png JBM: d'ailleurs ici on est demain

Alshock: efffectivement, vivement la semaine prochaine

Default avatar.png JBM: jsuis deja meme pas sur de comprendre la repreesentation du -1

Alshock: %064

Alshock: c'est 4 bits par digits, pas 2

Alshock: pas 1*

Default avatar.png JBM: aaaha mais oui

Default avatar.png JBM: merci

Default avatar.png JBM: vala c'est beaucoup mieux

Default avatar.png JBM: tout ca pour dire

Default avatar.png JBM: te rate pas sur la norme quand t'ecriras ton compilo C

Alshock: alors déjà le jour où j'écris mon compilo C

Alshock: le monde est dans la mouise

Default avatar.png JBM: C c'est pas trop dur pourtant

Default avatar.png JBM: y'a beaucoup de niveaux alternants de lecture sur le dicton "le C c'est de l'assembleur portable"

Alshock: Si t'écris le compilo C tu dois faire les warnings de printf, et faire quoi que ce soit qui a à voir avec cette horreur déjà, je refuse

Default avatar.png JBM: mais c'est ultra plus facile que C++

Default avatar.png JBM: ou Haskell

Default avatar.png JBM: ou jav aftm

Alshock: je suis d'accord que c'est conceptuellement plus facile

Default avatar.png JBM: *java

Alshock: mais tellement fucking laborieux

Default avatar.png JBM: ben pas tant que ca justement

Default avatar.png JBM: t'es pas oblige d'ecrire un optimiseur trois couches pour avoir une implem conforme

Alshock: C'est simple je dois écrire en C des trucs qui devrait être modulables, bah je passe une partie de ma vie à réinventer les classes

Alshock: c'est toujours une sacré aventure

Alshock: ah pardon tu parlais toujours du compilo pas du langage

Default avatar.png JBM: oui

Alshock: en même temps si tu fais un compilo Java t'as rien à faire :P

Default avatar.png JBM: pardon?

Alshock: techniquement tout le code est transpilé puis compilé on the fly par la jvm non ? Avec gros risque d'erreur de ma part, j'avoue que le monstre de la JVM j'en comprends même pas les différentes couche

Default avatar.png JBM: tu joues sur les mots

Default avatar.png JBM: la jvm on-the-fly du bytecode

Default avatar.png JBM: faut deja le generer

Alshock: ouais mais ça a l'air compliqué alors c'est pas mon boulot :p

Default avatar.png JBM: ton boulot c'est de...?

Default avatar.png JBM: changer la couleur de la barre de titre?

Alshock: d'embêter les gens qui ont 10 fois mon niveau en mettant dix minutes à comprendre des overflows qu'on m'a déjà appris 4 fois

Alshock: Ouais la barre de titre ça me va, mais je demande un mois

Default avatar.png JBM: ameliore ton csb sinon :p

RomanceDawn: bah le y a pas tellement de concept abstrait à connaitre pour en faire

RomanceDawn: le C *

Alshock: C'est factuellement vrai, mais du coup on se sent vite à l'étroit, on se rend compte que les trucs compliqué parfois c'est plus simple que la même chose avec des outils simples

Alshock: mon CSB c'est ce que j'étais en train de faire avant de faire de la merde sur le chat

Default avatar.png JBM: fix ton tvc alors

Alshock: bah non je suis loin d'avoir fini mon csb laisse moi un mois :P

Alshock: et puis tvc tant qu'il n'y a pas d'arbres ça m'intéresse pas

Default avatar.png JBM: la legend sera plus si facile a atteindre dans un mois

Default avatar.png JBM: arg

Default avatar.png JBM: j'ai toujours pas recu de contrib O:-)

Alshock: on peut en faire sur cg ou c'est des PR git ?

Default avatar.png JBM: tu les fais ou tu veux tant que je les recois :p

Default avatar.png JBM: ah ca me revient

Default avatar.png JBM: j'ai eu les int overflows en tete parce que je me demandais pour tvc

Default avatar.png JBM: "si le joueur qui envoie intmin est le #2, qui a un facteur multiplicateur -1"

Default avatar.png JBM: "...il risque de pas pouvoir tricher autant que le joueur 1 et c'est pas juste"

Default avatar.png JBM: je pouvais pas laisser mon referee avec une telle incertitude

Alshock: putain je voulais faire un arbre sous gnome paint mais j'arrive même pas à déplacer une sélection xD

Default avatar.png JBM: c'est pas gagne

Alshock: J'ai... J'ai fait ma mona lisa

Default avatar.png JBM: elle peignait?

Alshock: à respirer

Alshock: https://imgur.com/a/hVTRYNx

Alshock: ose prétendre que tu n'es pas subjugué

Default avatar.png JBM: euh

Default avatar.png JBM: c'est beaucoup trop beau

Default avatar.png JBM: ca va pas du tout avec le style

Alshock: Ah ah ah, j'ai tenté de faire mon dessin dégueulasse le plus appliqué possible

Default avatar.png JBM: mais c'est pas degueulasse du tout ca

Default avatar.png JBM: t'as meme deux couleurs pour le tronc!

Default avatar.png JBM: bon je peux la prendre si je trouve pas le temps de faire pire

Alshock: c'est à ça qu'on reconnait les génies

Default avatar.png JBM: mais j'attendais mieux de toi

Default avatar.png JBM: je me demande si le vert de l'arbre est pas super proche de ceuli de l'herbe

Default avatar.png JBM: va ptet me falloir un contour aussi

Default avatar.png JBM: oh je dois pouvoir eclaircir l'herbe un peu au pire

Default avatar.png JBM: tiens, on peut pas faire de static inner inner class en java?