mirror of
https://github.com/snowykami/mbcp.git
synced 2026-04-26 04:15:36 +00:00
📝 优化文档显示
This commit is contained in:
@@ -85,18 +85,4 @@ def get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...],
|
||||
raise ValueError("Invalid var type")
|
||||
|
||||
|
||||
def curry(func: MultiVarsFunc, *args: Var) -> OneVarFunc:
|
||||
"""
|
||||
对多参数函数进行柯里化。
|
||||
> [!tip]
|
||||
> 有关函数柯里化,可参考[函数式编程--柯理化(Currying)](https://zhuanlan.zhihu.com/p/355859667)
|
||||
Args:
|
||||
func: 函数
|
||||
*args: 参数
|
||||
Returns:
|
||||
柯里化后的函数
|
||||
"""
|
||||
def curried_func(*args2: Var) -> Var:
|
||||
"""@litedoc-hide"""
|
||||
return func(*args, *args2)
|
||||
return curried_func
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
AAA
|
||||
"""
|
||||
|
||||
from .mp_math_typing import ThreeSingleVarsFunc
|
||||
from .mp_math_typing import MultiVarsFunc, OneVarFunc, ThreeSingleVarsFunc, Var
|
||||
from .point import Point3
|
||||
from .vector import Vector3
|
||||
from .const import EPSILON
|
||||
@@ -25,3 +25,29 @@ def cal_gradient_3vf(func: ThreeSingleVarsFunc, p: Point3, epsilon: float = EPSI
|
||||
dy = (func(p.x, p.y + epsilon, p.z) - func(p.x, p.y - epsilon, p.z)) / (2 * epsilon)
|
||||
dz = (func(p.x, p.y, p.z + epsilon) - func(p.x, p.y, p.z - epsilon)) / (2 * epsilon)
|
||||
return Vector3(dx, dy, dz)
|
||||
|
||||
|
||||
def curry(func: MultiVarsFunc, *args: Var) -> OneVarFunc:
|
||||
r"""
|
||||
对多参数函数进行柯里化。
|
||||
> [!tip]
|
||||
> 有关函数柯里化,可参考[函数式编程--柯理化(Currying)](https://zhuanlan.zhihu.com/p/355859667)
|
||||
Args:
|
||||
func: 函数
|
||||
*args: 参数
|
||||
Returns:
|
||||
柯里化后的函数
|
||||
Examples:
|
||||
```python
|
||||
def add(a: int, b: int, c: int) -> int:
|
||||
return a + b + c
|
||||
add_curried = curry(add, 1, 2)
|
||||
add_curried(3) # 6
|
||||
```
|
||||
"""
|
||||
|
||||
def curried_func(*args2: Var) -> Var:
|
||||
"""@litedoc-hide"""
|
||||
return func(*args, *args2)
|
||||
|
||||
return curried_func
|
||||
|
||||
Reference in New Issue
Block a user