小编Fla*_*ius的帖子

如何使用AND,XOR和shift来按位计算OR?

问题似乎很好

我有一个只实现AND,XOR,SHL和SHR的虚拟机,但我必须执行"OR 0x01"操作.

bit-manipulation

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

乳胶拉长的括号

如何使第一个矩阵看起来像后者?

alt text http://i42.tinypic.com/n6qfck.png

第一个矩阵的代码是:

$$F(x)=\left(
\begin{array}{cc}
\frac{x}{2} & 0 \\
0 & x^2\\
\end{array}\right)$$
Run Code Online (Sandbox Code Playgroud)

latex

5
推荐指数
1
解决办法
1698
查看次数

预期因子溢出

我想知道在计算阶乘F时是否可以预测下一次迭代是否会产生整数溢出?

假设在每次迭代时我都有一个int I,最大值是MAX_INT.

我知道这听起来像是家庭作业.不是.这只是我问自己"愚蠢"的问题.

附录

我考虑到,给定一些BITS(整数可以采用的宽度,以位为单位),我可以将数字I向下舍入到下一个2的幂,并检测向左移位是否会超过BITS.但是算法怎么样?

algorithm

5
推荐指数
1
解决办法
968
查看次数

将相机对准O(0,0,0),45度

我在设置摄像机时遇到问题,使得它指向原点O(0,0,0),与所有其他轴成45°,所有坐标都是正的(当然,它应该具有相同的值).你可以在图像中看到我最接近的图像

在此输入图像描述

但是,正如您所看到的,x此处的值为负,因此摄像机位于YZ飞机的错误一侧.

完整的可编译项目可以在本修订版中找到.

完成的相关矩阵乘法是

osg::Matrixd rotate_x(
        1.0, 0.0, 0.0, 0.0,
        0.0, q_cos, -q_sin, 0.0,
        0.0, q_sin, q_cos, 0.0,
        0.0, 0.0, 0.0, 1.0 
);
osg::Matrixd rotate_y(
        q_cos, 0.0, q_sin, 0.0,
        0.0, 1.0, 0.0, 0.0,
        -q_sin, 0.0, q_cos, 0.0,
        0.0, 0.0, 0.0, 1.0 
);
camera_pos = camera_pos * rotate_x;
camera_pos = camera_pos * rotate_y;
Run Code Online (Sandbox Code Playgroud)

在文件中Simple.cpp.

我试图找出它的工作原理(数学和程序).我更喜欢在openscenegraph上尽可能少依赖的解决方案,更多的是在数学方面,因为我想先自己做数学,以真正掌握它是如何工作的.所以还没有四元数或其他高级的东西,这些都没有在基础线性代数大学课程中教授.

c++ opengl 3d linear-algebra openscenegraph

5
推荐指数
1
解决办法
217
查看次数

如何在Android上安装外部驱动器的ext4分区,并使其可用于所有应用程序

我编写了以下shell脚本:

alias mount='/system/xbin/busybox mount'
set -e
set -x

MNT=sda1

function mkdir_ext() {
  if [ ! -d $1 ]; then
    mkdir -p $1
  fi
  chown $2 $1
  chmod $3 $1
}

mkdir_ext /storage/emulated/$MNT root:media_rw 777
mount -t ext4 /dev/block/$MNT /storage/emulated/$MNT

mkdir_ext /data/media/$MNT root:media_rw 777
sdcard -u 1023 -g 1023 /storage/emulated/$MNT /data/media/$MNT
Run Code Online (Sandbox Code Playgroud)

执行上述命令后,挂载报告:

root@NEO-X8:/sdcard # mount|grep sda
/dev/block/sda1 /storage/emulated/sda1 ext4 rw,seclabel,relatime,data=ordered 0 0
/dev/fuse /data/media/sda1 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
Run Code Online (Sandbox Code Playgroud)

我通过ssh远程工作,使用root的ssh/sftp守护进程,并以root身份登录,我可以列出文件/storage/emulated/sda1.

根据我的理解,android在设计方面对文件系统不区分大小写,因此文件系统必须融合.

问题是,我只看到一个空目录/data/media/sda1.更奇怪的是,如果我/storage/emulated/sda1使用bash shell …

linux android

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

要求 apt::source 作为依赖项会出现语法错误

我需要在安装docker之前将docker源列表添加到apt中。

我有

apt::source { 'debian-jessie':
  comment  => 'This is the docker Debian jessie mirror',
  location => 'http://apt.dockerproject.org/repo',
  release  => 'debian-jessie',
  repos    => 'main',
  key_content => '58118E89F3A912897C070ADBF76221572C52609D',
  key_server => 'keyserver.ubuntu.com',
  ensure => present,
  include_src  => false,
  include_deb => true,
}
Run Code Online (Sandbox Code Playgroud)

哪个有效,而且还

package {'docker-engine':
  ensure => present,
  before => Class['docker'],
}
Run Code Online (Sandbox Code Playgroud)

仅在第二次运行后才有效(我使用vagrant provision,但这与问题无关)。

我想要的是通过指示 puppet 在apt::sourcebefore执行来使整个事情在第一次配置时工作docker-engine,但是添加它require不是有效的语法:

package {'docker-engine':
  ensure => present,
  before => Class['docker'],
  require => [
    Apt::source['debian-jessie'],
  ]
}
Run Code Online (Sandbox Code Playgroud)

如何指定这个依赖关系?

文件的其余部分如下所示:

class { …
Run Code Online (Sandbox Code Playgroud)

puppet vagrant docker

5
推荐指数
1
解决办法
1161
查看次数

使用标记接口进行安全编程与 Liskov 替换原则

我知道 LSP 以及以下代码给出的原因:

PHP 致命错误:UnauthenticatedUser::executeCommand(UnauthenticatedCommand $c) 的声明必须与第 13 行 /tmp/test.php 中的 User::executeCommand(Command $c) 兼容

但是,我认为这两个接口CommandUnauthenticatedCommand是等效的(因为它们只是标记接口)。

鉴于这些事实,什么是干净的[1]方法可以使未经身份验证的用户无法执行除UnauthenticatedCommand?

<?php

interface Command {
}

interface UnauthenticatedCommand extends Command {
}

interface User {
    public function executeCommand(Command $c);
}

class UnauthenticatedUser implements User {
    public function executeCommand(UnauthenticatedCommand $c) {
    }
}
Run Code Online (Sandbox Code Playgroud)

[1]干净的意思是不使用自省,既不以编程方式也不以引擎的支持 ( instanceof)。

php oop

5
推荐指数
0
解决办法
159
查看次数

您最喜欢的抽象语法树优化

如果你正在构建一个编译器,那么AST级别的优化是最好的吗?

compiler-construction abstract-syntax-tree compiler-optimization

4
推荐指数
2
解决办法
3606
查看次数

小写到大写

如何使用位掩码将小写ASCII字符转换为大写(不允许-32)?

我不是要求解决我的作业,只是提示.

谢谢

c bit-manipulation character

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

警告:函数声明中的参数名称(无类型)[默认启用]

此typedef可以工作:

typedef void (*mem_deallocator)(void*);
Run Code Online (Sandbox Code Playgroud)

但是这个

typedef void* (*mem_allocator)(size_t);
Run Code Online (Sandbox Code Playgroud)

给出警告:

警告:函数声明中的参数名称(无类型)[默认启用]

我正在使用GCC 4.8.1,并且正在使用进行编译-c -Wall

如何修复代码,这样我就不会再收到警告了?

c gcc function-pointers

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