|
LAMMP 4.2.0
Lamina High-Precision Arithmetic Library
|
ele_mul.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:结构体 | |
| struct | fac_t |
| struct | huff_node |
| Copyright (C) 2026 HJimmyK(Jericho Knox) 更多... | |
| struct | huff_tree |
类型定义 | |
| typedef fac_t * | fac_ptr |
| typedef struct fac_t | fac_t |
函数 | |
| mp_size_t | lmmp_elem_mul_ulong_ (mp_ptr dst, const ulongp limbs, mp_size_t n, mp_ptr tp) |
| 计算limbs数组的累乘积 | |
| mp_size_t | lmmp_factors_mul_ (mp_ptr dst, mp_size_t rn, fac_ptr fac, uint nfactors) |
| 计算因子的累乘,并将结果放入dst中 | |
| mp_size_t | lmmp_factors_mul_ushort_ (mp_ptr dst, mp_size_t rn, fac_ptr fac, ushort nfactors) |
| 计算因子的累乘,并将结果放入dst中 | |
| sint | lmmp_huff_tree_build_ (huff_tree *ht) |
| 构建哈夫曼乘法树 | |
| static void | lmmp_huff_tree_free_ (huff_tree *ht) |
| 释放哈夫曼树 | |
| static void | lmmp_huff_tree_init_ (huff_tree *ht, sint cap) |
| 初始化哈夫曼乘法树 | |
| mp_size_t | lmmp_huff_tree_mul_ (huff_tree *ht, sint ridx, mp_ptr dst, mp_ptr tp) |
| 将哈夫曼树中所有元素相乘 | |
| static void | lmmp_huff_tree_push_ (huff_tree *ht, mp_srcptr np, mp_size_t nn) |
| 入队哈夫曼树 | |
| struct huff_node |
Copyright (C) 2026 HJimmyK(Jericho Knox)
This file is part of LAMMP.
LAMMP is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (LGPL) as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed WITHOUT ANY WARRANTY.
huff_node 的协作图:| 成员变量 | ||
|---|---|---|
| sint | left | |
| mp_size_t | nn | |
| mp_srcptr | np | |
| sint | right | |
计算limbs数组的累乘积
| dst | 结果指针(长度为 n 个 limb) |
| limbs | 数组指针 |
| n | limbs数组长度 |
| tp | 临时指针(长度为 n 个 limb) |
被这些函数引用 lmmp_arith_seqprod_(), lmmp_factors_mul_(), lmmp_factors_mul_ushort_(), lmmp_odd_nPr_product_(), lmmp_odd_nPr_product_(), lmmp_odd_nPr_ulong_(), lmmp_odd_nPr_ushort_(), lmmp_primefac_() , 以及 lmmp_trialdiv_().
这是这个函数的调用关系图:计算因子的累乘,并将结果放入dst中
| dst | 结果数组 |
| rn | 结果数组的长度 |
| fac | 因子数组(将会被递归覆盖) |
| nfactors | 因子数组的长度 |
被这些函数引用 lmmp_odd_2factorial_uint_(), lmmp_odd_multinomial_uint_(), lmmp_odd_nCr_uint_() , 以及 lmmp_odd_nPr_uint_().
这是这个函数的调用关系图:计算因子的累乘,并将结果放入dst中
| dst | 结果数组 |
| rn | 结果数组的长度 |
| fac | 因子数组(将会被递归覆盖),且因子数组元素都不可超过ushort范围 |
| nfactors | 因子数组的长度 |
被这些函数引用 lmmp_odd_multinomial_ushort_(), lmmp_odd_nCr_ushort_() , 以及 lmmp_odd_nPr_ushort_().
这是这个函数的调用关系图:释放哈夫曼树
| ht | 哈夫曼树指针 |
引用了 huff_tree::cap, lmmp_free(), lmmp_param_assert, huff_tree::root , 以及 huff_tree::size.
函数调用图:初始化哈夫曼乘法树
| ht | 哈夫曼乘法树指针 |
| cap | 需要插入的元素的最大数量 |
引用了 ALLOC_TYPE, huff_tree::cap, lmmp_param_assert, huff_tree::root , 以及 huff_tree::size.
将哈夫曼树中所有元素相乘
| ht | 哈夫曼乘法树指针 |
| ridx | 哈夫曼乘法树根节点索引 |
| dst | 结果指针(缓冲区长度为根节点的nn值) |
| tp | 临时指针(缓冲区长度为根节点的nn值) |
入队哈夫曼树
| ht | 哈夫曼树指针 |
| np | 待入队的元素指针 |
| nn | 元素的 limb 长度 |
引用了 huff_tree::cap, huff_node::left, lmmp_param_assert, huff_node::nn, huff_node::np, huff_node::right, huff_tree::root , 以及 huff_tree::size.