我喜欢F#,但有时候我需要一些轻量级和跨平台的东西,而且没有.NET.我试过多次使用OCamL,但似乎我无法启动它.
所以,现在,我正在从命令shell和不同的光编辑器使用ocamlc -o"main.exe""main.ml".我不使用Vim或Emacs,我使用的是nano,我习惯使用全功能的IDE.
我找到了各种文档(这对我来说是最好的启动http://caml.inria.fr/pub/docs/oreilly-book/html/index.html)但是在寻找一些特定的东西时仍然会让人感到困惑相似的sqlite访问.发现这个:http://neugierig.org/software/ocaml/sqlite/有奇怪的api注释,没有例子.我发现的有关IDE使用的所有文档都已过时或无效.
添加子问题:有些人告诉我"不要使用OCamL,对于拥有低库支持的学生来说,这是一种死语言,似乎就像死了一样,使用python或ruby代替".但我喜欢OCamL的美丽.我想尝试一下.告诉我今天使用OCamL生产代码是否正常?
谢谢.
我正在阅读这本书:"计算机系统 - 程序员视角".我发现,在x86-64架构中,我们仅限于6个积分参数,这些参数将被传递给寄存器中的函数.下一个参数将在堆栈上传递.
而且,第一个最多8个FP或矢量args以xmm0..7传递.
为什么不使用浮点寄存器来存储下一个参数,即使参数不是单/双精度变量?
将数据存储在寄存器中比将其存储到存储器然后从存储器中读取它会更有效(据我所知).
我有一个UITableViewController
包含tableView的.我想将其scrollView委托设置为self,但我不知道该怎么做?如果我打电话
self.tableView.delegate = self;
Run Code Online (Sandbox Code Playgroud)
它将设置UITableViewDelegate
为自我,而不是UIScrollViewDelegate
问题是,我不太明白为什么double可以存储比unsigned long long更多的数字.由于它们都是8字节长,所以64位.
在无符号长long中,所有64位用于存储值,另一方面double表示1表示,11表示指数,52表示尾数.即使用于尾数的52位将用于存储没有浮点的十进制数,它仍然有63位......
但LLONG_MAX明显小于DBL_MAX ......
为什么?
我需要特征检测算法.我厌倦了在网上冲浪,除了SURF示例之外什么都没有,并提示如何做到这一点,但我没有找到除SIFT或SURF等专利描述之外的例子.
任何人都可以写使用的一个例子自由特征检测算法(如ORB/BRISK [据我理解SURF和FLAAN是非游离 ])?
我正在使用OpenCV 3.0.0.
algorithm opencv image-recognition feature-detection opencv3.0
我试图通过使用LaplacianFilter来计算图像的模糊度.
根据这篇文章:https://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/我必须计算输出图像的方差.问题是我从概念上不了解如何计算图像的方差.
每个像素对于每个颜色通道都有4个值,因此我可以计算每个通道的方差,但是我通过计算方差 - 协方差矩阵获得4个值,甚至16个,但根据OpenCV示例,它们只有1个数字.
在计算该数字之后,他们只是使用阈值来进行二元判定,无论图像是否模糊.
PS.我绝不是这方面的专家,因此我的陈述毫无意义.如果是这样,请很高兴编辑问题.
我正在阅读计算机系统:程序员的观点,家庭作业是描述这种算法是如何工作的.
C功能:
void store_prod(__int128 *dest, int64_t x, int64_t y) {
*dest = x * (__int128)y;
}
Run Code Online (Sandbox Code Playgroud)
部件:
movq %rdx, %rax
cqto
movq %rsi, %rcx
sarq $63, %rcx
imulq %rax, %rcx
imulq %rsi, %rdx
addq %rdx, %rcx
mulq %rsi
addq %rcx, %rdx
movq %rax, (%rdi)
movq %rdx, 8(%rdi)
ret
Run Code Online (Sandbox Code Playgroud)
我不知道它为什么表现: xh * yl + yh * xl = value which we add after unsigned multiplication
协程只是完成块周围的语法糖,完成块将在幕后创建吗?或者是协程的概念比编译器技巧又名语法糖更复杂和广泛
由于伸展树用于缓存,我想知道当我想高效缓存时,伸展树相对于哈希表有什么优势?
什么时候我应该更喜欢展开树而不是哈希表?
我想这是一个比 BST 更特殊的情况,请不要链接到 BST 与 Hashtable 答案。
hashtable hashmap time-complexity binary-search-tree data-structures
虽然从解决问题Hackkerank(https://www.hackerrank.com/challenges/string-compression/problem)我已经写了2个实现与不换能器.
我期望传感器实现比功能链操作符更快->>
.不幸的是,根据我的迷你基准测试,链接操作符的性能比传感器好2.5倍.
我在想,我应尽可能使用传感器.或者我没有正确理解传感器的概念?
时间:
"经过的时间:0.844459毫秒"
"经过的时间:2.697836毫秒"
码:
(defn string-compression-2
[s]
(->> s
(partition-by identity)
(mapcat #(if (> (count %) 1)
(list (first %) (count %))
(list (first %))))
(apply str)))
(def xform-str-compr
(comp (partition-by identity)
(mapcat #(if (> (count %) 1)
(list (first %) (count %))
(list (first %))))))
(defn string-compression-3
[s]
(transduce xform-str-compr str s))
(time (string-compression-2 "aaabccdddd"))
(time (string-compression-3 "aaabccdddd"))
Run Code Online (Sandbox Code Playgroud) assembly ×2
c ×2
opencv ×2
x86-64 ×2
128-bit ×1
algorithm ×1
async-await ×1
asynchronous ×1
blurry ×1
c++ ×1
clojure ×1
cocoa-touch ×1
coroutine ×1
hashmap ×1
hashtable ×1
ide ×1
iphone ×1
kotlin ×1
objective-c ×1
ocaml ×1
opencv3.0 ×1
pixel ×1
precision ×1
reduce ×1
transducer ×1
typerex ×1
uitableview ×1
variance ×1
x86 ×1