晚上口渴是什么原因引起的| 天蝎座什么象星座| 白头发吃什么变黑| 身正不怕影子斜是什么意思| 小儿流鼻涕吃什么药好| 检查前列腺做什么检查| 消化不好吃什么药最好| 这是什么英语| 为什么喉咙总感觉有东西堵着| 9月份出生的是什么星座| low什么意思| 什么药| 隐翅虫咬了用什么药膏| 孟子是什么时期的人| 痤疮用什么药| 摩托车代表什么生肖| 苦荞是什么植物| 白骨精是什么动物| 骑驴找马是什么意思| 内膜有炎症什么症状| 过火是什么意思| 食人鱼长什么样子| 尿道炎是什么原因引起的| 意下如何什么意思| 做hpv检查前要注意什么| 大姨妈喝什么汤好| bpd是什么意思| 芝士和奶酪有什么区别| 孙楠留什么给你| lv中文名叫什么| 哮喘是什么病| 做脑部检查挂什么科| 柳仙是什么仙| peek是什么材质| 上寒下热体质吃什么中成药| emma什么意思| 起薪是什么意思| 省公安厅副厅长是什么级别| 西洋参吃了有什么好处| ca125是什么意思| 中华草龟吃什么| 通宵是什么意思| 1979年是什么命| 地贫是什么| 怀孕感冒了有什么好办法解决| 武则天什么星座| 两眼中间的位置叫什么| 急诊是什么意思| 1936年中国发生了什么| 尿酸高可以喝什么饮料| 手背上长痣代表什么| 什么叫做凤凰男| 什么人容易得帕金森| 定情信物是什么意思| 美国白宫是干什么的| 大便秘结是什么原因| 有什么不能说| 唾液酸偏低意味什么| 终亡其酒的亡是什么意思| 打粉是什么意思| 肾炎的症状是什么| 什么叫甲状腺弥漫病变| 阳刃是什么意思| 颞颌关节炎吃什么药| 50元人民币什么时候发行的| 燕然未勒归无计的上一句是什么| 笨拙是什么意思| 上海市长是什么级别| 桃子和什么不能一起吃| 牙齿松动是什么原因| 孕反什么时候结束| 秦始皇什么星座| 牛肉汤配什么菜好吃| 出圈什么意思| 大便常规检查能查出什么| 种牙好还是镶牙好区别是什么| 牙齿痛吃什么药好| 腿发热是什么原因引起的| 湿疹吃什么| 蜘蛛代表什么生肖| 长颈鹿的脖子为什么那么长| 合肥有什么玩的| 才高八斗是什么生肖| 继发性高血压什么意思| 高中生吃什么提高记忆力| 头晕头疼是什么原因| 血压太低会有什么危险| 真谛是什么意思| 梦见很多小蛇是什么意思| 做梦梦见生孩子是什么意思| 吃什么长个子最快| 痛风买什么药| 什么菜降血压| 脚经常抽筋是什么原因| 补钙有什么好处| 大豆指的是什么豆| 什么叫会车| 胱抑素c高是什么原因| seiko是什么牌子| 32年婚姻是什么婚| 江湖是什么| 寻常疣用什么药膏除根| 急得什么| 头脑胀痛什么原因| 胎儿头位是什么意思| pass掉是什么意思| 什么人什么天| 2d是什么意思| 港币长什么样| 一个金字旁一个本念什么| 什么是无机盐| mri是什么| 教皇是什么意思| 没有美瞳护理液用什么代替| 吃什么东西越吃越饿| 鹏字五行属什么| 艾滋病皮肤有什么症状| versace什么牌子| 风寒感冒咳嗽吃什么药| 眼睛模糊是什么原因引起的| 1905年属什么生肖| 血糖是什么引起的| 桑螵蛸是什么| 女人肾虚吃什么药调理| 什么什么不什么| 1990属马佩戴什么最佳| 吉人天相好福气指什么生肖| 胆汁反流吃什么食物好| 脖子上为什么会长丝状疣| 主任科员是什么级别| 耳石是什么| 班禅是什么级别| 医学上pi是什么意思| 半月板退变是什么意思| 走路腿软没劲是什么原因引起的| romoss是什么牌子| sos代表什么| 浮肿是什么原因引起的| 2025年属什么生肖| 大腿内侧发黑是什么原因| 油菜花是什么季节开的| 农历五月初五是什么节| 冬枣什么时候上市| 化疗后吃什么增加白细胞| 烤麸是什么做的| 结婚5年是什么婚| 溶血性黄疸是什么原因引起的| 爱华仕是什么档次| 人日是什么意思| 虎眼石五行属什么| 神龙摆尾什么意思| 熟女是什么意思| 千克又叫什么| 丹凤朝阳什么意思| 胎毛什么时候剃最好| 笑什么如花| 伞裙搭配什么上衣| 泡热水脚有什么好处| dha什么牌子好| 离岸人民币什么意思| 天秤座什么象星座| 吃粥配什么菜| 它们是指什么| 老打嗝是什么原因| gerd是什么病| 肠炎吃什么食物调理| 有始无终是什么生肖| 66大寿有什么讲究| 吃三七粉不能吃什么| 老年痴呆症是什么原因引起的| 6周岁打什么疫苗| 增大摩擦力的方法有什么| 饿了胃疼是什么原因| 肌酐低是什么问题| 地米是什么药| 肝血管瘤有什么症状表现| 胸腔积液叩诊什么音| 为什么会得阴虱| 电灯泡什么意思| 蛇缠腰是什么症状| 什么食物清肺化痰| 早上起床口臭是什么原因| 里是什么结构| 婴儿大便有泡沫是什么原因| 二尖瓣反流什么意思| 直肠炎是什么原因引起的| 抓兔子的狗叫什么名字| 肺癌积水意味什么结果| 鸡胗是什么部位| 高风亮节是什么意思| 小麦和大麦有什么区别| 吃维生素e有什么好处| 大便稀溏是什么意思| 有所作为的意思是什么| 读书有什么好处| 足字旁的字跟什么有关| 颈椎病头晕吃什么药| 王妃是什么意思| 肉是什么结构的字| 小龙虾吃什么| 宫颈癌是什么| 芙蓉是什么花| 什么黄河| 丁未年五行属什么| 孩子咽炎老是清嗓子吃什么药| 甲状腺结节忌口什么| 相濡以沫不如相忘于江湖是什么意思| 手机服务密码是什么| 龙凤呈祥的意思是什么| 黯然泪下是什么意思| 脚出汗多是什么原因怎么办| 囟门什么时候闭合| 阿僧只劫是什么意思| 水泡长什么样| 补气血用什么泡水喝| 公约是什么意思| 梦见掉了一颗牙齿是什么征兆| 乳头胀痛什么原因| 三人死亡属于什么事故| 胃烧心是怎么回事吃什么药| 吃环孢素有什么副作用| 胆囊结石不能吃什么| 昌字五行属什么| 璟五行属什么| 血钾高是什么引起的| 今年9岁属什么| 内涵是什么意思| 2008年属鼠是什么命| 黄皮什么时候成熟| 劣迹斑斑是什么意思| 男人阳萎吃什么药最好| 小姐的全套都有什么| 一飞冲天是什么生肖| 毛周角化症用什么药膏| 蛋白粉适合什么人群吃| 田七煲汤配什么材料| 什么是滑脉| 跑步穿什么衣服| 尿检红细胞高是什么原因| 在家无聊可以做什么| 牙疼是什么原因| 为的笔顺是什么| 汆水是什么意思| egg是什么意思| 晚上7点到9点是什么时辰| 社保局是干什么的| 心脾两虚是什么意思| 猪油不凝固是什么原因| 八哥鸟吃什么饲料最好| 世界上最长的单词是什么| 忻字五行属什么| 为什么头疼| 妗是什么意思| x是什么品牌| 市委讲师团是什么级别| 肛门周围潮湿瘙痒是什么原因| 减肥早上吃什么比较好| 草鱼吃什么| 荨麻疹吃什么药好的快| 高血压看什么科室| 妈妈生日送什么| 小肚子胀疼是什么原因| 中国的四大发明是什么| 三五行属什么| 百度Jump to content

造影是检查什么

Fram Wikipidia
百度 估计要等到九月份以后,才有新的推盘计划。

Documentation for this module may be created at Module:Math/doc

--[[

This module provides a number of basic mathematical operations.

]]

local yesno, getArgs -- lazily initialized

local p = {} -- Holds functions to be returned from #invoke, and functions to make available to other Lua modules.
local wrap = {} -- Holds wrapper functions that process arguments from #invoke. These act as intemediary between functions meant for #invoke and functions meant for Lua.

--[[
Helper functions used to avoid redundant code.
]]

local function err(msg)
	-- Generates wikitext error messages.
	return mw.ustring.format('<strong class="error">Formatting error: %s</strong>', msg)
end

local function unpackNumberArgs(args)
	-- Returns an unpacked list of arguments specified with numerical keys.
	local ret = {}
	for k, v in pairs(args) do
		if type(k) == 'number' then
			table.insert(ret, v)
		end
	end
	return unpack(ret)
end

local function makeArgArray(...)
	-- Makes an array of arguments from a list of arguments that might include nils.
	local args = {...} -- Table of arguments. It might contain nils or non-number values, so we can't use ipairs.
	local nums = {} -- Stores the numbers of valid numerical arguments.
	local ret = {}
	for k, v in pairs(args) do
		v = p._cleanNumber(v)
		if v then
			nums[#nums + 1] = k
			args[k] = v
		end
	end
	table.sort(nums)
	for i, num in ipairs(nums) do
		ret[#ret + 1] = args[num]
	end
	return ret
end

local function applyFuncToArgs(func, ...)
	-- Use a function on all supplied arguments, and return the result. The function must accept two numbers as parameters,
	-- and must return a number as an output. This number is then supplied as input to the next function call.
	local vals = makeArgArray(...)	
	local count = #vals -- The number of valid arguments
	if count == 0 then return
		-- Exit if we have no valid args, otherwise removing the first arg would cause an error.
		nil, 0
	end 
	local ret = table.remove(vals, 1)
	for _, val in ipairs(vals) do
		ret = func(ret, val)
	end
	return ret, count
end

--[[
random

Generate a random number

Usage:
{{#invoke: Math | random }}
{{#invoke: Math | random | maximum value }}
{{#invoke: Math | random | minimum value | maximum value }}
]]

function wrap.random(args)
	local first = p._cleanNumber(args[1])
	local second = p._cleanNumber(args[2])
	return p._random(first, second)
end

function p._random(first, second)
	math.randomseed(mw.site.stats.edits + mw.site.stats.pages + os.time() + math.floor(os.clock() * 1000000000))
	-- math.random will throw an error if given an explicit nil parameter, so we need to use if statements to check the params.
	if first and second then
		if first <= second then -- math.random doesn't allow the first number to be greater than the second.
			return math.random(first, second)
		end
	elseif first then
		return math.random(first)
	else
		return math.random()
	end
end

--[[
order

Determine order of magnitude of a number

Usage:
{{#invoke: Math | order | value }}
]]

function wrap.order(args)
	local input_string = (args[1] or args.x or '0');
	local input_number = p._cleanNumber(input_string);
	if input_number == nil then
		return err('order of magnitude input appears non-numeric')
	else
		return p._order(input_number)
	end    
end

function p._order(x)
	if x == 0 then return 0 end
	return math.floor(math.log10(math.abs(x)))
end

--[[
precision

Detemines the precision of a number using the string representation

Usage:
{{ #invoke: Math | precision | value }}
]]

function wrap.precision(args)
	local input_string = (args[1] or args.x or '0');
	local trap_fraction = args.check_fraction;
	local input_number;

	if not yesno then
		yesno = require('Module:Yesno')
	end
	if yesno(trap_fraction, true) then -- Returns true for all input except nil, false, "no", "n", "0" and a few others. See [[Module:Yesno]].
		local pos = string.find(input_string, '/', 1, true);
		if pos ~= nil then
			if string.find(input_string, '/', pos + 1, true) == nil then
				local denominator = string.sub(input_string, pos+1, -1);
				local denom_value = tonumber(denominator);
				if denom_value ~= nil then
					return math.log10(denom_value);
				end
			end                        
		end
	end    

	input_number, input_string = p._cleanNumber(input_string);
	if input_string == nil then
		return err('precision input appears non-numeric')
	else
		return p._precision(input_string)
	end    
end

function p._precision(x)
	if type(x) == 'number' then
		x = tostring(x)
	end
	x = string.upper(x)

	local decimal = x:find('%.')
	local exponent_pos = x:find('E')
	local result = 0;

	if exponent_pos ~= nil then
		local exponent = string.sub(x, exponent_pos + 1)
		x = string.sub(x, 1, exponent_pos - 1)
		result = result - tonumber(exponent)
	end    

	if decimal ~= nil then
		result = result + string.len(x) - decimal
		return result
	end

	local pos = string.len(x);
	while x:byte(pos) == string.byte('0') do
		pos = pos - 1
		result = result - 1
		if pos <= 0 then
			return 0
		end
	end

	return result
end

--[[
max

Finds the maximum argument

Usage:
{{#invoke:Math| max | value1 | value2 | ... }}

Note, any values that do not evaluate to numbers are ignored.
]]

function wrap.max(args)
	return p._max(unpackNumberArgs(args))
end

function p._max(...)
	local function maxOfTwo(a, b)
		if a > b then
			return a
		else
			return b
		end
	end
	local max_value = applyFuncToArgs(maxOfTwo, ...)
	if max_value then
		return max_value
	end
end

--[[
min 

Finds the minimum argument

Usage:
{{#invoke:Math| min | value1 | value2 | ... }}
OR
{{#invoke:Math| min }}

When used with no arguments, it takes its input from the parent
frame.  Note, any values that do not evaluate to numbers are ignored.
]]

function wrap.min(args)
	return p._min(unpackNumberArgs(args))
end

function p._min(...)
	local function minOfTwo(a, b)
		if a < b then
			return a
		else
			return b
		end
	end
	local min_value = applyFuncToArgs(minOfTwo, ...)
	if min_value then
		return min_value
	end
end

--[[
average 

Finds the average

Usage:
{{#invoke:Math| average | value1 | value2 | ... }}
OR
{{#invoke:Math| average }}

Note, any values that do not evaluate to numbers are ignored.
]]

function wrap.average(args)
	return p._average(unpackNumberArgs(args))
end

function p._average(...)
	local function getSum(a, b)
		return a + b
	end
	local sum, count = applyFuncToArgs(getSum, ...)
	if not sum then
		return 0
	else
		return sum / count
	end
end

--[[
round

Rounds a number to specified precision

Usage:
{{#invoke:Math | round | value | precision }}

--]]

function wrap.round(args)
	local value = p._cleanNumber(args[1] or args.value or 0)
	local precision = p._cleanNumber(args[2] or args.precision or 0)
	if value == nil or precision == nil then
		return err('round input appears non-numeric')
	else
		return p._round(value, precision)
	end    
end

function p._round(value, precision)
	local rescale = math.pow(10, precision or 0);
	return math.floor(value * rescale + 0.5) / rescale;
end

--[[
mod

Implements the modulo operator

Usage:
{{#invoke:Math | mod | x | y }}

--]]

function wrap.mod(args)
	local x = p._cleanNumber(args[1])
	local y = p._cleanNumber(args[2])
	if not x then
		return err('first argument to mod appears non-numeric')
	elseif not y then
		return err('second argument to mod appears non-numeric')
	else
		return p._mod(x, y)
	end    
end

function p._mod(x, y)
	local ret = x % y
	if not (0 <= ret and ret < y) then
		ret = 0
	end
	return ret
end

--[[
gcd

Calculates the greatest common divisor of multiple numbers

Usage:
{{#invoke:Math | gcd | value 1 | value 2 | value 3 | ... }}
--]]

function wrap.gcd(args)
	return p._gcd(unpackNumberArgs(args))
end

function p._gcd(...)
	local function findGcd(a, b)
		local r = b
		local oldr = a
		while r ~= 0 do
			local quotient = math.floor(oldr / r)
			oldr, r = r, oldr - quotient * r
		end
		if oldr < 0 then
			oldr = oldr * -1
		end
		return oldr
	end
	local result, count = applyFuncToArgs(findGcd, ...)
	return result
end

--[[
precision_format

Rounds a number to the specified precision and formats according to rules 
originally used for {{template:Rnd}}.  Output is a string.

Usage:
{{#invoke: Math | precision_format | number | precision }}
]]

function wrap.precision_format(args)
	local value_string = args[1] or 0
	local precision = args[2] or 0
	return p._precision_format(value_string, precision)
end

function p._precision_format(value_string, precision)
	-- For access to Mediawiki built-in formatter.
	local lang = mw.getContentLanguage();

	local value
	value, value_string = p._cleanNumber(value_string)
	precision = p._cleanNumber(precision)

	-- Check for non-numeric input
	if value == nil or precision == nil then
		return err('invalid input when rounding')
	end

	local current_precision = p._precision(value)
	local order = p._order(value)

	-- Due to round-off effects it is neccesary to limit the returned precision under
	-- some circumstances because the terminal digits will be inaccurately reported.
	if order + precision >= 14 then
		orig_precision = p._precision(value_string)
		if order + orig_precision >= 14 then
			precision = 13 - order;        
		end        
	end

	-- If rounding off, truncate extra digits
	if precision < current_precision then
		value = p._round(value, precision)
		current_precision = p._precision(value)
	end    

	local formatted_num = lang:formatNum(math.abs(value))
	local sign

	-- Use proper unary minus sign rather than ASCII default
	if value < 0 then
		sign = '?'
	else
		sign = ''
	end    

	-- Handle cases requiring scientific notation
	if string.find(formatted_num, 'E', 1, true) ~= nil or math.abs(order) >= 9 then
		value = value * math.pow(10, -order)
		current_precision = current_precision + order
		precision = precision + order
		formatted_num = lang:formatNum(math.abs(value))
	else
		order = 0;        
	end
	formatted_num = sign .. formatted_num

	-- Pad with zeros, if needed    
	if current_precision < precision then
		local padding
		if current_precision <= 0 then
			if precision > 0 then
				local zero_sep = lang:formatNum(1.1)
				formatted_num = formatted_num .. zero_sep:sub(2,2)

				padding = precision
				if padding > 20 then
					padding = 20
				end

				formatted_num = formatted_num .. string.rep('0', padding)
			end            
		else                   
			padding = precision - current_precision
			if padding > 20 then
				padding = 20
			end
			formatted_num = formatted_num .. string.rep('0', padding)
		end
	end

	-- Add exponential notation, if necessary.
	if order ~= 0 then
		-- Use proper unary minus sign rather than ASCII default
		if order < 0 then
			order = '?' .. lang:formatNum(math.abs(order))
		else
			order = lang:formatNum(order)
		end    

		formatted_num = formatted_num .. '<span style="margin:0 .15em 0 .25em">×</span>10<sup>' .. order .. '</sup>'
	end

	return formatted_num
end

--[[
Helper function that interprets the input numerically.  If the 
input does not appear to be a number, attempts evaluating it as
a parser functions expression.
]]

function p._cleanNumber(number_string)
	if type(number_string) == 'number' then
		-- We were passed a number, so we don't need to do any processing.
		return number_string, tostring(number_string)
	elseif type(number_string) ~= 'string' or not number_string:find('%S') then
		-- We were passed a non-string or a blank string, so exit.
		return nil, nil;
	end

	-- Attempt basic conversion
	local number = tonumber(number_string)

	-- If failed, attempt to evaluate input as an expression
	if number == nil then
		local success, result = pcall(mw.ext.ParserFunctions.expr, number_string)
		if success then
			number = tonumber(result)
			number_string = tostring(number)
		else
			number = nil
			number_string = nil
		end
	else
		number_string = number_string:match("^%s*(.-)%s*$") -- String is valid but may contain padding, clean it.
		number_string = number_string:match("^%+(.*)$") or number_string -- Trim any leading + signs.
		if number_string:find('^%-?0[xX]') then
			-- Number is using 0xnnn notation to indicate base 16; use the number that Lua detected instead.
			number_string = tostring(number)
		end
	end

	return number, number_string
end

--[[
Wrapper function that does basic argument processing. This ensures that all functions from #invoke can use either the current
frame or the parent frame, and it also trims whitespace for all arguments and removes blank arguments.
]]

local mt = { __index = function(t, k)
	return function(frame)
		if not getArgs then
			getArgs = require('Module:Arguments').getArgs
		end
		return wrap[k](getArgs(frame))  -- Argument processing is left to Module:Arguments. Whitespace is trimmed and blank arguments are removed.
	end
end }

return setmetatable(p, mt)
碧根果和核桃有什么区别 高汤是什么汤 身份证复印件是什么 手足口病吃什么药好得快 做梦买房子是什么预兆
真丝丝绒是什么面料 立夏节吃什么 西晋之后是什么朝代 羊肉和什么不能一起吃 做深蹲有什么好处
芦荟有什么功效与作用 胃病忌什么 仁义道德是什么意思 一龙一什么 头顶秃了一小块是什么原因怎么办
梦见黑狗是什么意思 血糖高喝酒有什么影响 莱特兄弟发明了什么 3月23日是什么星座 肌肉萎缩有什么症状
惊雷是什么意思hcv8jop2ns4r.cn 有个马的标志是什么车hcv7jop9ns6r.cn 男人勃不起是什么原因造成的0735v.com 湿气重吃什么食物xjhesheng.com 血液四项检查是什么hcv8jop1ns1r.cn
12月出生是什么星座hcv8jop1ns0r.cn daddy是什么意思hcv8jop4ns4r.cn 生化八项是检查什么tiangongnft.com 孕激素六项检查什么时候做huizhijixie.com 烤箱可以烤些什么东西hcv7jop9ns8r.cn
贡菜是什么菜做的hcv9jop0ns9r.cn 有什么办法可以怀孕liaochangning.com 终其一生下一句是什么hcv7jop7ns4r.cn 血糖偏高能吃什么水果和食物最好hcv9jop1ns0r.cn 双肾结晶是什么意思hcv9jop3ns8r.cn
银屑病为什么会自愈hcv7jop6ns2r.cn 三月四号什么星座hcv8jop8ns3r.cn 直肠给药对小孩身体有什么影响hcv9jop4ns4r.cn 手脱皮是缺什么维生素hcv8jop7ns1r.cn 米黄是什么颜色hcv8jop1ns1r.cn
百度