小编Ale*_*nor的帖子

如何处理任意大整数

我正在编写一种编程语言,今天我得到了可以编译阶乘函数(递归)的点,但是由于整数的最大值,我能得到的最大值是阶乘(12).什么是处理任意最大大小的整数的技术.该语言目前通过将代码转换为C++来工作.

c++ integer overflow integer-overflow long-integer

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

为什么cffi比numpy快得多?

我一直在玩python中编写cffi模块,他们的速度让我想知道我是否正确使用标准python.这让我想彻底切换到C!说实话,有一些伟大的python库我永远无法在C中重新实现自己,所以这比任何事情都更加假设.

这个例子显示了python中的sum函数与numpy数组一起使用,以及与ac函数相比有多慢.是否有更快的pythonic方法来计算numpy数组的总和?

def cast_matrix(matrix, ffi):
    ap = ffi.new("double* [%d]" % (matrix.shape[0]))
    ptr = ffi.cast("double *", matrix.ctypes.data)
    for i in range(matrix.shape[0]):
        ap[i] = ptr + i*matrix.shape[1]                                                                
    return ap 

ffi = FFI()
ffi.cdef("""
double sum(double**, int, int);
""")
C = ffi.verify("""
double sum(double** matrix,int x, int y){
    int i, j; 
    double sum = 0.0;
    for (i=0; i<x; i++){
        for (j=0; j<y; j++){
            sum = sum + matrix[i][j];
        }
    }
    return(sum);
}
""")
m = np.ones(shape=(10,10))
print 'numpy says', m.sum()

m_p = cast_matrix(m, …
Run Code Online (Sandbox Code Playgroud)

c python pypy numpy python-cffi

13
推荐指数
1
解决办法
2814
查看次数

hg等效的git revert

我有一个公共存储库的提交.我希望这个提交不在那里(我把这个工作转移到了一个分支),我显然不想破坏分支历史,基本上只是执行该提交的反转.在git中这只是git revert,但我没有使用git :)

git mercurial dvcs

12
推荐指数
1
解决办法
1502
查看次数

手动编写递归下降解析器的资源

我正在寻找手工编写递归下降解析器,我正在寻找有关如何构造它,算法等的良好资源.

parsing recursive-descent

11
推荐指数
1
解决办法
5672
查看次数

如何确定默认的Ruby LOAD_PATH?

假设我编译自己的新Ruby(MRI 1.9.3),默认的LOAD_PATH是什么,如何计算?

ruby require load-path

11
推荐指数
1
解决办法
3998
查看次数

使用SecItemImport导入PKCS12

Apple的OS X 文档谈到了使用SecItemImport获取的问题SecKeyRef.函数签名如下所示:

OSStatus SecItemImport (
   CFDataRef importedData,
   CFStringRef fileNameOrExtension,
   SecExternalFormat *inputFormat,
   SecExternalItemType *itemType,
   SecItemImportExportFlags flags,
   const SecItemImportExportKeyParameters *keyParams,
   SecKeychainRef importKeychain,
   CFArrayRef *outItems
);
Run Code Online (Sandbox Code Playgroud)

以下代码将尝试加载包含单个RSA密钥的PKCS12字节数组:

#include <Security/Security.h>
#include <Security/SecKey.h>
#include <CoreFoundation/CoreFoundation.h>

int main(void) {
    CFArrayRef array = NULL;
    SecItemImportExportKeyParameters params;
    SecExternalItemType itemType = kSecItemTypeUnknown;
    SecExternalFormat format = kSecFormatUnknown;
    params.flags = kSecKeyNoAccessControl;
    UInt8 bytes[] = {
        0x30, 0x82, 0x2, 0x1e, 0x2, 0x1, 0x3, 0x30, 0x82, 0x1, 0xe8, 0x6, 0x9, 0x2a, 0x86, 0x48, 0x86, 0xf7,
        0xd, 0x1, …
Run Code Online (Sandbox Code Playgroud)

c macos cryptography security-framework

11
推荐指数
1
解决办法
1997
查看次数

从私人SecKeyRef获取公钥

鉴于从RSA私钥SecKeyRef加载使用SecItemImport是否有办法获取或创建SecKeyRef仅用于公钥组件?在OpenSSL中,这可以通过将模数和公共指数复制到新结构来完成,但是SecKeyRef不透明,我一直无法找到执行此操作的函数.

c macos cryptography security.framework

11
推荐指数
1
解决办法
685
查看次数

epoll对引用目录的文件描述符做了什么?

就像标题所说,我注册了一个文件描述符,这是一个epoll目录,它有什么作用?

linux epoll file-descriptor

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

C++中类的全局实例

正如标题所说.我如何创建一个全局可用的类的实例(例如,我有一个打印的仿函数,我希望有一个这样的全局实例(虽然可以创建更多)).

c++ singleton

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

如何编写一个常量时间函数来将最高有效位复制到所有位

我想在C中编写一个函数,该函数接受MSB uint8_t,如果设置了,则返回0xFF,如果不是0x00.简而言之,它返回一个整数,其中所有位都设置为与MSB相同的值.

但我想以完全恒定的时间方式完成它,没有分支,没有数组偏移,只是保证总是触摸相同位数的数学运算.理想情况下,没有任何未定义的行为.如何才能做到这一点?

c cryptography bit-manipulation

9
推荐指数
2
解决办法
563
查看次数