假设$assigned_to=$this->user_model->get_ddl();// assign to a variable then pass to data array
$data['assigned_to']=$assigned_to;
var_dump($data['assigned_to']);
$this->load->view('view_name', $data);
,a
,b
和c
被声明为d
(或double
)。以下表达式是否总是正确的?
float
IEEE 754或当前的C或C ++标准是否有任何保证?任何编译器都会在编译时将其优化为真的吗?我最感兴趣的是正常值,而不是低于正常值或特殊值。
对我而言,这主要取决于减法期间的舍入误差。
答案 0 :(得分:10)
如果第3个产生错误,那么取大小等于a
和b
以及小不等c
和d
就足够了,例如a=1e30, b=1e30, c=1e-31, d=1e-30
。
编辑:好的,对于第二个产生错误,通过类比第三个,应该足够小的不等a
和b
和大等于c
和{{ 1}},例如d
。
不知道第一个表达式的反例......
答案 1 :(得分:7)
Serge Rogatch对你的第二和第三个表达给出了反例。
如果!(a >= b && c <= d) || a-c >= b-d
,a
,b
和c
必须全部有限,则第一个d
在IEEE 754算术中始终为真。减去有限数不能产生NaN
。因此,反例必须满足a >= b && c <= d && a-c < b-d
。但是,a >= b
意味着a-c >= b-c
,无论c
是什么,而c <= d
意味着b-c >= b-d
,无论b
是什么。 >=
的及物性处理其余部分。
如果您放松a = c = 1.0/0.0
,b
,{{d
,a
,b
,c
,d
{{1} 1}},SearchView searchView = (SearchView) MenuItemCompat.getActionView(item);
searchView.clearFocus();
View focused = searchView.getFocusedChild();
if (focused != null) {
focused.clearFocus();
}
必须都是有限的。所有的反例基本上都是这种形式。