我在纳米技术实验室工作,在那里我做硅片切割.(晶圆锯仅切割平行线)当然,我们试图最大化我们切割的模具的产量.所有的模具尺寸相同,可以是矩形或方形,并且模具都是从圆形晶片上切割下来的.基本上,我试图将最大的矩形包装成一个圆圈.
我对MATLAB有一个非常基本的理解和对微积分的中间理解.有没有(相对)简单的方法来做到这一点,还是我的方式超过我的头脑?
我正在写一个着色器(HLSL),我需要将颜色值打包成R32格式.我发现了将浮动数据包装成R8G8B8A8格式的各种代码,但它们似乎都没有反过来.我的目标是SM3.0,因此(afaik)位操作不是一种选择.
总结一下,我需要能够做到这一点:
float4 color = ...; // Where color ranges from 0 -> 1
float packedValue = pack(color);
Run Code Online (Sandbox Code Playgroud)
有人知道怎么做吗?
更新
我已经取得了一些进展......也许这将有助于澄清这个问题.
我的临时解决方案是这样的:
const int PRECISION = 64;
float4 unpack(float value)
{
float4 color;
color.a = value % PRECISION;
value = floor(value / PRECISION);
color.b = value % PRECISION;
value = floor(value / PRECISION);
color.g = value % PRECISION;
value = floor(value / PRECISION);
color.r = value;
return color / (PRECISION - 1);
}
float pack(float4 color)
{
int4 …
Run Code Online (Sandbox Code Playgroud) Distutils提供了构建Windows自解压EXE的现有解决方案.值得注意的是,即使我在Ubuntu上,我也可以创建这个包(考虑到我们的自动构建过程,这是必不可少的).
如何从Ubuntu机器构建osx安装程序?
(这是for python 2.7)
我搜索算法来解决这样的问题:
我有几个窗户,每个窗户都可以移动和重新调整尺寸,但宽度和高度之间的比例,例如.2:1(高度:宽度).
每个窗口都不能在其他窗口上,所有窗口必须完全可见.自由区域(桌面壁纸可见性)必须最小化.
谁能告诉我这类问题需要什么算法?
问候,
我有一个C++程序将TCP标头表示为结构:
#include "stdafx.h"
/* TCP HEADER
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data | |U|A|P|R|S|F| |
| Offset| Reserved |R|C|S|S|Y|I| Window |
| | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | …
Run Code Online (Sandbox Code Playgroud) 我打赌有人之前已经解决了这个问题,但我的搜索结果是空的.
我想将一个单词列表打包到一个缓冲区中,跟踪每个单词的起始位置和长度.诀窍是我想通过消除冗余来有效地打包缓冲区.
示例:娃娃娃娃屋
这些可以简单地打包到缓冲区中dollhouse
,记住doll
是从位置0开始的四个字母,在0处dollhouse
是九个字母,house
在3处是五个字母.
到目前为止我想出的是:
由于长词通常包含较短的单词,因此效果很好,但应该可以做得更好.例如,如果我将单词列表扩展为包含ragdoll,那么我的算法会出现dollhouseragdoll
效率低于ragdollhouse
.
这是一个预处理步骤,所以我对速度并不十分担心.O(n ^ 2)很好.另一方面,我的实际列表有数万个单词,所以O(n!)可能是不可能的.
作为旁注,这个存储方案用于TrueType字体的`name'表中的数据,参见.http://www.microsoft.com/typography/otspec/name.htm
我非常喜欢SysInternals实用程序(例如Process Explorer)处理64位兼容性的方式.看起来32位可执行文件中嵌入了64位版本,并在必要时提取它.
我想要一个自动执行此操作的工具 - 即获取32位和64位可执行文件,以某种方式将它们打包在一起,并插入存根代码以根据运行的平台启动正确的可执行文件.
在我开始自己开始之前,有没有人知道这样的东西已经存在?
我有一段Python代码:
def func1():
a=set()
b = ','.join(map(str, list(a)))
return b, []
def func2():
d = 1
e = 2
return func1() + (d, e,)
def main():
a,b,c,d = func2()
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
通过pylint
(1.4.0)运行它时,我收到警告:
W: 12, 4: Possible unbalanced tuple unpacking with sequence: left side has 4 label(s), right side has 3 value(s) (unbalanced-tuple-unpacking)
Run Code Online (Sandbox Code Playgroud)
似乎func2
总是会返回四个结果。错误是什么意思,为什么?
是否有关于在 C 中打包结构的任何保证?
举个例子,假设sizeof(double) == 8
,是否可以保证sizeof(struct { double x, y; }) == 16
?
我知道这个问题背后的意图与严格的别名规则相冲突,因此假设严格别名被禁用,例如在 gcc with 的情况下-fno-strict-aliasing
。
为避免任何进一步的猜测:目的是了解结构与其显式打包对应物的兼容性。请注意,即使在以下情况下,别名也是相关的:是否保证具有相同成员类型的 C 结构在内存中具有相同的布局? . 无需担心我想访问单个字节。
假设我有一个 package foo
,并将foo
我在多个 Python 脚本中使用的二进制共享对象打包起来。
现在我想向 Foo 推出一个新的重大更新。
semvar 中具有不同主要版本的旧依赖项可以通过 PyPI 分发吗?如果是这样,怎么办?