(n: bigint, k: bigint)
| 1002 | signature: '(integer) -> integer', |
| 1003 | type: () => 'finite_integer', |
| 1004 | examples: ['PrimitiveRoot(7) // 3'], |
| 1005 | evaluate: ([nOp], { engine: ce }) => { |
| 1006 | const n = toBigint(nOp); |
| 1007 | if (n === null || n < 1n) return undefined; |
| 1008 | if (n === 1n) return ce.number(0); |
| 1009 | if (n === 2n) return ce.number(1); |
| 1010 | if (n === 4n) return ce.number(3); |
| 1011 | if (!hasPrimitiveRoot(n, ce._deadlineFrame)) return undefined; |
| 1012 | const phi = eulerPhi(n, ce._deadlineFrame); |
no test coverage detected