Aller au contenu

Module:Poly

Une page de Wikiversité, la communauté pédagogique libre.

Ce module sert d'exemple dans la leçon Initiation au Lua avec Scribunto. son utilisation est décrite en détail dans celle-ci et, par conséquent, ce module ne doit pas être modifié sans tenir compte de la leçon.


local p = {}

function p.poly1(frame)
	local reponse = "Le résultat est "
	local resultat
	local minimum = 1
	for i = 1, 30 do
		local temps = os.clock()
		resultat = 7*frame.args[1]^4+5*frame.args[1]^3+3*frame.args[1]^2+frame.args[1]+2
		temps = os.clock() - temps
		if temps < minimum then minimum = temps end
	end
	reponse = reponse..resultat.." et le temps d'exécution est "..minimum
	return reponse
end

function p.poly2(frame)
	local reponse = "Le résultat est "
	local resultat
	local minimum = 1
	for i = 1, 30 do
		local temps = os.clock()
		local x = frame.args[1]
		resultat = 7*x^4+5*x^3+3*x^2+x+2
		temps = os.clock() - temps
		if temps < minimum then minimum = temps end
	end
	reponse = reponse..resultat.." et le temps d'exécution est "..minimum
	return reponse
end

function p.poly3(frame)
	local reponse = "Le résultat est "
	local resultat
	local minimum = 1
	for i = 1, 30 do
		local temps = os.clock()
		local x = frame.args[1]
		resultat = (((7*x+5)*x+3)*x+1)*x+2
		temps = os.clock() - temps
		if temps < minimum then minimum = temps end
	end
	reponse = reponse..resultat.." et le temps d'exécution est "..minimum
	return reponse
end

return p