This should work
    
    
    import math
    proc genPGparameters(prime: int): (int, int, seq[int], int) =
        echo("generating parameters for P", prime)
        let primes = [2, 3, 5, 7, 11, 13, 17, 19, 23]
        var modpg = 1
        var excluded_primes = 0
        for prm in primes:
          excluded_primes += 1; modpg *= prm; if prm == prime: break
        
        var pc = 3; var residues = @[1]
        while pc < modpg:
          if gcd(modpg, pc) == 1: residues.add(pc)
          pc += 2
        residues.add(modpg + 1)
        let rescnt = residues.len-1
        result = (modpg, rescnt, residues, excluded_primes)
    
    const res = genPGparameters(11)
    echo res
    

Reply via email to