On [Sat, 09.01.2010 16:18], [email protected] wrote: > > > Treating this correctly would require attaching a type to every element > on the stack, I think something like > > struct stack_element_t { > enum type { BOOL, INT, REAL } t; > double v; > } stack[NSTACK+2]; > > and a set of suitable predicates/accessors would do the job, some > additional checks for numerical constants and return values would be > required too. I don't know if this is considered neccessary. As far as > I can see the current approach works well for all valid type 4 functions. > However, it also treats obviously invalid type 4 functions as valid ones. > I don't think that fixing this requires too much effort. > > I would go in that direction. It is much better to clearly identify > the type of the elements in the stack. Error checking and management > of invalid functions is as important as the management of correct > functions. > > I just created a flyspray task for this problem. Would you like to > fix it yourself? In that case, please pick the task. Ok, so I will pick this one and the type 4 unit tests.
> [...] > As for the tests, please don't use system functions like mod_f > directly, but create a pdf_fp_mod function for that purpose in > pdf-fp.[ch] (see pdf-fp.h for examples like sqrt, sin, cos, etc). Ok. Regards, Johannes -- Johannes Tax [email protected]
