summaryrefslogtreecommitdiff
path: root/fpcsrc/packages/gmp/examples/scanf_example.pas
blob: 9aa28ad958f328f21003de77890cb03b2e00d8a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
program scanf_example;

{$mode objfpc}{$H+}

uses
  gmp;

var n, sqr: mpz_t;

begin
  mpz_init(n);
  mpz_init(sqr);
  write('Please enter an integer of any length: ');
  if mp_scanf('%Zd', @n) = 1 then begin
    mpz_pow_ui(sqr, n, 2);
    mp_printf('%Zd^2 = %Zd'#10, @n, @sqr);
  end else
    writeln('Failed to parse an integer from your input');
  mpz_clear(sqr);
  mpz_clear(n);
end.