小编Lyn*_*ite的帖子

MS-Excel负时间

我正在为商店经理写一份电子表格.它的作用是跟踪工人工作的小时数.

因此,您输入周一至周日的时间,然后进行调整 - 例如,如果它们每月工作40/40/40/32小时,那么您将调整为-2/-2/-2/+ 6工人到他需要付钱的38小时工作周.一些(大多数)周可能会调整加班时间.然后电子表格总计小时数.

这个电子表格应该只是纸质表格的自我计算版本.它需要匹配纸质表格,因为它必须替换给公司其他成员的旧表格(付款职员,我不知道;我不是重建他们的整个系统,只是更换表格)

我在调整字段中输入负时间时遇到问题 - 该字段具有[h]:mm格式.当我输入一个负时间(例如-2:00)时,它显示一个错误,说"格式不正确的方程式",并建议如果我输入一个字符串,那么我应该用撇号作为前缀.

我该如何克服这个问题?

excel time

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

Prolog,使用表达式

我正在尝试学习SWI prolog,但是当我相信它应该成功时,我的简单程序就失败了.

%My code:
orthogonal((X1,Y1,Z1),(X2,Y2,Z2)) :- (X1*X2)+(Y1*Y2)+(Z1*Z2)==0.
integerVector((X,Y,Z)) :- integer(X),integer(Y),integer(Z).

?-orthogonal((1,0,0),(0,0,1)).
Run Code Online (Sandbox Code Playgroud)

我在pseudoemacs窗口中按下编译缓冲区,输出为:

% [PATH].pl compiled 0.00 sec, 136 bytes
ERROR: emacs_prolog_mode ->error_at_location: Argument 1 (int): `int' expected, found `@11470948?start'
ERROR: emacs_prolog_mode ->error_at_location: Argument 1 (int): `int' expected, found `@11470948?start'
Warning: [PATH]s.pl:5:
        Goal (directive) failed: user:orthogonal((1,0,0), (0,0,1))
Run Code Online (Sandbox Code Playgroud)

prolog

6
推荐指数
2
解决办法
1006
查看次数

jinja2自定义过滤器"TemplateAssertionError:没有名为'format_number'的过滤器"

我得到了" TemplateAssertionError:无过滤器命名为'format_number’ "的错误,试图通过更新过滤器对环境的字典登记在模板环境自定义过滤器时.

在我的模块中,我导入了以下环境模块:

from jinja2 import environment 
Run Code Online (Sandbox Code Playgroud)

在我的课上,我定义了以下方法:

class DashboardHandler(SecurePageHandler):

   def format_number(number):
        s = '%d' % number
        groups = []
        while s and s[-1].isdigit():
            groups.append(s[-3:])
            s = s[:-3]
        return s + ','.join(reversed(groups))

    def do_get(self):
            # ... snip ...
            env = environment.Environment(self)
            env.filters['format_number'] = self.format_number
            # ... snip ...
Run Code Online (Sandbox Code Playgroud)

在我的html模板文件中,我尝试按如下方式实现过滤器:

{{top_five_url .total|format_number}}
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?

是否有默认环境实例,我们应该使用?

python environment filter jinja2

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

如何创建标记的散点图?

我想在Gadfly中绘制一个标记的散点图,如下所示.

像这个例子 (来源:http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/images/renda.png)

我怎样才能做到这一点?

散点图很简单:

using Gadfly
X = [1, 2, 2, 3, 3, 3, 4]
Y = [4, 4, 7, 7, 9, 1, 8]
Labels = ["bill", "susan", "megan", "eric", "fran", "alex", "fred"]

plot(x=X, y=Y)
Run Code Online (Sandbox Code Playgroud)

选项是使用颜色,但这不是很好,因为传说变得巨大(特别是在不那么简单的例子中).

plot(x=X,y=Y, color=Labels)
Run Code Online (Sandbox Code Playgroud)

颜色

plot scatter-plot julia gadfly

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

检测CPU功能支持(例如sse2,fma4等)

我有一些代码依赖于CPU和OS支持各种CPU功能.

特别是我需要检查各种SIMD指令集支持.即sse2,avx,avx2,fma4,和neon.(neon作为ARM SIMD功能.我对此不太感兴趣;给予较少的ARM最终用户.)

我现在正在做的是:

function cpu_flags()
    if is_linux()
        cpuinfo = readstring(`cat /proc/cpuinfo`);
        cpu_flag_string = match(r"flags\t\t: (.*)", cpuinfo).captures[1]
    elseif is_apple()
        sysinfo = readstring(`sysctl -a`);
        cpu_flag_string = match(r"machdep.cpu.features: (.*)", cpuinfo).captures[1]
    else
        @assert is_windows()
        warn("CPU Feature detection does not work on windows.")
        cpu_flag_string = ""
    end
    split(lowercase(cpu_flag_string))
end
Run Code Online (Sandbox Code Playgroud)

这有两个缺点:

  1. 它不适用于Windows
  2. 我只是不确定它是否正确; 它呢?或者是否搞砸了,例如操作系统是否已禁用某项功能,但CPU是否支持该功能?

所以我的问题是:

  1. 如何在Windows上完成这项工作.
  2. 这是正确的,甚至可以获得这些信息吗?

这是构建脚本的一部分(使用BinDeps.jl); 所以我需要一个不涉及打开GUI的解决方案.理想情况下,这不会增加第三方依赖.以某种方式从GCC中提取信息会起作用,因为我已经要求GCC编译一些共享库.(选择哪个库,这是检测指令集的代码)

linux windows macos cpu julia

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

如何以编程方式访问 DocStrings?

我正在编写一个宏,它采用函数名称,并声明该函数的几个其他版本。我想为这些变体提供与原始方法相同的文档字符串,也许还需要进行一些更改。

为此,我需要检索原始方法的文档字符串。

所以我正在寻找的是一个函数:

get_docstring(functionname::Symbol, argtypes)::String

这样我就可以做到:

julia> s=get_docstring(:values,(Associative,))然后s将被设置为:

s="""
    values(a::Associative)
Return an iterator over all values in a collection.
`collect(values(d))` returns an array of values.
```jldoctest
julia> a = Dict('a'=>2, 'b'=>3)
Dict{Char,Int64} with 2 entries:
  'b' => 3
  'a' => 2
julia> collect(values(a))
2-element Array{Int64,1}:
 3
 2
```
"""
Run Code Online (Sandbox Code Playgroud)

docstring julia

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

如何使用JuMP向MIP请求第二个最佳解决方案

我有一个混合整数规划问题.我可以使用JuMP找到最佳解决方案.但我怎样才能找到第二个最佳解决方案?或者第三好等

这可能是另一个同样最优的解决方案,或者它可能是更糟糕的解决方案,或者可能是:Infeasible- 可能没有大多数解决方案.

我知道对于类似TSP的问题,我可以通过逐步删除最佳路径上的链接来找到其他解决方案(即将某些城市之间的距离设置为无限).对于调度类型问题,我可以类似地逐步设置禁止在最佳路径中使用的时隙的可用性.

但有没有一种通用的方法来做到这一点,而没有编写自己的问题特定的方法来禁止这个解决方案?

mathematical-optimization julia coin-or-cbc julia-jump mixed-integer-programming

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

手动调用`gc()`会导致所有`终结器'立即执行吗?

我有一些我怀疑是泄漏记忆的代码.因为代码使用ccall并维护指针内部保存的重要信息,这些信息应该由s ccall期间编写的代码释放finalizer.

在我的调试中,我正在打电话gc().我想知道这是否会立即触发finalizer附加到已超出范围的对象的所有s

答案应该只关注julie 0.5+.

garbage-collection finalization julia

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

什么时候`@ static`运行?

@static expr是一种只运行expr一次的方法; 对于某种感觉.
但它有什么意义呢?

是吗:

  • 每次安装一次包装?
  • 每次包装一次?
  • 其他一些定义

最常见的用途是用于OS检查:例如 ccall((@static Sys.iswindows() ? :_fopen : :fopen), ...)

我想知道我是否可以使用它来生成基于环境变量的不同代码:特别是JULIA_NUM_THREADS.这个环境变量可以在julia的运行之间改变,但如果它在会话期间发生变化,则不会对它做出任何反应.

precompile julia

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

类型不稳定性如何会严重损害性能呢?

我很好奇,如果您的代码中存在类型不稳定性,到底是什么严重影响了性能?

  • 从字面上看是否需要在运行时执行类型检查,我想在我脑海中是一堆if / else语句(如果Float64 ... elseif Int64 elseif Float32 ...等)
  • 和/或类型检查是否阻止CPU在循环中进行流水线处理?
  • 还是主要的问题是对于类型不稳定变量类型的所有操作都会发生堆分配?
  • 或者是其他东西?
  • 任何见解或链接到进一步的资源将不胜感激。

这个问题最初是由Oscar在JuliaLang Slack频道上提出的

performance types julia

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