问题列表 - 第38840页

使用C#将整数集转换为范围

将一组整数转换为一组范围的最惯用的方法是什么?

例如,给定{0,1,2,3,4,7,8,9,1}集我希望使用C#获得{{0,4},{7,9},{11,11}}

C++ @ Solution in C++已经回答了这个问题

c# algorithm

7
推荐指数
2
解决办法
712
查看次数

浏览器如何确定用于边框的确切颜色:插入或开始?

如果我指定border: 1px outset blue;为元素的样式,则浏览器会呈现两种不同的边框颜色:一种用于顶部和左侧边框,另一种用于底部和右侧边框.

li
  { border: 10px outset #0000FF;
    color: #FFF;
    background-color: #0000FF;
    width: 30%;
    }

p
  { margin: 1em 2em;
    text-align: center;
    }
Run Code Online (Sandbox Code Playgroud)
<li><p>Hi!</p></li>
Run Code Online (Sandbox Code Playgroud)

给定为边框指定的单一颜色,浏览器如何确定渲染边框的颜色? 或者,给定一个图形组合(例如.PSD)显示具有两种不同颜色的开始边框,如何选择单个边框颜色来指定以获得与comp最接近的结果?

css

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

使用 MIPS 程序集读取文件

我正在尝试编写一个程序,该程序从 .dat 文件中读取字符,这些字符对应于要在 LED 模拟器中显示的不同颜色;x = 关闭,R = 红色,等等。我的问题是,我无法弄清楚打开 .dat 文件时我做错了什么。我环顾四周并尝试了所有我能想到的,但是每次我组装和运行时,我都会在 $v0 中得到一个 -1 表示错误。这是我打开/读取/关闭文件的代码:

.data  
fin: .asciiz "maze1.dat"      # filename for input
buffer: .asciiz ""

.text
#open a file for writing
li   $v0, 13       # system call for open file
la   $a0, fin      # board file name
li   $a1, 0        # Open for reading
li   $a2, 0
syscall            # open a file (file descriptor returned in $v0)
move $s6, $v0      # save the file descriptor 

#read from file
li …
Run Code Online (Sandbox Code Playgroud)

io file mips mars-simulator

6
推荐指数
1
解决办法
4万
查看次数

WPF - 延迟多重绑定

我有一个看起来像这样的多绑定:

<UserControl.Visibility>
    <MultiBinding Converter="{StaticResource isMouseOverToVisibiltyConverter}">
        <Binding ElementName="otherElement" Path="IsMouseOver" />
        <Binding RelativeSource="{RelativeSource Self}" Path="IsMouseOver" />
    </MultiBinding>
</UserControl.Visibility>
Run Code Online (Sandbox Code Playgroud)

而且,我希望能够在两个绑定的IsMouseOver之间添加一个延迟,并将Visibility设置为Collapsed.

我找到了这个DelayBinding实现:http: //www.paulstovell.com/wpf-delaybinding

但是,这对MultiBinding不起作用,而且我一直无法弄清楚如何使用MultiBinding.

我可以选择在代码隐藏中的事件中对Visibility进行更改,这样可以工作,但是如果通过绑定系统有某种方法可以做到这一点会很好.

有没有办法为MultiBinding添加延迟?

编辑:雷,为了让你的类编译和运行,我不得不做一些修复.但是,由于更新没有传播,因此仍然存在问题.它似乎只更新一次目标属性.

[ContentProperty("Bindings")]
public class DelayedMultiBindingExtension : MarkupExtension, IMultiValueConverter, INotifyPropertyChanged
{
    public Collection<BindingBase> Bindings { get; private set; }
    public IMultiValueConverter Converter { get; set; }
    public object ConverterParameter { get; set; }
    public CultureInfo ConverterCulture { get; set; }
    public BindingMode Mode { get; set; }
    public UpdateSourceTrigger UpdateSourceTrigger { get; set; }

    public object CurrentValue …
Run Code Online (Sandbox Code Playgroud)

wpf multibinding

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

使用预处理器部分处理文件

我们继承了一个非常卷积的项目(500kloc)和许多预处理器条件逻辑,其中大部分不再相关,我想要清理它.

我是否可以使用预处理器¹仅扩展某些条件逻辑,并将所有其他预处理器宏,定义和包含在输出中?

¹在这里,通过"预处理器",我的意思是"任何工具",标准C预处理器,我可以安装的东西,甚至是黑客攻击的Perl或Python脚本.


例如,假设我们有这组代码:

#include <foo>
#define baz
#define bar(a) do{(a)+1} \
               while(0)
#ifdef X
  #if Y > 20
    #if Z > 5
      so_far_so_good = true;
    #endif
    #ifdef baz
    something();
    #endif
  #else
    otherthing();
  #endif
#else
  #if Z > 10
    wow().this.is.bad;
  #endif
#endif
Run Code Online (Sandbox Code Playgroud)

我想要的工具(如果它不存在则可能需要编写)将是CPP的一个版本,它不仅接受特定调用的定义列表,而且还接受在扩展期间要遵守的定义列表.任何不在第二个列表中的预处理程序符号都是完全不管的.一个例子是按顺序:

cpptreadlight -DY=22 --only=Y
Run Code Online (Sandbox Code Playgroud)

会产生:

#include <foo>
#define baz
#define bar(a) do{(a)+1} \
               while(0)
#ifdef X
    #if Z > 5
      so_far_so_good = true;
    #endif
    #ifdef baz
    something();
    #endif
#else
  #if Z > 10
    wow().this.is.bad; …
Run Code Online (Sandbox Code Playgroud)

c c++ c-preprocessor

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

寻找math.h函数的纯c版本(没有协处理器支持)

我必须使用静态验证C源的一些(半)自动验证软件(CBMC (链接)).支持浮点,但没有所有数学函数的定义.尝试检查是否可以用它来检查数字软件.

所以我需要这些功能.我在找一些math.h没有协处理器使用的定义(例如sqrt,pow,其余部分tan; int/ float/ double).

当我在一些Linux发行版附带的libc(也许现在是eglibc)中查找它时,我总是达到一个点,其中有一些处理器内在函数意味着硬件sqrt函数.

第1部分:搜索软件实现

我需要的是一个支持数学函数的库,具有以下特征:

  • 支持IEEE浮点数,但纯粹基于整数运行的库也会很棒,也许更好.
  • 正确性是一个关键因素.(隐藏在某些来源的特殊情况的已知错误并不那么酷).根据IEEE-754(例如sqrt的规则),结果也应该是正确的.
  • 不使用协处理器调用.纯软件.C是首选,但asm也应该没问题.

到目前为止,我搜索了各种libc实现,特别是有关嵌入式系统的实现.我认为这些库中的大多数都是针对编译程序的可移植性和大小,但很难说它们是否使用特定于处理器的指令.

  • **fdlibm乍一看似乎有一些纯软件定义.我会进一步检查.但是在源代码中提到了一些错误(代码不是标准的).
  • **newlib似乎带来了相同的定义(基于sun microsystems的代码).但是我现在不能肯定地说这些软件版本是否总是被使用,所以可能会有一些我目前看不到的协处理器调用(参见第2部分).
  • **uClibc似乎与newlib共享特征.

第2部分:了解这些实现的结构

  • 有人能给我一些关于这些数学库结构的简短介绍.他们如何调度各种版本(例如特定的协处理器)?

  • 这些不同前缀在文件名中的含义是什么?e_sqrt.c,k_sin,s_sin

我会很高兴听到一些图书馆这可能是对我有用.我宁愿选择一个库,但是当它有必要时,也可以寻找一些单一的函数实现并构建一个小型库.我不会使用math.h中定义的所有函数.

这个这个 SO帖子都说Java Math Implementation是基于fdlibm的,这听起来这个库是可行的.有关这个库的更多信息的人我应该知道吗?

似乎我有很多可能性,包括以下两个:

  1. 使用glibc并在软件模式下编译.问题是,我不能使用任何自动系统检查工具(在configure中).我必须手动提供所有信息.是否有任何标志禁止使用fp-coprocessor并禁止simd操作?fp-without应该是一个开头,然后如果编译它也使用soft-float.我希望编译过程或多或少依赖于主机的特定决策(如arm ......).
  2. 使用fdlibm(目前首选).问题:如何将程序链接到它?我需要像assert这样的非libm函数,但想要链接我的fdlibm而不是安装的system-libm(所以-nodefaultlibs将禁止使用assert).

c libc math.h uclibc newlib

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

在rails中将xml转换为csv

哪些插件或gem可用于将xml转换为csv文件?

ruby ruby-on-rails

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

AutoResetEvent仅在未设置时等待的最佳方式

我可能超出了AutoResetEvent的正确设计,但不太清楚要转向什么.我想要这种行为:

var autoResetEvent = new AutoResetEvent(false);
autoResetEvent.Set();
autoResetEvent.Set();
autoResetEvent.WaitOne();
// since Set was called twice, I don't want to wait here
autoResetEvent.WaitOne();
Run Code Online (Sandbox Code Playgroud)

不幸的是(对于我的问题),这不是AutoResetEvent的行为方式.在这种情况下,最好的课程是什么?

注意:我可以访问.NET Parallel Exensions库.

c# multithreading autoresetevent

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

使用R5RS方案在文件中写入换行符

我一直在寻找一种方法来在我必须使用R5RS的文件中写一个换行符,我在之前的一个问题(换行符端口)中看到过,但是这个版本在这个版本中不起作用,也没有\n,

有任何想法吗?

一切都写在一行(写"你好"p)(写"w"p)

给我一个hellop文件

scheme r5rs

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

Python Try-Except在Function内部

我对python的try-except子句有了很好的理解,但是当我试图把它放在一个函数中时遇到了问题.

>>> def tryAppend(child, parent):
...     try:
...             parent.append(child)
...     except NameError:
...             print "WRONG NAME"
>>> var1 = []
>>> var2 = 'test2'
>>> tryAppend(var2, var1)  #works, no error
>>> tryAppend(foo, var1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'foo' is not defined
Run Code Online (Sandbox Code Playgroud)

它几乎就像python没有看到try:语句.任何帮助表示赞赏.

python exception-handling exception try-catch

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