Welcome to the Tweaking4All community forums!
When participating, please keep the Forum Rules in mind!
Topics for particular software or systems: Start your topic link with the name of the application or system.
For example “MacOS X – Your question“, or “MS Word – Your Tip or Trick“.
Please note that switching to another language when reading a post will not bring you to the same post, in Dutch, as there is no translation for that post!
TidyKit - FP | A comprehensive toolkit providing essential utilities for development in Free Pascal.
Delphi, Lazarus, Free Pascal
(@ikel)
Active Member
Joined: 1 year ago
Posts: 4
Topic starter
March 3, 2025 12:26 AM
Hi,
I'm sharing my latest work-in-progress Free Pascal library on GitHub - https://github.com/ikelaiah/tidykit-fp
Hope you find it useful. Not production ready yet.
-ikel
This topic was modified 3 weeks ago by
ikel
(@hans)
Famed Member Admin
Joined: 12 years ago
Posts: 2834
March 3, 2025 4:19 AM
Looks very interesting!
please keep us updated about changes.
I took the liberty to copy the list of features - as most will probably have no idea what to thing/expect of TidyKit.
Keep up the good work 😊
-
📝 String Operations
- String manipulation and transformations
- Case conversion and formatting
- Pattern matching and validation
- Unicode support
- String comparison and searching
- Text encoding/decoding
-
📂 File System Operations
- File and directory manipulation
- Path operations
- File searching and filtering
-
📦 Archive Operations
- ZIP file compression and decompression
- TAR file creation and extraction
- Pattern-based file filtering
- Recursive directory handling
-
🔐 Cryptography
- SHA3 implementation
- SHA2 family (SHA-256, SHA-512, SHA-512/256)
- AES-256 encryption
- CBC and CTR modes
- High-level interface with automatic Base64 encoding
- Low-level interface with raw binary operations
- Configurable padding modes (PKCS7 or None)
- Secure hashing
- Encryption utilities
- Base64 encoding/decoding
- Legacy support (MD5, SHA1, Blowfish)
-
🌐 Network Operations
- HTTP client
- Request handling
- Response parsing
-
📊 Math Operations
- 📈 Statistical Analysis
- Basic statistics (mean, median, mode, range)
- Variance and standard deviation (population and sample)
- Distribution measures (skewness, kurtosis)
- Correlation (Pearson, Spearman)
- Advanced means (geometric, harmonic, trimmed)
- Robust statistics (MAD, Huber M-estimator)
- Hypothesis testing (t-test, Mann-Whitney U)
- Effect size measures (Cohen's d, Hedges' g)
- Bootstrap confidence intervals
- 💰 Financial Mathematics
- Time value of money (PV, FV)
- Investment analysis (NPV, IRR)
- Depreciation calculations
- Return metrics (ROI, ROE)
- 🔢 Matrix Operations
- Basic operations (add, subtract, multiply)
- Matrix creation (zeros, ones, identity)
- Matrix transpose
- Determinant and trace calculation
- Coming Soon:
- Matrix decompositions (LU, QR)
- Matrix inversion
- Matrix rank calculation
- 📐 Trigonometry
- Basic functions (sin, cos, tan, sec, csc, cot)
- Inverse functions (arcsin, arccos, arctan, arctan2)
- Hyperbolic functions (sinh, cosh, tanh)
- Inverse hyperbolic functions (arcsinh, arccosh, arctanh)
- Angle conversions (degrees, radians, grads)
- Angle normalization
- Triangle calculations (area, perimeter, radii)
- Circle sector and segment calculations
- Vector operations
- ✅ All calculations use Double precision (64-bit) for accuracy
-
🔄 JSON Operations
- Interface-based JSON manipulation with automatic memory management
- Property order preservation in JSON objects
- Full Unicode support
- Unicode escape sequence parsing (\uXXXX)
- UTF-8/16 character handling
- Control character escaping (\n, \r, \t, etc.)
- Comprehensive error handling with detailed messages
- Factory methods for easy value creation
- Support for all JSON data types
- Objects with ordered properties
- Arrays with type-safe elements
- Strings with proper escaping
- Numbers (both integer and floating-point)
- Booleans (true/false)
- Null (singleton implementation)
- Output formatting
- Pretty printing with configurable indentation
- Compact output for storage/transmission
- Memory safety
- Automatic reference counting through interfaces
- Safe singleton management for null values
- Proper cleanup of nested structures
- Thoroughly tested with 17 comprehensive test cases
(@ikel)
Active Member
Joined: 1 year ago
Posts: 4
Topic starter
March 3, 2025 1:32 PM
Hi Hans, thanks for the kind words and pasting the features of TidyKit here. Appreciated.