单位库简化了单位的使用。据我所知,使用单位绘图适用于基本图,但不适用于 ggplot。有什么建议?
library(units)
# Take cars data frame: stopping dist (ft) vs speed (mph)
plot(cars)
# units + base plot
Distance = set_units(cars$dist, ft)
Speed = set_units(cars$speed, mph)
plot(x=Speed, y=Distance) #Clean
# units + ggplot
library(ggplot2)
df = cars
df$Disance = set_units(df$dist, ft)
df$Speed = set_units(df$speed, mph)
qplot(x=Speed, y=Distance, data=df)
# Error in Ops.units(x, range[1]) :
# both operands of the expression should be "units" objects
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 DirectX12 中使用CreateHeapand 。PlacedResources然而,对于 CreateHeap 来说,它需要一个D3D12_HEAP_DESC“应用程序应该传递SizeInBytes(的字段D3D12_HEAP_DESC)值,该值是有效对齐的倍数”的地方。然后他们去显示一个对齐D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT #defined as 64KB.,其中说 64KB 是对齐。
Microsoft DirectX12 是否使用 65536 字节作为 64KB 或 64000 字节的定义(因此基本上 1024 或 1000 字节是 Microsoft 的 KB 定义)?我不想浪费任何字节,而且我不知道在哪里可以找到微软这些类型单位的定义。正如维基百科显示1024 KB作为千字节的传统单位,因此微软标准是否是最新的也是一个问题。
我想约束策略类的模板参数。\n也就是说,当我调用 时Foo<policy>,如果策略类不满足我想要的要求,我希望编译器在此处停止。
为了简化问题,我们只考虑策略类必须声明一个静态变量的要求,该静态变量本身满足另一个概念(这里是mp-units 库中的 Acceleration 概念) 。
\n#include <units/isq/si/si.h>\n\nusing units::isq::Acceleration;\n\n// A policy\nstruct earth\n{\n // requirement seems to be fulfilled\n static inline constexpr Acceleration auto gravity = standard_gravity<>;\n};\n\n// Let\'s define a concept because I will need soon to use a set of more than 1 requirements\ntemplate <typename T>\nconcept SphericBody = requires(T)\n{\n { T::gravity } -> Acceleration;\n};\n\n// The host class that has a constraint of the template argument\ntemplate<SphericBody T>\nclass Foo\n{\n // ...\n}\n\nint main()\n{\n Foo<earth> …Run Code Online (Sandbox Code Playgroud) 我们正在检查在FPGA与普通Quad x86计算机上运行的算法的速度有多快.
现在在x86,我们运行算法很多次,并采用中位数来消除操作系统开销,这也是"清除"错误的曲线.那不是问题.
FPGA算法中的度量是循环的,然后采用循环到时间,FSMD无论如何都很容易计算周期......
我们认为计数周期太过"纯粹"测量,这可以在理论上完成,而不需要在真实的FPGA中进行真正的测量或运行算法.
我想知道是否存在一篇论文或一些想法,来做一个实时测量.
我发现F#测量单位的想法非常吸引人.然而,通常情况是某些单位具有他们所居住的特定域.例如,距离是正数,温度大于开尔文零,概率在0和1之间,等等 - 但是我没有看到内置任何内容来表示这个概念,并验证特定值是特定单元的有效度量.计量单位是否支持这样的事情(我不这么认为),如果没有,是否有推荐的方法来实现这种行为?
我有一个函数,可以从我自己的3D矢量(支持度量单位)实现转换为XNA的实现:
type Vector3<[<Measure>]'a> with
member inline v.ToXna() =
Microsoft.Xna.Framework.Vector3(v.x / 1.f<_>, v.y / 1.f<_>, v.z / 1.f<_>)
Run Code Online (Sandbox Code Playgroud)
当我编译它时,我得到一个奇怪的错误:
签名和实现不兼容,因为类/签名中的type参数与成员/实现中的类型参数具有不同的编译时要求
这inline似乎是必要的; 没有它,我收到此错误:
此构造使代码不如类型注释所指示的那样通用.度量单位变量'a已被约束为度量'm'.
知道发生了什么事吗?
编辑要回答@ svick的问题,Vector3定义为:
type Vector3<[<Measure>]'u> =
struct
val x:float32<'u>
val y:float32<'u>
val z:float32<'u>
new(x, y, z) = { x = x; y = y; z = z }
end
Run Code Online (Sandbox Code Playgroud)
我也有一些类型推断问题,将其定义为正常函数:
let vector3 (v:DumpEngine.Vector3<_>) =
Vector3(v.x / 1.f<_>, v.y / 1.f<_>, v.z / 1.f<_>)
Run Code Online (Sandbox Code Playgroud)
导致该函数为Vector3 <1> - > Microsoft.Xna.Framework.Vector3,这使得它非常不可用.不过,我不确定这是一个相关的问题.
在这个问题中,"单位"是指物理量中使用的"度量单位".
我想安全地解析包含物理量(例如'23 kg')的不可信用户输入字符串.我想使用一个可用于Python的软件包(如Unum或Quantities),因为它们负责单元之间的转换,简化数学表达式中包含的单元,减少到基本单元,但我找不到办法将字符串转换为除了使用之外的(上述包的)对象eval(),这似乎是不安全的.
例如,假设kg并且cm绑定到Unum包对象并引用千克和厘米单位,我需要一个能够从字符串返回Unum包对象的函数,如:
cast_to_unit("100 kg/cm")
要么
"100 kg/cm".asUnit()
eval()?如果不,有许多不同的测量单位,何时应该使用哪些?到目前为止,我发现了sp,dp,px,in和mm.还有我应该知道的吗?有没有特殊情况(例如对话)?
其他问题没有明确给出示例或解释何时或为何使用这些单位.
我知道这不是主题,但有些人可以回答我没有得到太多关注的另一个问题/sf/ask/1772226571/ a-compound-view-android(我真的需要一个答案)
有一个好奇的时间弄清楚为什么这似乎不起作用.
我应用了CSS背景渐变,例如:
.element {
width: 10cm;
height: 5cm;
background-size: 1cm;
background-image: repeating-linear-gradient(
90deg,
red,
black
);
}
.child {
width: 1cm;
height: 1cm;
background: green;
outline: 1px solid black;
float:left;
}
.child:before {
content: "1cm";
color: white;
}Run Code Online (Sandbox Code Playgroud)
<div class="element">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>Run Code Online (Sandbox Code Playgroud)
现在,在查看时(这是来自Chrome,但我在其他浏览器中看到类似的结果),这些行与该元素不匹配.我希望看到10个均匀分布的"背景"重复,最右边的排列与元素的边缘完全一致.
这个额外空间的原因是什么?
http://codepen.io/anon/pen/JoLVem
在codepen示例中,我有一个具有我想要的背景的元素,并且该元素有10个子元素.父母身高10厘米,儿童身高1厘米.正好10个孩子适合父母,因为1cm*10 = 10cm.
然而,背景是重复1cm宽的梯度.这应该导致在10cm宽的元素上精确地重复10次背景重复.如您所见,每个背景图像都不到1厘米.
[编辑:改变米/码到foo/bar; 这不是关于将米转换为码.]
将类型附加到标量的最佳方法是double什么?典型的用例是度量单位(但我不是在寻找实际的实现,boost有一个).
这看起来很简单:
template <typename T>
struct Double final
{
typedef T type;
double value;
};
namespace tags
{
struct foo final {};
struct bar final {};
}
constexpr double FOOS_TO_BARS_ = 3.141592654;
inline Double<tags::bar> to_bars(const Double<tags::foo>& foos)
{
return Double<tags::bar> { foos.value * FOOS_TO_BARS_ };
}
static void test(double value)
{
using namespace tags;
const Double<foo> value_in_foos{ value };
const Double<bar> value_in_bars = to_bars(value_in_foos);
}
Run Code Online (Sandbox Code Playgroud)
那是真的吗?或者这种方法是否存在隐藏的复杂性或其他重要因素?
这似乎远远超过
inline double foos_to_bars(double foos)
{
return foos …Run Code Online (Sandbox Code Playgroud) c++ ×2
f# ×2
android ×1
c++-concepts ×1
casting ×1
css ×1
directx ×1
directx-12 ×1
fpga ×1
ggplot2 ×1
measurement ×1
msdn ×1
python ×1
r ×1
string ×1
templates ×1
types ×1
validation ×1
visual-c++ ×1