Skip to content

A C library which implements generic functions for working with arrays, lists, and more(coming soon), in a style that implements syntactic sugar that closely resembles C#. Not typical C, though one could use the internal functions. Designed for quick prototyping.

License

Notifications You must be signed in to change notification settings

AddioElectronics/GeNETiCC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeNETiCC ( C Library)

V0.5.4

A C library which implements generic functions for working with arrays, lists, and more(coming eventually), in a style that implements syntactic sugar that slightly resembles C#.

Please Note: This is more of a proof of concept, and is not intended to be a production ready library.

Notes

The README and WIKI are currently in a state of disarray. They will be finished eventually.

The library is in an early state but almost production ready. It is very hard to test every permutation of each Macro/Function, so it would be much appreciated if you could report any bugs so I am able to fix them ASAP. Also feel free to post any issues, suggestions or questions you may have, this library is not like most other C libraries, and I want to make the documentation as clear as possible to avoid any confusion you or anyone else may have. My goal is to have this very approachable for coders of any skill level, just like C#.

One thing about DMA, from the small tests I've done everything is working smoothly, but I have not had the chance to test it while other channels are in use. It is some of the least finished code in the repo, I have not had a chance to add comments and perform a clean up, so just be careful when using it for any critical projects.

Contents

Usage

Just import the desired headers and source files into your project, and include the headers.

//Master header, will include all components.
#include "addio/using/using_Addio.GeNETiCC.h"

//If you wish to include specific components,
//it will import everything needed to use them.
#include "addio/using/using_Addio.GeNETiCC.collections.list.h"

Add the "addio/using" folder into your project's included directories to shorten the path.

#include "using_Addio.GeNETiCC.h"

Macros (Main Usage)

Macros are the intended way to use this library, they call into internal functions after using pre-processor "tricks" to implement function overloading, and generic casting.

Functions (Internal)

Most functions are for internal use, to be called from the macros. They are still available for use, if you choose to use them, but you will miss out on the features this library has to offer.

Type Specific Functions (Internal)

Type specific functions can be disabled (in most cases) by setting the GENETICC_OPTIMIZATION_LEVEL to GENETICC_OPTIMIZATION_LEVEL_SIZE.

In cases where performance is an issue for a certain data type, functions for that specific data type can be added to squeeze as much performance as possible.

As of now, only a few type specific functions have been added, typically for floating point types. In the future most Macros will contain them, if you nee

After creating the function, the internal macro will need a minor modification to allow the "public" macro to call into the function.

DMA

Contributing

Would you like to contribute to this project? CONTRIBUTING.md

License

GeNETiCC is released under the MIT License.

Author

  • Author : Addio from Addio Electronics (Canada)
  • Website : www.Addio.io

About

A C library which implements generic functions for working with arrays, lists, and more(coming soon), in a style that implements syntactic sugar that closely resembles C#. Not typical C, though one could use the internal functions. Designed for quick prototyping.

Topics

Resources

License

Stars

Watchers

Forks

Languages