小编mbu*_*nit的帖子

iso_level3_shift和latch之间的区别

ISO_Level3_Shift和ISO_Level3_Latch之间的区别是什么,例如,在/ usr/share/X11/xkb/symbols中找到的level3配置文件(在archlinux和许多其他发行版中,我确定).

例如,我将此条目添加到我正在处理的自定义键盘中(对于逻辑学家,不要担心,⊥→太棒了).

// make right control do level3 shift stuff
default partial modifier_keys
 xkb_symbols "rctrl_switch" {
  key <RCTL> {
    type[Group1]="ONE_LEVEL",
    symbols[Group1] = [ ISO_Level3_Shift ]
    };
  include "level3(modifier_mapping)"
};
Run Code Online (Sandbox Code Playgroud)

它按预期工作(按住右键控件可以访问3级符号,例如,我对于us-intl布局变体大多数是unicode代码点),但我想知道为什么有些条目使用ISO_Level3_Latch,那是什么甚至意味着.

x11 keyboard

8
推荐指数
1
解决办法
1312
查看次数

OCaml中的Cholesky分解

我想知道是否有人可以帮助我调试以下OCaml代码,该代码应该计算正定矩阵的上三角cholesky分解.

我知道它不是很实用,而且非常厚实,所以我提前道歉.我在下面给出了一些理由.

无论如何这里去!

let rec calc_S m1 k i = 
if k == i then 
  let float = sum_array m1.(i) in float
else
  begin
    m1.(k).(i) <- m1.(k).(i)**2.;
    calc_S m1 (k+1) i;
  end
;;

let rec calc_S1 m1 k i j len= 
if k == len then 
  let float = sum_array m1.(i) in float
else
  begin
    m1.(k).(j) <- m1.(k).(i)*. m1.(k).(j);
    calc_S1 m1 (k+1) i j len;
  end
;;             

let cholesky m1 =
  let ztol = 1.0e-5 in
  let result = zerof …
Run Code Online (Sandbox Code Playgroud)

python algorithm ocaml matrix

4
推荐指数
1
解决办法
398
查看次数

ocaml sprintf澄清

我不明白为什么会这样:

Printf.sprintf "%08s" "s" = Printf.sprintf "%8s" "s"
- : bool = true
Run Code Online (Sandbox Code Playgroud)

换句话说,我希望:

Printf.sprintf "%08s" "s"
- : string = "0000000s"
Run Code Online (Sandbox Code Playgroud)

而不是实际结果:

- : string = "       s"
Run Code Online (Sandbox Code Playgroud)

有人可以澄清为什么会这样吗?

printf ocaml

4
推荐指数
1
解决办法
478
查看次数

标签 统计

ocaml ×2

algorithm ×1

keyboard ×1

matrix ×1

printf ×1

python ×1

x11 ×1