Eternia Library is a bare-bones library for C++ that enables everything from web frameworks, cryptography, Engineering concepts, AI and game engines
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.bzr
debian
doc
old_src
src
www
.CMakeLists.txt.swp
.directory
.gitignore
CHANGELOG
CMakeLists.txt
COPYRIGHT_INVALID
EterniaExec
EterniaLib
EterniaLib.cbp
EterniaLib.depend
EterniaLib.layout
LICENSE.txt
README.md
TODO
copyincludes.sh
install
libEternia.a.1
loopmake.sh
main.cpp
makeit
tags
testcppver.c
version.h
version.sh
version.txt

README.md

Eternia Library

Version: 1.42.4

Author: Brent Clancy (EterniaLogic)   [Other authors may list themselves below]

Email: eternialogic@gmail.com (alias> dreadslicer@gmail.com)

Original Creation Date: January 13, 2012

Copyright: Copyright 2016 Brent Clancy

License: GNU v3

Language: C/C++2011, ASM, HTML, Javascript

This library is used for server/client back-end systems and simulations. It may also be applicable for game theory and systems emulation. The lib file (*.a, *.so, *.dll) may be used in any project to help decrease dependencies. The main goal of this library is to have zero dependencies, while also being originally flexible.


Anybody willing to help in this project may contribute!

Documentation and Examples

Documentation Index

Usage

example using namespaces #include <Eternia/namespace.h> #include using Eternia;

int main(){
    cout << Math::sin(20) << endl;
    
    return 0;
}

Sub-sections

Artificial Intelligence [/AI/]:

  • FSM AI - Finite State machine AIs follow basic brain mechanics.

  • Advanced Thinker - Comparable to FSM AIs, yet also allow for multiple inputs and outputs, the 'epoch' of self-learning AIs whether it be Sin functions all the way to image and video processing. Not necessarily more powerful than FSM AIs, only useful for specific applications.

  • Self-learning controller (Research specific) - sets goals and modifies the AI to meet the demands, over time will become what the user demands from a single entity.

  • Genetic controller (Application specific) - sets a user-specific goal and 'kills' off a set number of simulated AIs until the goal is met, randomly creating a set and cross-breeds the best solutions of AI cores.

Application Program Interface [/API/]:

  • Core API system to allow multiple languages to cross-talk with shared memory

  • Permissions for different users and API modules

    Not to be confused with a Web API, which interfaces a server's language with a client of a different language. This API is to enable multiple languages to be connected with the core program.

Web Framework [/WebFramework/]: (*in progress, these are the initial goals)

  • HTTP Server with multi-threading (C++2011)
  • Template Engine for use with HTML template files
  • RESTFul HTTP Server (20%-ish)
  • JSON marshal parsing (0% done)

Business [/Business/]: (headers only, no implementations yet)

  • Built for simulation, but could possibly be used for real
  • Basic Accounting [Liabilities, Equities, Taxation]
  • Tracking of assets, IP, Property, and inventory
  • Tracking of employees and related transactions
  • Stock tracking
  • Payroll
  • POS parts (excluding actual processing of credit cards, etc.)

Mathematics [/Math/]:

  • Economics
  • Linear Algebra
  • Statistics

Audio & Frequency manipulaiton [/Audio/   /Engineering/Electrical/Signal/]:

  • Time to Frequency conversion using FFT (TimeSignal.h)
  • Frequency to Time conversion using IFFT (FreqSignal.h)
  • White Noise generator
  • Frequency Window generation / Audio filtering Planned

Base Engineering [/Engineering/]:

  • Physics
  • Chemistry
  • Electrical

Computer Science [/Algorithm/   /Data/   /Programming]:

  • Discrete Data Structures
  • Sorting Algorithms
  • Cryptography    + Imported for more security
  • AI Systems

Electrical Engineering:

  • Emulation (MSP430 processor)
  • PWM, Clocks, Time and Frequency domain signals.

Localization:

  • Simple word translation between languages.

Other:

  • Fully working Event Handler system, useful for threading.
  • Extended string class "CharString", which automatically handles strings along with conversions.
  • Wrapper for OpenGL/SDL, other frameworks to draw windows and 2D graphics.

Building:

Linux:

  • no direct dependencies besides "build-essential" and pthreads
  • cmake .
  • make -j 4

Windows:

  • Use the Code::Blocks project file
  • libatomic.a and libws_32.a required. (usually supplied with windows)