Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
imjiangjun
pbrt-v4
提交
8578c815
P
pbrt-v4
项目概览
imjiangjun
/
pbrt-v4
12 个月 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
pbrt-v4
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
8578c815
编写于
9月 23, 2020
作者:
M
Matt Pharr
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Move PermutationElement to math.h (and get rid of shuffle.h)
上级
8be259fe
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
37 addition
and
58 deletion
+37
-58
src/pbrt/util/lowdiscrepancy.cpp
src/pbrt/util/lowdiscrepancy.cpp
+1
-1
src/pbrt/util/lowdiscrepancy.h
src/pbrt/util/lowdiscrepancy.h
+1
-1
src/pbrt/util/math.h
src/pbrt/util/math.h
+35
-0
src/pbrt/util/math_test.cpp
src/pbrt/util/math_test.cpp
+0
-1
src/pbrt/util/shuffle.h
src/pbrt/util/shuffle.h
+0
-55
未找到文件。
src/pbrt/util/lowdiscrepancy.cpp
浏览文件 @
8578c815
...
...
@@ -5,10 +5,10 @@
#include <pbrt/util/lowdiscrepancy.h>
#include <pbrt/util/bits.h>
#include <pbrt/util/math.h>
#include <pbrt/util/parallel.h>
#include <pbrt/util/primes.h>
#include <pbrt/util/print.h>
#include <pbrt/util/shuffle.h>
#include <pbrt/util/stats.h>
namespace
pbrt
{
...
...
src/pbrt/util/lowdiscrepancy.h
浏览文件 @
8578c815
...
...
@@ -9,9 +9,9 @@
#include <pbrt/util/check.h>
#include <pbrt/util/float.h>
#include <pbrt/util/math.h>
#include <pbrt/util/primes.h>
#include <pbrt/util/pstd.h>
#include <pbrt/util/shuffle.h>
#include <pbrt/util/sobolmatrices.h>
#include <pbrt/util/vecmath.h>
...
...
src/pbrt/util/math.h
浏览文件 @
8578c815
...
...
@@ -728,6 +728,41 @@ int NextPrime(int x);
pstd
::
optional
<
SquareMatrix
<
3
>>
LinearLeastSquares
(
const
Float
A
[][
3
],
const
Float
B
[][
3
],
int
rows
);
// Permutation Inline Function Declarations
PBRT_CPU_GPU
inline
int
PermutationElement
(
uint32_t
i
,
uint32_t
l
,
uint32_t
p
);
PBRT_CPU_GPU
inline
int
PermutationElement
(
uint32_t
i
,
uint32_t
l
,
uint32_t
p
)
{
uint32_t
w
=
l
-
1
;
w
|=
w
>>
1
;
w
|=
w
>>
2
;
w
|=
w
>>
4
;
w
|=
w
>>
8
;
w
|=
w
>>
16
;
do
{
i
^=
p
;
i
*=
0xe170893d
;
i
^=
p
>>
16
;
i
^=
(
i
&
w
)
>>
4
;
i
^=
p
>>
8
;
i
*=
0x0929eb3f
;
i
^=
p
>>
23
;
i
^=
(
i
&
w
)
>>
1
;
i
*=
1
|
p
>>
27
;
i
*=
0x6935fa69
;
i
^=
(
i
&
w
)
>>
11
;
i
*=
0x74dcb303
;
i
^=
(
i
&
w
)
>>
2
;
i
*=
0x9e501cc3
;
i
^=
(
i
&
w
)
>>
2
;
i
*=
0xc860a3df
;
i
&=
w
;
i
^=
i
>>
5
;
}
while
(
i
>=
l
);
return
(
i
+
p
)
%
l
;
}
PBRT_CPU_GPU
inline
Float
ErfInv
(
Float
a
)
{
#ifdef PBRT_IS_GPU_CODE
...
...
src/pbrt/util/math_test.cpp
浏览文件 @
8578c815
...
...
@@ -11,7 +11,6 @@
#include <pbrt/util/float.h>
#include <pbrt/util/math.h>
#include <pbrt/util/rng.h>
#include <pbrt/util/shuffle.h>
#include <pbrt/util/vecmath.h>
#include <vector>
...
...
src/pbrt/util/shuffle.h
已删除
100644 → 0
浏览文件 @
8be259fe
// pbrt is Copyright(c) 1998-2020 Matt Pharr, Wenzel Jakob, and Greg Humphreys.
// The pbrt source code is licensed under the Apache License, Version 2.0.
// SPDX: Apache-2.0
#ifndef PBRT_UTIL_SHUFFLE_H
#define PBRT_UTIL_SHUFFLE_H
#include <pbrt/pbrt.h>
#include <pbrt/util/pstd.h>
#include <pbrt/util/rng.h>
#include <algorithm>
#include <cstdint>
namespace
pbrt
{
// Permutation Inline Function Declarations
PBRT_CPU_GPU
inline
int
PermutationElement
(
uint32_t
i
,
uint32_t
l
,
uint32_t
p
);
PBRT_CPU_GPU
inline
int
PermutationElement
(
uint32_t
i
,
uint32_t
l
,
uint32_t
p
)
{
uint32_t
w
=
l
-
1
;
w
|=
w
>>
1
;
w
|=
w
>>
2
;
w
|=
w
>>
4
;
w
|=
w
>>
8
;
w
|=
w
>>
16
;
do
{
i
^=
p
;
i
*=
0xe170893d
;
i
^=
p
>>
16
;
i
^=
(
i
&
w
)
>>
4
;
i
^=
p
>>
8
;
i
*=
0x0929eb3f
;
i
^=
p
>>
23
;
i
^=
(
i
&
w
)
>>
1
;
i
*=
1
|
p
>>
27
;
i
*=
0x6935fa69
;
i
^=
(
i
&
w
)
>>
11
;
i
*=
0x74dcb303
;
i
^=
(
i
&
w
)
>>
2
;
i
*=
0x9e501cc3
;
i
^=
(
i
&
w
)
>>
2
;
i
*=
0xc860a3df
;
i
&=
w
;
i
^=
i
>>
5
;
}
while
(
i
>=
l
);
return
(
i
+
p
)
%
l
;
}
}
// namespace pbrt
#endif // PBRT_UTIL_SHUFFLE_H
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录