Frequently Asked Questions - xflouris/libpll GitHub Wiki

Can I use libpll for my project?

Yes. libpll is especially interesting for those projects where the intersection among the project's requirements and the features described in this wiki is not empty.

When I call pll_xxx function, it returns PLL_FAILURE and it does nothing.

There are many different reasons why the calls might fail. pll_errno and pll_errmsg probably contain useful information about what happened.

When I call pll_xxx function, it raises an assertion fail error and everything stops.

An assertion may fail in the following cases:

  1. Make sure that you check the return values of the calls to the library. Perhaps something has failed before and it was ignored, and the partition instance is not consistent.
  2. Make sure that you are not updating the library structures directly (e.g., partition->prop_invar[0] = 0.5). Some actions can break the consistency of the partition.
  3. There is also a (very very low) probability that there is an error in the library. If you have already verified the previous points, an assertion should never raise, so let us know such that we can fix it.