I am currently using the Python wrapper of the camb version of August 2017. There is a thing that from the documentation is not clear (at least to me): in the function

*camb.get_matter_power_spectrum*there's written "If NonLinear is set, the result is non-linear".

If I ask for, let's say, the non-linear P_cdm(k), without neutrinos, what does the routine do?

Does it apply HALOFIT to the total matter and then only returns the cdm part? i.e.

HF[P_linear_m(k)] ---> non-linear P_cdm(k)

or it applies HALOFIT directly to the linear cdm power spectrum? i.e.

HF[P_linear_cdm(k)] ---> non-linear P_cdm(k)

If something in my question is not clear, please tell me

Thanks a lot

Gabriele