Skip to content

igorskyflyer/calculus-ex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

46 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Icon of CalculusEx

CalculusEx

Mathematical Modeling โ€ข Linear Programming โ€ข Compromise Programming โ€ข Decision-Making Analysis

A specialized mathematical desktop suite designed for multi-objective optimization and ranking alternatives through group utility and individual regret analysis.


Table of Contents


Features

  • Custom Data Management: Support for proprietary .cxf binary tables with high-speed I/O, native Windows dragโ€‘andโ€‘drop, and CLI integration for automated file handling.
  • Analytical Engine: Executes Compromise Programming and Linear Optimization to calculate weighted/maximum/sum deviations and generate multi-objective mathematical rankings.
  • Dynamic Grid Architecture: Automated grid generation based on userโ€‘defined criteria and alternatives, featuring structural editing (add/delete/reorder) and custom-rendered headers.
  • Data Entry Utilities: Features real-time character-level validation to prevent mathematically invalid strings, population with bounded random values, and selection highlighting.
  • Multi-Format Export: Generates styled HTML5 reports with embedded assets and hardware-accelerated raster graphics (JPG, PNG, BMP) of data grids.
  • System Persistence: Full session state recovery via Windows Registry integration, storing fonts, colors, numeric formats, and custom configuration (.cxc) exports.
  • Advanced UI Customization: High-fidelity GDI rendering with 7+ theme variations, persistent font scaling, custom context menus, and a frameless window architecture.
  • Utility Suite: Integrated search engine for grid data, session restart logic, and context-aware error handling to maintain application uptime.

Implementation

Computational Logic

CalculusEx implements a robust mathematical engine based on Linear Optimization ($LP$) and Compromise Programming. The software processes $m$ criteria across $n$ alternatives to derive:

  • $S_{n}$ (Group Utility): The sum of weighted distances from the ideal solution.
  • $R_{n}$ (Individual Regret): The maximum individual weighted distance.
  • $S_{p}$ (Compromise Ranking): A synthesized score used to rank alternatives by mathematical preference.

Data Management & Interoperability

  • Binary Engine: Utilizes a proprietary binary format for data integrity and low-latency I/O.
  • Hardware Acceleration: Employs hardware-level floating-point exception handling to maintain stability during complex singularities or divisions by zero.
  • Resource Optimization: Stripped Portable Executable (PE) headers ensure a minimal memory footprint on legacy and modern Windows systems.

UI & Performance

  • Direct Win32/GDI: Bypasses heavy frameworks in favor of direct Win32 API calls for maximum rendering performance.
  • Adaptive Layout: Features a dynamic UI engine that scales grid dimensions based on text-metric analysis.

Motivation

CalculusEx was born from an intellectual gauntlet that had remained open for half a decade.

By late 2014, while Igor was already mentoring fellow students and managing freelance development, he sought a challenge that exceeded standard academic boundaries. During an Operations Research course, he accepted a faculty problem involving Linear Programming that had gone unsolved by approximately 500 students over the preceding five years.

With a strict two-week deadline, Igor independently chose to go beyond the mathematical core and the assignment, to architect a complete desktop suite using Delphi and raw Win32 APIs. Driven by an interest in extreme engineering, he developed a custom GDI rendering engine, proprietary binary formats (.cxf and .cxc), and a system for Compromise Programmingโ€”all while managing a full academic load. The project was a definitive success, earning a perfect 10 (A) and providing a functional solution to a long-standing challenge that had eluded five years of predecessors.


Changelog

The changelog is available here, CHANGELOG.md.


License

Licensed under the GPLv3 license.


Support

Engineering and documenting open-source projects
involves a significant investment of time.

If this project or its implementation has provided value,
support is greatly appreciated.

Donate to igorskyflyer

Thank you for supporting these efforts! ๐Ÿ™๐Ÿ˜Š

Related

@igorskyflyer/unc-path

๐Ÿฅฝ Provides ways of parsing UNC paths and checking whether they are valid. ๐ŸŽฑ


@igorskyflyer/registry-apppaths

๐Ÿช€ A Node.js module for reading the AppPaths registry key on Windows. Useful for retrieving applications that can be launched from the command prompt. ๐Ÿ—ƒ


@igorskyflyer/rawelement

๐Ÿฏ A utility that lets you manipulate HTML elements, their attributes and innerHTML as strings, on the go and then render the modified HTML. Very useful in SSG projects. ๐Ÿ’ค


@igorskyflyer/clone

๐Ÿงฌ A lightweight JavaScript utility allowing deep copy-by-value of nested objects, arrays and arrays of objects. ๐Ÿช


@igorskyflyer/mp3size

๐Ÿงฎ Calculates an estimated file size of Mp3 files. ๐ŸŽถ


Author

Created by Igor Dimitrijeviฤ‡ (@igorskyflyer).

About

๐Ÿ“Š A specialized mathematical desktop suite designed for multi-objective optimization and ranking alternatives through group utility and individual regret analysis. ๐Ÿ”

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors

Languages