From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <23b1f2e6bdd7d080c9c1ce27478716d0@felloff.net> Date: Sun, 13 Sep 2015 16:23:36 +0200 From: cinap_lenrek@felloff.net To: 9fans@9fans.net In-Reply-To: <9f4dd8c69f9f67abcba0a3bfc69bfcf9@brasstown.quanstro.net> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] kenc vlong double Topicbox-Message-UUID: 6a381494-ead9-11e9-9d60-3106f5b1d025 the problem is v += d propagates the whole expression to double. so we somehow need to convert v to double, do the then convert back but return the double result. i tried (unsuccessfully) to come up with something like this below in com64, but i dont know what i'm doing and someone who knows kenc better can probably solve this by deleting some code instead of adding more: OCOMMA( OAS(ONAME(t, TDOUBLE), OFUNC(_v2d, ONAME(v, TVLONG))), OASADD(t, d), OCOMMA( OAS(ONAME(v, TVLONG), OFUNC(_d2v, ONAME(t, TDOUBLE))), NAME(t, TDOUBLE))) the good news is that double and float are the only cases where this can happen i think. and its rather silly code, so maybe it should just give up and throw a error message. lets see what charles thinks about this. -- cinap