view Examples/multiply/multi2 @ 4:f864bb4ba9a4 default tip

update tags
author convert-repo
date Fri, 07 Nov 2008 20:36:52 +0000
parents cfb7c6b24319
children
line wrap: on
line source

main :- read((In1,In2)),
	mult_imp4(In1,In2,M,N,Done),
	#write((Done,M,N)).

mult_imp4(In1,In2,M,N,Done) :- 
	#stable(In1),#stable(In2),
	@ (
		M = In2,
		N = In1,
		Done = 0,
		int1(In1,In2,Done,M,N)
	).

int1(In1,In2,Done,M,N) :-
	halt(Done=1),
	intN(In2,Done,M,N).

intN(In2,Done,M,N) :- 
	@M = M+In2,
	@N = N-1,
	(if N-2=0 then @Done=1 else @Done=0),
	next(intN(In2,Done,M,N)).