小编Joh*_*iss的帖子

Python中的管道字符

|在函数调用中看到一个"管道"字符():

res = c1.create(go, come, swim, "", startTime, endTime, "OK", ax|bx)
Run Code Online (Sandbox Code Playgroud)

管道的含义是什么ax|bx

python pipe bitwise-operators

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

如何获得当前目录?

我一直在C#和Delphi中这样做,但C++是邪恶的.目的是在当前目录中创建一个文件(可执行文件正在运行).

我的代码:

LPTSTR NPath = NULL;
DWORD a = GetCurrentDirectory(MAX_PATH,NPath);
HANDLE hNewFile = CreateFile(NPath,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
Run Code Online (Sandbox Code Playgroud)

我在GetCurrentDirectory()中遇到异常.

请告诉我为什么我得到一个例外,如何在C++中更容易?

c++ windows

53
推荐指数
8
解决办法
25万
查看次数

任意元素类型的Haskell线性代数矩阵库

我正在寻找具有以下功能的Haskell线性代数库:

  • 矩阵乘法
  • 矩阵添加
  • 矩阵换位
  • 排名计算
  • 矩阵求逆是一个优点

并具有以下属性:

  • 任意元素(标量)类型(在那些特定元素类型 Storable实例).我的元素是一个实例Num,另外可以计算乘法逆.元素在数学上形成有限域(2 256).这应该足以实现上述功能.
  • 任意矩阵大小(我可能需要100x100之类的东西,但是矩阵大小将取决于用户的输入,所以除了内存或可用的计算能力之外,它不应受其他任何限制)
  • 尽可能快,但我知道,对于任意元素库可能会不喜欢这样做,因为任意(非的间接的工作(通过FFI接口),一个C/Fortran语言库执行Int,Double或类似的)类型.触摸元素时,至少有一个指针被解除引用
  • (用Haskell编写,这对我来说不是真正的要求,但由于我的元素不是Storable实例,所以库必须用Haskell编写)

我已经非常努力地评估了看起来很有希望的一切(Hackage上的大多数库都直接表明它们不适合我).特别是我用以下方法编写了测试代码

  • hmatrix,假设Storable元素
  • Vec,但文档说明:

    低维度:虽然维度仅受GHC处理的限制,但该库适用于2,3维和4维.对于一般线性代数,请查看优秀的hmatrix库并进行绑定

我查看了更多库的代码和文档,但似乎没有什么能满足我的需求:-(.

更新

由于似乎什么都没有,我在GitHub上开始了一个项目,旨在开发这样一个库.当前状态非常简约,根本没有针对速度进行优化,只有最基本的功能才有测试,因此应该可以工作.但是,如果您有兴趣使用或帮助开发它:联系我(您将在我的网站上找到我的邮件地址)或发送拉取请求.

haskell matrix linear-algebra

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

Objective-C self - > _ ivar access with explicit vs implicit self->

一般问题

直到现在,我一直认为self->_ivar相当于_ivar.今天我发现这并不完全正确.

例如,请参阅以下代码段:

@interface TestClass : NSObject {
    NSString *_testIVar;
}
@end

@implementation TestClass

- (instancetype)init
{
    if ((self = [super init])) {
        _testIVar = @"Testing Only";
    }
    return self;
}

- (void)test
{
    {
        NSInteger self = 42;
        NSLog(@"without arrow: %@", _testIVar);        /* OK              */
        NSLog(@"with    arrow: %@", self->_testIVar);  /* COMPILER ERROR! */
    }
}

@end
Run Code Online (Sandbox Code Playgroud)

即使我隐藏了原始self的一些NSInteger也命名self,隐含的ivar语法_testIVar仍然找到"原始"自我,而self->_testIVar显然不是.在后一种情况下,编译器正确地抱怨

成员引用类型'NSInteger'(又名'long')不是指针

然而,在第一种情况下,它只是起作用.

现实世界的问题

这个例子似乎相当人为,但根本不是.例如,ExtObjC项目(由ReactiveCocoa使用)通过定义一个非常方便的语法(不需要编写奇怪和繁琐的写入)来定义非常方便 …

block objective-c ivar reactive-cocoa

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

Haskell/GHC每线程内存成本

我试图理解Haskell(OS X 10.10.5上的GHC 7.10.1)中的(绿色)线程有多贵.我知道它与真正的操作系统线程相比非常便宜,无论是内存使用还是CPU.

是的,所以我开始编写一个带有forks n(绿色)线程的超简单程序(使用优秀的async库),然后只需每个线程休眠m几秒钟.

嗯,这很容易:

$ cat PerTheadMem.hs 
import Control.Concurrent (threadDelay)
import Control.Concurrent.Async (mapConcurrently)
import System.Environment (getArgs)

main = do
    args <- getArgs
    let (numThreads, sleep) = case args of
                                numS:sleepS:[] -> (read numS :: Int, read sleepS :: Int)
                                _ -> error "wrong args"
    mapConcurrently (\_ -> threadDelay (sleep*1000*1000)) [1..numThreads]
Run Code Online (Sandbox Code Playgroud)

首先,让我们编译并运行它:

$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.10.1
$ ghc -rtsopts -O3 -prof -auto-all -caf-all PerTheadMem.hs
$ time …
Run Code Online (Sandbox Code Playgroud)

memory multithreading haskell ghc

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

如何将CFDataRef转换为NSData?

如何将CFDataRef转换为NSData?

我有CFDataRef,我想将其转换为NSData.我没有得到如何做到这一点.

有人帮我..

    CGDataProviderRef dataProvider = CGImageGetDataProvider(screenShot);
    CFDataRef data = CGDataProviderCopyData(dataProvider);
    CGDataProviderRelease(dataProvider);
    NSString *imagePathLocation = [destinationPath stringByAppendingString:[@"/" stringByAppendingString:DesktopImage]];
    [[NSFileManager defaultManager]createFileAtPath: imagePathLocation contents:nil attributes:nil];
    fileHandleForImage = [NSFileHandle fileHandleForWritingAtPath:imagePathLocation];
    NSData * data1 = (NSData *)data;
    [fileHandleForImage writeData:data1];
Run Code Online (Sandbox Code Playgroud)

当我进行类型转换(NSData * data1 = (NSData *)data)时,它会被图像损坏.

objective-c

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

精确大有限域线性代数库(例如GF(2 ^ 128)/ GF(2 ^ 256))

一般

我正在寻找一个能够在大型有限域上进行精确计算的库,例如GF(2 128)/ 2 128和GF(2 256)/ 2 256.我列出了我需要的功能以及下面很酷的功能.显然,图书馆应尽可能快:-).啊,因为我不是C++主人(可能大多数库是C++),所以示例代码生成一个随机元素/一个常量并将其乘以它的乘法逆

必备功能

  • 增加了田野元素
  • 场元素的乘法
  • 找到字段元素的乘法逆

很高兴有特色

  • 矢量/矩阵支持
  • 随机元素支持

我已经看过的图书馆可能不会起作用

  • FFLAS/FFPACK似乎不适用于如此大的有限域
  • Givaro似乎没有在如此大的有限领域工作

我已经看过的图书馆可以工作(但我无法使用)

  • NTL,我无法反转一个元素,但它应该真的有效,因为SAGE似乎在定义GF(2 ^ 256)时使用这个库,并且可以使用它来反转元素x^(-1)
  • PARI/GP,我无法在文档中找到我需要的所有内容,但是SAGE文档有点说它应该可以工作

其他说明

  • 我正在编写一个Haskell程序,稍后将接口该库,因此更容易Haskell接口更好:-)

c++ math linear-algebra computer-algebra-systems finite-field

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

如何在Haskell中将整数转换为ByteString

我们想以特定的二进制格式序列化数据.我们Data.ByteString在内部使用s.

所以,问题是:如何将我们使用的不同数据类型转换为ByteString.因为String我们没有问题,我们可以使用encodeLazyByteString UTF8 "string".但我们也希望将Integers 转换为ByteStrings(big-endian).

有谁知道如何做和/或有任何使用Haskell和二进制格式的好技巧?

谢谢!

haskell bytestring

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

从Linux中的C/C++程序发送电子邮件

我希望每次模拟结束时都会向我的Gmail帐户发送一封电子邮件.我试过在网上搜索并发现sendEmail,但它已超时.如果有人能指出我们试过的包裹或链接,我会感激不尽.

谢谢

c c++ linux email gmail

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

Android - 激活系统密钥锁(又名锁屏)

我必须激活android的系统密钥锁(当您按下电源关闭/挂断按钮时获得的那个).看这里:

IMG

我已经浏览了文档,但我发现的一切都是PowerManagerKeyguardManager.两者似乎都不是解决方案:-(.

那么,每个人都知道如何从Android应用程序实现这一目标吗?(如果需要特殊权限,那没问题,但更改设备的设置不是解决方案......)

编辑:或者有人知道这绝对不可能吗?顺便说一句.带发送密钥的craigs解决方案不再起作用(请参阅注释).

java keyboard android locking device-admin

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