the problem is v += d propagates the whole expression to double. so we somehow need to convert v to double, do the <asop> 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