Skip to content

Instantly share code, notes, and snippets.

View inkydragon's full-sized avatar

Chengyu Han inkydragon

View GitHub Profile
@inkydragon
inkydragon / besseli_domains.py
Last active January 13, 2026 10:19
Bessels.jl Acc test (20260113+849c4cc)
# SPDX-License-Identifier: MIT
# Author: Chengyu Han (inkydragon/awesome-special-functions)
"""
Modified Bessel functions of the first kind of order nu: besseli(nu, x)
- `nu == 0`: besseli0(x)
- `nu == 1`: besseli1(x)
- Neg `nu`: ``I_{-v}(x) = I_v(x) + (2/π)*sin(πv) * K_v(x)``
- Special case: integer `v=n`: ``I_{-n}(x) = I_n(x)``
- Neg `x`: ``I_v(-x) = e^{iπv}* I_v(x)``
@inkydragon
inkydragon / Fukushima2015-xkebd.md
Last active January 6, 2026 07:32
T. Fukushima, 2015, Precise and fast computation of complete elliptic integrals by piecewise minimax rational function approximation, J. Comp. Appl. Math., 282, 71-76

xkebd.txt (F90 package of complete elliptic integral computation by minimax approximation)

  • March 2023
  • Languages: Fortran
  • LicenseCC BY 4.0
  • Toshio Fukushima

Presented are eight Fortran 90 programs to compute four complete elliptic integrals of first and second kind, K(m), E(m), B(m), D(m):

  1. xkbed.f90, test driver of "ceik", "ceie", "ceib", "ceid", "sceik", "sceie", "sceib", and "sceid" ,
@inkydragon
inkydragon / dlmf.csv
Last active December 14, 2025 16:04
Special Functions implementation survey (2025-12-14)
We can make this file beautiful and searchable if this error is corrected: It looks like row 9 should actually have 10 columns, instead of 6 in line 8.
Class,SubClass,Function Name,NO,SpecialFunctions.jl,Mathematica,scipy,Desc,DLMF,MathWorld
Gamma Functions,Factorial Function,n!,1 ,factorial(n::Integer),n!,factorial(n),factorial of non-negative integer n,,
Gamma Functions,Factorial Function,n!!,2 ,,n!!,factorial2(n),Double factorial,,
Gamma Functions,Factorial Function,"FactorialK(n, k)",3 ,,,"factorialk(n, k)",Multifactorial of n of order k,,
Gamma Functions,Factorial Function,"Binomial(n, m)",4 ,"binomial(n::Integer, k::Integer)","Binomial[n, m]","binom(x, y)",binomial coefficient,,
Gamma Functions,Factorial Function,n$,5 ,,BarnesG[z],,"Superfactorial, equivalent to the integral values of the Barnes G-function",,https://mathworld.wolfram.com/Superfactorial.html
Gamma Functions,Factorial Function,H(n),6 ,,Hyperfactorial[n],,Hyperfactorial,,https://mathworld.wolfram.com/Hyperfactorial.html
Gamma Functions,Factorial Function,"Multinomial(n1, n2, …)",7 ,,"Multinomial[n1, n2, ...]",,multinomial coefficient,,
Gamma Functions,Gamma Function,Γ(z),8 ,gamma(z),Gamma
@inkydragon
inkydragon / DOGWALK-dir.tree.txt
Created July 22, 2025 15:12
`tree -I '.godot|*.import'` for Steam game source code `DOGWALK - Supporter Pack`
.
├── addons
│   ├── blender_studio_gltf_import
│   ├── kenney_prototype_textures
│   │   ├── dark
│   │   ├── green
│   │   ├── light
│   │   ├── orange
│   │   ├── purple
│   │   └── red
@inkydragon
inkydragon / 2D-Only.profile
Created June 23, 2025 11:39
A `2D-Only.profile` for Godot
{
"disabled_classes": [
"BaseMaterial3D",
"NavigationAgent3D",
"Node3D",
"Occluder3D",
"Shape3D",
"Texture3D",
"VisualShaderNodeSample3D",
"World3D"
IEEE 754 floating-point formatter using the Dragonbox algorithm
f32(%a) uint32 int64 str(f32)
0x1p+25 0x2000000 33554432 33554432.000000
0x1.000008p+25 0x2000010 33554448 33554448.000000
0x1.00008p+25 0x2000100 33554688 33554688.000000
0x1p+26 0x4000000 67108864 67108864.000000
0x1.000008p+26 0x4000020 67108896 67108896.000000
0x1.00000cp+26 0x4000030 67108912 67108912.000000
0x1.00001p+26 0x4000040 67108928 67108928.000000
0x1.000014p+26 0x4000050 67108944 67108944.000000
@inkydragon
inkydragon / 2024-Julia-Source-Code-Count.md
Last active February 11, 2024 17:35
Julia Source Code Count: Counts the lines of code in folders `base/`, `src/`, `test/`, in descending order.
@inkydragon
inkydragon / parser-test.jl
Last active February 3, 2024 20:55
Julialang/julia #parser issue tag; Maybe those tests could be add to JuliaSyntax.jl.
# SPDX-License-Identifier: MIT
using Test
using Base.JuliaSyntax
using Base.JuliaSyntax: Diagnostic
# copy from: https://github.com/JuliaLang/JuliaSyntax.jl/blob/a6f2d1580f7bbad11822033e8c83e607aa31f100/test/diagnostics.jl#L1-L12
function diagnostic(str; only_first=false, allow_multiple=false, rule=:all, version=v"1.6")
stream = JuliaSyntax.ParseStream(str; version=version)
JuliaSyntax.parse!(stream, rule=rule)
if allow_multiple
#const forecast_samples = [randn(30) for i in 1:10_000];
const forecast_samples_adj = [randn(30) for i in 1:10_000]';
function f(arr)
reduce(vcat, arr)
GC.gc(true)
GC.gc(false)
return Base.gc_live_bytes() / 2^20
end
@inkydragon
inkydragon / libgettextlib-0-21.dll.txt
Created March 2, 2023 08:18
Gettext-v0.21.0+0 Win Dll export
Microsoft (R) COFF/PE Dumper Version 14.29.30145.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file libgettextlib-0-21.dll
File Type: DLL
Section contains the following exports for libgettextlib-0-21.dll