Нет описания

Kohei Yoshida 88ea80126a coverity#54467: Wrapper object use after free. 9 лет назад
bin 9b1b846b37 New scripts to enable gdb and valgrind runs during test. 12 лет назад
doc 993cade2e3 python-doc: correct way to reference API's. 9 лет назад
include 88ea80126a coverity#54467: Wrapper object use after free. 9 лет назад
m4 3741121493 update boost.m4 9 лет назад
misc 53928bdab6 Scripts to change licenses and add modelines in source files. 11 лет назад
slickedit 8728e84af7 Forgot to add this file. 9 лет назад
src 88ea80126a coverity#54467: Wrapper object use after free. 9 лет назад
test a32dad8961 fix make distcheck 9 лет назад
vsprojects 025be4f5ab Try to get the ixion exports right on both windows and *nix 11 лет назад
.gitignore c940a1c061 add compile to .gitignore 9 лет назад
AUTHORS 823c96ff21 Update AUTHORS. 9 лет назад
COPYING c0571cf95a Update for the license change. 11 лет назад
Makefile.am b85f73c1ad package ixion-python-test.py 9 лет назад
NEWS e9b71b7d08 add something to NEWS 9 лет назад
README.md a079b57639 Add 0.9.1 source package to README. 9 лет назад
autogen.sh 5e6bd296ca Do this only when it's a git checkout. 9 лет назад
configure.ac 4e3686355f Set the version to 0.9.1. 9 лет назад
libixion.pc.in 8210ff5aba Some cleanup of pkg-config file 11 лет назад

README.md

Ixion is a general purpose formula parser & interpreter that can calculate multiple named targets, or "cells".

Overview

The goal of this project is to create a library for calculating the results of formula expressions stored in multiple named targets, or "cells". The cells can be referenced from each other, and the library takes care of resolving their dependencies automatically upon calculation. The caller can run the calculation routine either in a single-threaded mode, or a multi-threaded mode. The library also supports re-calculations where the contents of one or more cells have been modified since the last calculation, and a partial calculation of only the affected cells need to be calculated.

Portability

This library is written with portability in mind; platform specific calls are avoided as much as possible. It makes extensive use of the boost library to achieve portability where possible.

Performance

Achieving good performance is one of the goals of this project. As much care is taken as humanly possible, to attain reasonable performance.

Threaded calculation

Ixion can perform threaded calculation using arbitrary number of threads, for both full and partial calculation modes.

Supported features

  • Each calculation session is defined in a plain text file, which is parsed and interpreted by the Ixion parser.
  • Fully threaded calculation.
  • Name resolution using A1-style references.
  • Support 2D cell references and named expressions.
  • Support range references.
  • Dependency tracking during both full calculation and partial re-calculation.
  • Inline strings.
  • Volatile functions. The framework for volatile functions is implemented. We just need to implement more functions.

Features in progress

  • 3D cell and range references - Initial support is in place. Needs more testing.
  • Standard C/C++ interface for external applications - It's there, but needs to be stabilized.

Planned features

  • Matrix support.
    • Inline matrix.
    • Matrix as formula out from a single function.
    • Jump matrix - range input to function that expects a scalar input, and generate matrix output.
  • Support for R1C1 style references.
  • More built-in functions.
  • Support for custom functions defined in the caller program.
  • Support for external references.

Download

0.9.1 libixion-0.9.1.tar.xz

  • release date: 2015-04-05
  • md5sum: d292f6d62847f2305178459390842eac
  • sha1sum: 8ae071e7e8

0.9.0 libixion-0.9.0.tar.xz

  • release date: 2015-02-16
  • md5sum: 26f293e708513dea5e6e25e9232a7400
  • sha1sum: 4f97682546

0.7.0 libixion-0.7.0.tar.bz2

  • release date: 2013-12-13
  • md5sum: 000157117801f9507f34b26ba998c4d1
  • sha1sum: 99b8f9f490

0.5.0 libixion-0.5.0.tar.bz2

  • release date: 2013-03-27
  • md5sum: ebaeab9ffe1e6bd68b2a20bfa430b3af
  • sha1sum: 99290ed5aa

0.3.0 libixion_0.3.0.tar.bz2

  • release date: 2011-11-01
  • md5sum: 96a36a0016f968a5a7c4b167eeb1643b
  • sha1sum: ac1fa91530

Python binding

Starting with version 0.9.0, Ixion provides Python binding for those who wish to use Ixion from Python scripts. Refer to this documentation for more details on how to use Ixion's Python API.