Projekte
workwind
Multitasking 1
cdll.c
Projekte
Forum
Doku
Öffentliche Projekte
Startseite
Beispielprogramme
Projekte von anderen
Welcome
Username
Passwort
Eingeloggt bleiben
Zugangsdaten vergessen?
Registrieren
Projektverwaltung
⇨ Please choose! ⇦
——————————————————
✎ Create new project...
★ Browse existing projects...
——————————————————
⚬ MotorTest#1
⚬ C Tutorial 8#1
⚬ NIBO2 C Project#1
⚙ C Tutorial 15#1
⚬ 2010_11_18_el_test001#1
Multitasking 1
cdll.c
cdll.h
main.c
scheduler.S
thread.c
thread.h
Project details
Compiler settings
Nachrichten
Sie sind nicht eingeloggt.
Neuigkeiten
★
NiboRoboLib 3.6
2017-01-17: Neue Version 3.6
★
NiboRoboLib 3.4.1
2016-04-16: Neue Version 3.4.1
★
Coding Tutorial
2015-11-22: Jetzt auch für den NIBO burger!
Site-Statistic
7416 private projects
378 public projects
16172649 lines compiled
58122 builds
NIBO
@
multitasking_1/cdll.c [read only]
#include "cdll.h" // based on TNKernel void cdll_reset(cdll_t *head) { head->next = head; head->prev = head; } void cdll_push_front(cdll_t * head, cdll_t * entry) { // assert (head!=0) // assert (entry!=0) entry->next = head->next; entry->prev = head; head->next = entry; entry->next->prev = entry; } void cdll_push_back(cdll_t * head, cdll_t * entry) { // assert (head!=0) // assert (entry!=0) entry->prev = head->prev; entry->next = head; head->prev = entry; entry->prev->next = entry; } cdll_t * cdll_pop_front(cdll_t * head) { // assert (head!=0) cdll_t * entry; if (head->next==head) { return (cdll_t *) 0; } entry = head->next; entry->next->prev = head; head->next = entry->next; return entry; } cdll_t * cdll_pop_back(cdll_t * head) { // assert (head!=0) cdll_t * entry; if (head->prev==head) { return (cdll_t *) 0; } entry = head->prev; entry->prev->next = head; head->prev = entry->prev; return entry; } void cdll_remove(cdll_t * entry) { entry->prev->next = entry->next; entry->next->prev = entry->prev; } bool cdll_contains(cdll_t * head, cdll_t * entry) { // assert (head!=0) cdll_t * current = head->next; while (current != head) { if (current==entry) { return true; } current = current->next; } return false; } void cdll_move_front(cdll_t * head, cdll_t * entry) { // remove entry->prev->next = entry->next; entry->next->prev = entry->prev; // push_front entry->next = head->next; entry->prev = head; head->next = entry; entry->next->prev = entry; } void cdll_move_back(cdll_t * head, cdll_t * entry) { // remove entry->prev->next = entry->next; entry->next->prev = entry->prev; // push back entry->prev = head->prev; entry->next = head; head->prev = entry; entry->prev->next = entry; }
Compiler results:
Werbung
Online
arletha88452120773445
brandi20b03191419
DavidoosCox
GordonQuams
huacorey353353214
Justinzeescob
KennethsBew
SherinkaDek