Square root

http://golf.shinh.org/p.rb?Square+root
fedってなんの関数かと思った
2時間かかった、あまり短くない

while(a=gets.chomp)do
	t=a[0..1];u=t[0..0]
	if(u=="-")
		a=a[1..10]
		if(a[0..0]=="0")then puts '-'+format("%.9f",a)
		else
			puts"nan"
		end
	else
		if(u=="+")then (u=t[1..1];a=a[1..10])
		end
		if(u=="N")then puts"nan"
		elsif(u=="i")then puts"inf"
		else
			if(t=="0x")
				a=~/(.*)\.(.*)/
				if($2)
					a=$1.hex+$2.hex/16**$2.length.to_f
				else
					a=a.hex
				end
			end
			puts format("%.9f",Math::sqrt(a))
		end
	end
end