9 projects tagged "C"
The Noble Ape Simulation is a collection of a number of autonomous simulation components including a landscape simulation, biological simulation, weather simulation, sentient creature (Noble Ape) simulation, and a simple intelligent-agent scripting language (ApeScript). Noble Ape also contains a social simulation where the Noble Apes can be tracked in terms of social groups and also over many generations to explain social phenomenon to users looking to study this kind of interaction. It has been in development for more than a fifteen years.
spdylay is an experimental implementation of Google's SPDY protocol in C. It provides a SPDY framing layer implementation. It does not perform any I/O operations. When the library needs them, it calls the callback functions provided by the application. It also does not include any event polling mechanism, so the application can freely choose the way of handling events. This library code does not depend on any particular SSL library (except for example programs that depend on OpenSSL 1.0.1 or later).
Portable Computing Language (pocl) aims to become an efficient implementation of the OpenCL standard. In addition to producing an easily-portable Open Source implementation, another major goal of the project is improving performance portability of OpenCL programs with compiler optimizations, reducing the need for target-dependent manual optimizations. At the core of pocl is a set of LLVM passes used to statically parallelize multiple work items with the kernel compiler, even in the presence of work group barriers. This enables parallelization of the fine-grained static concurrency in the work groups in multiple ways (SIMD, VLIW, superscalar, etc.). The code base is modularized to allow easy adding of new "device drivers" in the host-device layer. A generic multithreaded "target driver" is included. It allows running OpenCL applications on a host which supports the pthread library with multithreading at the work group granularity.
Wslay is a WebSocket library written in C. It implements the protocol version 13 described in RFC 6455. This library offers 2 levels of API: an event-based API and a frame-based low-level API. For the event-based API, it is suitable for non-blocking reactor pattern style. You can set callbacks in various events. For the frame-based API, you can send WebSocket frame directly. Wslay only supports the data transfer part of the WebSocket protocol and does not perform the opening handshake in HTTP. It does not perform any I/O operations for its own. Instead, it offers callbacks for them. This makes Wslay independent of any I/O frameworks, SSL, sockets, etc. It is portable across various platforms, and the application authors can choose I/O frameworks freely.