What is primcyclo and cyclotomic?



Bug 1449163 ratsimp(exp(%pi*%i/9)/(x-2)^(1/7)) causes an error, and
from the backtrace, I see that it's computing (primcyclo 18) (in
src/factor.lisp), which calls cyclotomic calls pquotient which calls
pointergp with both args equal to NIL, and then tries to compare 2 NIL
values.

I hacked pointergp to be

(defun pointergp (a b)
  (let ((va (valget a))
	(vb (valget b)))
    (and (numberp va) (numberp vb)
	 (f> va vb))))

instead of 

(defun pointergp (a b) (f> (valget a) (valget b)))

This fixes the problem in the bug, but I would like to know what
pricyclo and cyclotomic are trying to do.  And what is the meaning of
the lists that are passed to pquotient.

Does anyone know what these functions do?

Ray