我在整个文件中有一堆冗长的重复ggplot2指令.到目前为止,我一直在使用变量控制预设值,保持图形均匀,在一个点中具有配置(例如,改变所有图形的颜色).
我真正想要的是预设这些指令的好方法,所以我不必全部编写语句.作为一个例子,我在文件的顶部定义:
OPTAX=theme_text(angle=30, hjust=1, vjust=1, size=8)
Run Code Online (Sandbox Code Playgroud)
我使用的是情节陈述
P<-ggplot(
data=MYDATA,
aes(x=Topics, y=value, fill=variable)) +
....
opts(axis.text.x=OPTAX)
)
Run Code Online (Sandbox Code Playgroud)
我想避免编写axis.text.x=MYVAR部分并写一些类似的东西
... + opts(MYOPTS) + ...
Run Code Online (Sandbox Code Playgroud)
或者完全避免opts陈述并写下来
... + ALLMYOPTS + ...
Run Code Online (Sandbox Code Playgroud)
所以我的所有选项都在一个语句中预定义.
作为第二件事,覆盖声明是好的.就像是
opts(MYOPTS, axis.text.x=theme_text(angle=60)
Run Code Online (Sandbox Code Playgroud)
会很棒,所以我可以保留预设,但仍然使用自定义选项.
我正在GPU上分配一个cl_mem缓冲区并对其进行处理,它可以正常工作,直到超过一定的大小.在这种情况下,分配本身成功,但执行或复制不成功.我确实想要使用设备的内存以便更快地操作,所以我分配如下:
buf = clCreateBuffer (cxGPUContext, CL_MEM_WRITE_ONLY, buf_size, NULL, &ciErrNum);
Run Code Online (Sandbox Code Playgroud)
现在我不明白的是尺寸限制.我正在复制大约16 MB但应该可以使用大约128 MB(参见参考资料CL_DEVICE_MAX_MEM_ALLOC_SIZE).
为什么这些数字差异如此之大?
以下是oclDeviceQuery的一些摘录:
CL_PLATFORM_NAME: NVIDIA
CL_PLATFORM_VERSION: OpenCL 1.0
OpenCL SDK Version: 4788711
CL_DEVICE_NAME: GeForce 8600 GTS
CL_DEVICE_TYPE: CL_DEVICE_TYPE_GPU
CL_DEVICE_ADDRESS_BITS: 32
CL_DEVICE_MAX_MEM_ALLOC_SIZE: 128 MByte
CL_DEVICE_GLOBAL_MEM_SIZE: 255 MByte
CL_DEVICE_LOCAL_MEM_TYPE: local
CL_DEVICE_LOCAL_MEM_SIZE: 16 KByte
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 64 KByte
Run Code Online (Sandbox Code Playgroud) 摘要:我正在寻找一种方法来配置Eclipse Window Builder的代码生成器,以将其对象引用放在类主体中,而不是在initalize()方法中本地放置.
详细:
Window builder有一个内置的代码生成器/代码分析器,可以从"图形表单设计器"生成GUI代码,反之亦然.快速设计GUI并了解各种框架如何在java中工作(特别是对于Java初学者)非常有用.但是,当我转向更复杂的GUI设置时,我在设计中使用生成的代码时遇到了问题.问题是大多数生成的代码都放在initialize()方法中,这使得对象驻留在本地范围内并且很难从"外部"获得引用.
到目前为止,我已经手动将类型声明从initialize()方法复制/粘贴到类体中作为公共访问它们,但这似乎是错误的方法.只要我不从图形设计器中重新组织GUI,它就可以正常工作.在这种情况下,代码生成器会在方法中再次放置它的类型声明.initialize()
自动生成的代码如下所示:
// AUTO-GENERATED CODE
public class MyGUI {
private void initialize() {
// gui objects declared AND created in this scope by Window Builder
JFrame frame = new JFrame();
JPanel panel_1 = new JPanel();
frame.getContentPane().add(panel_1);
}
}
Run Code Online (Sandbox Code Playgroud)
我想要的是:
public class MyGUI {
// accessible from outside
public Frame frame = null;
public JPanel panel_1 = null;
private void initialize() {
// gui …Run Code Online (Sandbox Code Playgroud)