File: mpdemo.pl

package info (click to toggle)
swi-prolog-packages 5.0.1-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 50,688 kB
  • ctags: 25,904
  • sloc: ansic: 195,096; perl: 91,425; cpp: 7,660; sh: 3,046; makefile: 2,750; yacc: 843; awk: 14; sed: 12
file content (58 lines) | stat: -rw-r--r-- 1,225 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*	mp.pl

	Demonstrate MP library

	Copyright: Robert A. van Engelen, Florida State University, 1999.
*/

:- module(mp_demo,
	 [ mp_demo/0
	 ]).

load_mp :-
	current_predicate(_, user:mp_term(_,_,_,_)), !.
load_mp :-
	use_module(library(mp)).

:- load_mp.

:- style_check(+string).

key :- format('Press RETURN ...'), get0(_), nl.

mp_demo :-
	format('~nHello MP user craving for Biggie Numbers!~n~n'),
	format('Here are some examples of MP~n~n'),
	key,
	X1 mp_is fac(10),
	format('10! = ~p~n', [X1]),
	key,
	X2 mp_is fac(100),
	format('100! = ~p~n', [X2]),
	key,
	X3 mp_is fac(1000),
	format('1000! = ~p~n', [X3]),
	key,
	X4 mp_is prec(10000, sin(1)),
	format('sin(1) = ~p~nUsing 10000 bits of precision~n', [X4]),
	key,
	X5 mp_is 7/6 * 36/91,
	format('7/6 * 36/91 = ~p~n', [X5]),
	key,
	X6 mp_is 2^1000,
	format('2^1000 = ~p~n', [X6]),
	key,
	X7 mp_is (3/7)^17,
	format('(3/7)^17 = ~p~n', [X7]),
	key,
	X8 mp_is "12345678901234567890123456789" /\ "98765432109876543210987654321",
	format('12345678901234567890123456789 & 98765432109876543210987654321 = ~p~n', [X8]),
	key,
	X9 mp_is 8.12 << 2,
	format('8.12 << 2 = ~p~n', [X9]),
	key,
	X10 mp_is (1+2*i)*pi,
	format('(1+2*i)*pi = ~p~n', [X10]),
	key,
	format('Bye!~n~n').