DownValuesFunction

DownValuesFunction[sym]

表示一个函数,在编译时使用附加于 sym 的定义.

更多信息

范例

打开所有单元关闭所有单元

基本范例  (1)

定义一个求平方函数,并使用它的定义为整数类型的参数创建一个编译函数:

对整数类型参数使用编译函数:

或者,使用 FunctionDeclaration 将函数的定义与类型规范关联在一起:

结果是一样的:

范围  (5)

Multiple Definitions  (5)

可以使用附加到同一符号的多个定义:

声明并编译使用这些定义的函数:

下面调用使用条件的定义:

下面调用使用文字 2 的定义:

调用最后的 catchall 定义:

可以在多个不同类型的声明中使用附加到一个符号上的定义:

创建两个不同类型的声明,并编译使用每个类型的函数:

调用整数类型:

调用实数类型:

可将附加到符号的定义声明为多态类型:

创建两个不同类型的声明,并编译使用每个类型的函数:

调用整数类型:

调用实数类型:

使用符号定义的函数声明可以调用自己:

声明并编译一个使用该声明的函数:

调用函数:

对于不适用于所有输入的函数声明,可以使用述语(predicate)来删除:

做多态声明:

这可以编译为布尔类型,但在编译时,Floor 情况下的谓词已知为 False,因此会被删除:

这是为实数类型编译,并使用带有 Floor 的分支:

应用  (1)

Symbol Definitions  (1)

如果需多次使用声明,使用符号定义的声明就非常有用:

引用符号的 FunctionDeclaration

使用符号的函数:

该函数的编译代码:

基于创建的数据的向量图:

编译版本要快得多:

输出的动画显示:

可能存在的问题  (3)

Updating  (2)

DownValuesFunction 使用的是进行编译时使用的定义:

结果使用的是编译完成时的定义:

KernelFunction 使用的是进行编译时使用的定义:

结果使用的是编译完成时的定义:

Defintion Restrictions  (1)

如果没有适用于所有情况的定义,则会添加一个错误情况:

这运行顺利:

这就会触发错误情况:

不支持带有标头规范的模式:

不支持复合设置:

不支持序列模式:

不支持可选模式:

不支持替代模式:

不支持替代模式:

不支持保持模式:

不支持逐字模式:

模式定义的所有分支的类型必须一致:

Wolfram Research (2022),DownValuesFunction,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DownValuesFunction.html.

文本

Wolfram Research (2022),DownValuesFunction,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DownValuesFunction.html.

CMS

Wolfram 语言. 2022. "DownValuesFunction." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/DownValuesFunction.html.

APA

Wolfram 语言. (2022). DownValuesFunction. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/DownValuesFunction.html 年

BibTeX

@misc{reference.wolfram_2024_downvaluesfunction, author="Wolfram Research", title="{DownValuesFunction}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/DownValuesFunction.html}", note=[Accessed: 18-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_downvaluesfunction, organization={Wolfram Research}, title={DownValuesFunction}, year={2022}, url={https://reference.wolfram.com/language/ref/DownValuesFunction.html}, note=[Accessed: 18-November-2024 ]}