const
, but as of FLINT 1.5.0 this generates a compile-time warning. const
, but as of FLINT 1.5.0 this generates a compile-time warning. Implement some form of lazy evaluation. One strategy would be to change the representation of a rational function in the case of the zero function to NULL
. This gives savings on initialization and checking whether a function is zero. Note that it is typically unlikely that an arithmetic operation on two functions yields zero, which is the only case in which this design choice yields extra work. Another approach would be to implement a delayed initialization of both the numerator and denominator. In either case, the methods providing direct access to the underlying polynomial objects would require more care.