问题列表 - 第4555页

如何处理浮点计算中的过度精度?

在我的数值模拟中,我的代码类似于以下代码段

double x;
do {
  x = /* some computation */;
} while (x <= 0.0);
/* some algorithm that requires x to be (precisely) larger than 0 */
Run Code Online (Sandbox Code Playgroud)

对于某些平台上的某些编译器(例如gcc)(例如linux,x87 math),有可能x以高于双精度("具有过度精度")的方式计算.(更新:当我在这里谈到精度时,我的意思是精度/和/范围.)在这种情况下,可以想象,x <= 0即使下一次x向下舍入到双精度,它也会变为0,而compare()返回false.(和无法保证x不会在任意时间点向下舍入.)

有没有办法进行这种比较

  • 便携,
  • 适用于内联的代码,
  • 没有性能影响
  • 不排除某些任意范围(0,eps)?

我尝试使用(x < std::numeric_limits<double>::denorm_min())但是在使用SSE2数学时,这似乎显着减慢了循环.(我知道非正规可以减慢计算速度,但我没想到它们只是移动并比较慢.)

更新: 另一种方法是在比较之前使用volatile强制x进入内存,例如通过写入

} while (*((volatile double*)&x) <= 0.0);
Run Code Online (Sandbox Code Playgroud)

但是,根据应用程序和编译器应用的优化,此解决方案也会引入明显的开销.

更新: 任何容忍的问题是它是非常随意的,即它取决于具体的应用程序或上下文.我更愿意在没有过多精度的情况下进行比较,这样我就不必做任何额外的假设或在我的库函数的文档中引入一些任意的epsilons.

c c++ floating-point

9
推荐指数
2
解决办法
3189
查看次数

您如何描述Android平台的当前状态?

自Android发布以来(一年多以前?),它的势头似乎已经放缓.我想知道你对"长期"的采用和生存能力的看法.

我相信苹果会在真正的竞争中"减轻"一点,并且其他平台似乎更多地向开发者开放他们的平台,你觉得Android会在它成熟之前被埋葬吗?

android

8
推荐指数
4
解决办法
469
查看次数

数学公式在C#中没有给出与excel或计算器相同的答案

我一直在尝试使用一个公式来计算我们团队正在创建的程序中的独家增值税.当在计算器或excel中使用时,该公式可正常工作,但在我们的程序中的函数中使用时会提供不同的输出!

这是功能:

function fn_calcVat() 
{
    var vRate = Ext.getCmp('crd_vat_rate').getValue();
    var vTranAmt = Ext.getCmp('crd_tran_amt').getValue();

    if (vRate != '' && vTranAmt != '') 
    {
        alert(Ext.getCmp('vatable').getValue().toString());
        var vAmt = 0;
        if (Ext.getCmp('vatable').getValue().toString() == 'Y')
        {
            vAmt = (vRate / ((vTranAmt / 100) + 1));
            Ext.getCmp('crd_vat_amt').setValue(vAmt.toFixed(2));
            Ext.getCmp('crd_tran_tot').setValue(vTranAmt.toString());
            vAmt = 0;
        }
        else 
        {
            vAmt = ((vRate / 100) * vTranAmt);
            Ext.getCmp('crd_vat_amt').setValue(vAmt.toFixed(2));
            Ext.getCmp('crd_tran_tot').setValue((vTranAmt + vAmt));
            vAmt = 0;
        }                
    }
}
Run Code Online (Sandbox Code Playgroud)

问题的公式是 vAmt = (vRate / ((vTranAmt / 100) + 1));

另一个公式是完美的.

一个示例输入将是100,增值税率为14.00,预期答案将是14的税额,但它给它7!

我们正在使用EXTJS,js和C#的混搭......

任何帮助将不胜感激. …

javascript c# math extjs

1
推荐指数
1
解决办法
1321
查看次数

SQL Server (2008) 创建具有唯一行的链接表

我在联系 SQL Server Managemen Studio 2008 时遇到问题!我想创建一个链接表,将事件链接到许多受众 (EventAudience)。

可能包含的数据示例:

事件 ID | 观众ID

  4              1
  5              1
  4              2
Run Code Online (Sandbox Code Playgroud)

但是,我不想要这个:

事件 ID | 观众ID

  4              1
  4              1
Run Code Online (Sandbox Code Playgroud)

我一直在寻找关系和约束......但到目前为止没有快乐!

作为问题的第二部分,我想设置 Audience 表,以便如果从 Audience 中删除一行,它将以级联方式清除 EventAudience 链接表。

一如既往,感谢任何帮助/建议!

谢谢皮特

database sql-server database-design

0
推荐指数
1
解决办法
2187
查看次数

在ASP.NET和Silverlight 2之间共享DAL的最佳实践

我有一个ASP.NET 3.5电子商务网站,它有一个管理部分.我想换掉基于ASP.NET的管理部分并在Silverlight 2中重写它.Silverlight需要异步调用,所以我不能只从新的SL2应用程序调用我现有的DAL.

做这样的事情的最佳做法是什么?我应该创建一个WCF服务并通过它调用我现有的DAL,还是应该将所有内容移植到WCF,或者我应该只将异步调用添加到现有的非WCF DAL中.寻找关于做这样事情的最佳方法的建议.

编辑:所以我正在阅读的是,最好的方法是利用我现有的DAL并创建一个简单的WCF服务,引用该DAL并包装调用.WCF服务只是作为中间人来进入我的DAL,而是将其暴露给Silverlight.如果你从头开始怎么办?您是否应该将DAL构建为WCF服务,并从WPF客户端,ASP.NET客户端,Silverlight客户端,任何其他消费者等开始使用该服务.

asp.net silverlight wcf asynchronous

3
推荐指数
2
解决办法
2188
查看次数

WPF:ComboBox显示"(namespace).(classname)"而不是数据

我想让我ComboBox的XAML绑定到我List后面的代码中的自定义对象集合.

目前ComboBox每个条目的列表dpwpf.Contact都是我的{namespace}.{classname}.

我需要在XAML中输入什么来告诉它列出,例如LastName + FirstName?

我知道它是类似{Binding Path=... Value=...}但我无法得到它.

XAML:

<Window x:Class="dpwpf.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <StackPanel>
        <StackPanel>
            <TextBlock Text="Select the contact:"/>
            <ComboBox Name="theContactList"/>
        </StackPanel>
    </StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

代码背后:

namespace dpwpf
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            StoreDB db = new StoreDB();
            List<Contact> contacts = db.GetContacts()
            theContactList.ItemsSource = contacts.ToList();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

回答:

<Window x:Class="dpwpf.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300"
    xmlns:local="clr-namespace:dpwpf">

    <Window.Resources>
        <DataTemplate …
Run Code Online (Sandbox Code Playgroud)

data-binding wpf xaml combobox

9
推荐指数
3
解决办法
9166
查看次数

Delphi:如何停止TAction快捷键自动重复?

我正在使用Delphi TActionList,其中包含用于某些操作的快捷键.

我想以防止触发通过键盘自动重复多次的某些动作,但我希望影响全球自动重复操作.这样做的最佳方法是什么?

澄清:我仍然需要处理多个快速按键 - 它只是我想忽略的自动重复生成的按键.

delphi keyboard taction autorepeat

3
推荐指数
1
解决办法
1959
查看次数

为每个处理器生成多个线程是否有意义?

从逻辑的角度来看,一个应用程序可能需要数十个或数百个线程,其中一些线程将在大多数时间内休眠,但很少有线程将始终同时运行.问题是:产生比系统中的处理器更多的并发线程是否有意义,还是浪费?

我已经看到一些服务器应用程序实现了一个调度程序来逻辑地管理任务(通常称为作业),但也产生了很多线程,所以我没有看到它的好处.

提前致谢.

concurrency multithreading

8
推荐指数
3
解决办法
3096
查看次数

我如何安排C#Windows服务每天执行一项任务?

我有一个用C#(.NET 1.1)编写的服务,并希望它在每晚的午夜执行一些清理操作.我必须保留服务中包含的所有代码,那么最简单的方法是什么?使用Thread.Sleep()和检查滚动的时间?

c# windows-services scheduling scheduled-tasks

83
推荐指数
4
解决办法
16万
查看次数

SQLServer 2000中的高效分页(限制)查询?

在SQLServer 2000中进行分页查询的最有效方法是什么?

其中"分页查询"相当于在MySQL中使用LIMIT语句.

编辑:在这种情况下,存储过程是否可以比任何基于集合的查询更有效?

sql paging sql-server-2000 limit

10
推荐指数
2
解决办法
7323
查看次数