# node-math **Repository Path**: nodets/node-math ## Basic Information - **Project Name**: node-math - **Description**: node-path是一个轻量级的数学工具库,提供了丰富的数学函数和常量,适用于科学计算、工程应用以及日常开发中的数学需求。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-18 - **Last Updated**: 2025-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # node-math node-math 是一个轻量级的数学工具库,提供了丰富的数学函数和常量,适用于科学计算、工程应用以及日常开发中的数学需求,支持 CommonJS、ES Module。 ## 功能特性 ### 基础数学运算 - **平方根**:`sqrt(x)` - 计算非负数的平方根。 - **取整**: - `ceil(x)` - 向上取整。 - `floor(x)` - 向下取整。 - `round(x)`- 四舍五入。 - **绝对值**:`abs(x)` - 返回数字的绝对值。 - **符号函数**:`sign(x)` - 判断数字的正负性。 - **范围限制**:`clamp(x, min, max)` - 将数字限制在指定范围内。 - **整数判断**:`isInteger(x)` - 判断是否为整数。 - **有限数判断**:`isFiniteNumber(x)` - 判断是否为有限数。 ### 数学常量 - `e` - 欧拉常数(约等于 2.71828)。 - `pi` - 圆周率 π(约等于 3.14159)。 - `tau` - Tau 常数 τ(等于 2π,约等于 6.28318)。 - `inf` - 正无穷大。 - `nan` - 非数字值。 ### 指数与对数 - **指数函数**: - `exp(x)`- 计算 e 的 x 次幂。 - `pow(x, y)` - 计算 x 的 y 次幂。 - **对数函数**: - `log(x, base)` - 计算以指定底数为基准的对数值。 - `log10(x)`- 计算以 10 为底的对数值。 - **指数增长/衰减**: - `exponentialGrowth(A, k, t)`- 计算指数增长或衰减值。 ### 数论相关 - **最大公约数**:`gcd(a, b)` - 使用欧几里得算法计算两个数的最大公约数。 - **最小公倍数**:`lcm(a, b)` - 计算两个数的最小公倍数。 - **阶乘**:`factorial(x)` - 计算非负整数的阶乘。 - **素数判断**:`isPrime(n)` - 判断一个数是否为素数。 - **素数生成**:`sieveOfEratosthenes(n)` - 使用埃拉托色尼筛法生成小于等于 n 的所有素数。 - **组合与排列**: - `comb(n, k)` - 计算组合数 C(n, k)。 - `perm(n, k)` - 计算排列数 P(n, k)。 ### 三角函数 - **基本三角函数**: - `sin(x)` - 正弦值。 - `cos(x)` - 余弦值。 - `tan(x)` - 正切值。 - **反三角函数**: - `asin(x)` - 反正弦值。 - `acos(x)` - 反余弦值。 - `atan(x)`- 反正切值。 - **角度转换**: - `toRadians(degrees)` - 将角度转换为弧度。 - `toDegrees(radians)` - 将弧度转换为角度。 - **双曲函数**: - `sinh(x)` - 双曲正弦。 - `cosh(x)` - 双曲余弦。 - `tanh(x)` - 双曲正切。 - **反双曲函数**: - `asinh(x)` - 反双曲正弦。 - `acosh(x)` - 反双曲余弦。 - `atanh(x)` - 反双曲正切。 ## 安装与使用 ### 安装方式 #### 1. 直接克隆仓库 ```bash git clone https://gitee.com/nodets/node-math.git cd node-math npm install npm run build # 生成各环境适配版本 ``` #### 2. NPM 安装(未来支持) ```bash npm install @nodets/node-math # 或 yarn add @nodets/node-math ``` ### 环境支持与使用示例 #### 1. ES Module (ESM) 环境 适用于现代 Node.js (v14+)、TypeScript 项目或支持 ESM 的浏览器打包工具(Webpack/Vite) ```javascript // 导入全部内容 import * as math from 'node-math/dist/esm/index.js'; // 按需导入 import { sqrt, pi, factorial, gcd } from 'node-math/dist/esm/index.js'; console.log(sqrt(16)); // 输出 4 console.log(pi); // 输出 3.141592653589793 console.log(factorial(5)); // 输出 120 console.log(gcd(56, 98)); // 输出 14 ``` #### 2. CommonJS 环境 适用于传统 Node.js 项目(使用 `require`) ```javascript // 导入全部内容 const math = require('node-math/dist/cjs/index.js'); // 按需导入 const { sqrt, pi, factorial, gcd } = require('node-math/dist/cjs/index.js'); console.log(sqrt(25)); // 输出 5 console.log(math.toDegrees(math.pi / 2)); // 输出 90 ``` #### 3. 浏览器环境 可直接通过 ` ``` #### 4. TypeScript 项目 库内置类型定义,可直接获得类型提示 ```typescript import { isPrime, comb } from 'node-math/dist/esm/index.js'; // 类型提示会自动生效 const primeCheck = isPrime(17); // boolean 类型 const combination = comb(10, 3); // number 类型 ``` ## 许可证 本项目采用 MIT 许可证开源,详情参见 LICENSE 文件。