mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-10-03 18:09:02 -04:00
0.2.5 Set
This commit is contained in:
parent
022135259f
commit
51a3493a59
@ -2,6 +2,10 @@ compile:
|
||||
# Choosing to run compilation tests on 2 different Arduino platforms
|
||||
platforms:
|
||||
- uno
|
||||
- leonardo
|
||||
- due
|
||||
- zero
|
||||
- leonardo
|
||||
- m4
|
||||
- esp32
|
||||
- esp8266
|
||||
- mega2560
|
||||
|
@ -4,10 +4,14 @@ name: Arduino CI
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
arduino_ci:
|
||||
runTest:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: Arduino-CI/action@master
|
||||
# Arduino-CI/action@v0.1.1
|
||||
- uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 2.6
|
||||
- run: |
|
||||
gem install arduino_ci
|
||||
arduino_ci.rb
|
||||
|
@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2014-2021 Rob Tillaart
|
||||
Copyright (c) 2014-2022 Rob Tillaart
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -1,8 +1,11 @@
|
||||
|
||||
[![Arduino CI](https://github.com/RobTillaart/SET/workflows/Arduino%20CI/badge.svg)](https://github.com/marketplace/actions/arduino_ci)
|
||||
[![Arduino-lint](https://github.com/RobTillaart/SET/actions/workflows/arduino-lint.yml/badge.svg)](https://github.com/RobTillaart/SET/actions/workflows/arduino-lint.yml)
|
||||
[![JSON check](https://github.com/RobTillaart/SET/actions/workflows/jsoncheck.yml/badge.svg)](https://github.com/RobTillaart/SET/actions/workflows/jsoncheck.yml)
|
||||
[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/RobTillaart/SET/blob/master/LICENSE)
|
||||
[![GitHub release](https://img.shields.io/github/release/RobTillaart/SET.svg?maxAge=3600)](https://github.com/RobTillaart/SET/releases)
|
||||
|
||||
|
||||
# SET
|
||||
|
||||
Arduino library to implement a simple SET data structure.
|
||||
@ -13,7 +16,7 @@ Arduino library to implement a simple SET data structure.
|
||||
The set library implements the set data structure for integers 0..255.
|
||||
This limit is chosen because of the memory limitations of an Arduino UNO,
|
||||
however these numbers can be used as indices to a table of strings or other
|
||||
datatypes.
|
||||
data types.
|
||||
|
||||
|
||||
## Interface
|
||||
@ -29,7 +32,7 @@ datatypes.
|
||||
|
||||
- **clear()** empty the set.
|
||||
- **invert()** flip all elements in the set.
|
||||
- **addAll(n)** add all 256 elements to the set.
|
||||
- **addAll()** add all 256 elements to the set.
|
||||
- **count()** returns the number of elements.
|
||||
- **isEmpty()** idem
|
||||
- **isFull()** idem
|
||||
@ -37,10 +40,10 @@ datatypes.
|
||||
|
||||
### Element level
|
||||
|
||||
- **add(n)** add element n to the Set.
|
||||
- **sub(n)** remove element n from the Set.
|
||||
- **invert(n)** flip element n in the Set.
|
||||
- **has(n)** check if element n is in the Set.
|
||||
- **add(uint8_t value)** add element n to the Set.
|
||||
- **sub(uint8_t value)** remove element n from the Set.
|
||||
- **invert(uint8_t value)** flip element n in the Set.
|
||||
- **has(uint8_t value)** check if element n is in the Set.
|
||||
|
||||
|
||||
### Operators
|
||||
@ -65,11 +68,20 @@ all iterator-functions returns the current element or -1 if not exist.
|
||||
|
||||
- **setCurrent(n)** if n is in the Set, n will be the current
|
||||
- **first()** find the first element
|
||||
- **next()** find the next element. Will not wrap zround when 'end' of the set is reached.
|
||||
- **prev()** find the previous element. Will not wrap zround when 'begin' of the set is reached.
|
||||
- **next()** find the next element. Will not wrap around when 'end' of the set is reached.
|
||||
- **prev()** find the previous element. Will not wrap around when 'begin' of the set is reached.
|
||||
- **last()** find the last element.
|
||||
- **getNth(n)** find the Nth element in a set if it exist.
|
||||
|
||||
|
||||
## Operational
|
||||
|
||||
See examples
|
||||
|
||||
|
||||
## Future
|
||||
|
||||
- update documentation
|
||||
- separate releaseNotes.md
|
||||
|
||||
|
||||
|
@ -1,21 +1,22 @@
|
||||
//
|
||||
// FILE: set.cpp
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.2.4
|
||||
// VERSION: 0.2.5
|
||||
// DATE: 2014-09-11
|
||||
// PURPOSE: SET library for Arduino
|
||||
// URL: https://github.com/RobTillaart/SET
|
||||
//
|
||||
// HISTORY:
|
||||
// 0.2.4 2021-05-06 getNth(n)
|
||||
// 0.2.3 2021-05-05 Add addAll (256 elements) + setCurrent
|
||||
// 0.2.2 2021-01-07 Arduino-CI, unit test
|
||||
// 0.2.1 2020-06-19 fix library.json
|
||||
// 0.2.0 2020-05-02 refactored, removed pre 1.0 support
|
||||
// 0.1.11 2017-07-16 fix count() --> 16 bit when set is full !
|
||||
// 0.1.10 2017-07-16 performance refactor. isEmpty()
|
||||
// 0.1.09 2015-07-12 const + constructor
|
||||
// 0.1.08 memset for clr()
|
||||
// 0.2.5 2021-12-28 update library.json, readme, license, minor edits
|
||||
// 0.2.4 2021-05-06 getNth(n)
|
||||
// 0.2.3 2021-05-05 Add addAll (256 elements) + setCurrent
|
||||
// 0.2.2 2021-01-07 Arduino-CI, unit test
|
||||
// 0.2.1 2020-06-19 fix library.json
|
||||
// 0.2.0 2020-05-02 refactored, removed pre 1.0 support
|
||||
// 0.1.11 2017-07-16 fix count() --> 16 bit when set is full !
|
||||
// 0.1.10 2017-07-16 performance refactor. isEmpty()
|
||||
// 0.1.09 2015-07-12 const + constructor
|
||||
// 0.1.08 memset for clr()
|
||||
// 0.1.07 faster first/next/last/prev; interface
|
||||
// 0.1.06 added flag to constructor to optimize +,-,*,
|
||||
// set -> Set
|
||||
@ -30,6 +31,7 @@
|
||||
|
||||
#include "set.h"
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
//
|
||||
// CONSTRUCTORS
|
||||
@ -58,24 +60,24 @@ Set::Set(const Set &t)
|
||||
//
|
||||
// METHODS
|
||||
//
|
||||
void Set::add(const uint8_t v)
|
||||
void Set::add(const uint8_t value)
|
||||
{
|
||||
uint8_t idx = v / 8;
|
||||
_mem[idx] |= masks[v & 7];
|
||||
uint8_t idx = value / 8;
|
||||
_mem[idx] |= _masks[value & 7];
|
||||
}
|
||||
|
||||
|
||||
void Set::sub(const uint8_t v)
|
||||
void Set::sub(const uint8_t value)
|
||||
{
|
||||
uint8_t idx = v / 8;
|
||||
_mem[idx] &= ~masks[v & 7];
|
||||
uint8_t idx = value / 8;
|
||||
_mem[idx] &= ~_masks[value & 7];
|
||||
}
|
||||
|
||||
|
||||
void Set::invert(const uint8_t v)
|
||||
void Set::invert(const uint8_t value)
|
||||
{
|
||||
uint8_t idx = v / 8;
|
||||
_mem[idx] ^= masks[v & 7];
|
||||
uint8_t idx = value / 8;
|
||||
_mem[idx] ^= _masks[value & 7];
|
||||
}
|
||||
|
||||
|
||||
@ -85,21 +87,21 @@ void Set::addAll()
|
||||
}
|
||||
|
||||
|
||||
bool Set::has(const uint8_t v)
|
||||
bool Set::has(const uint8_t value)
|
||||
{
|
||||
uint8_t idx = v / 8;
|
||||
return (_mem[idx] & masks[v & 7]) > 0;
|
||||
uint8_t idx = value / 8;
|
||||
return (_mem[idx] & _masks[value & 7]) > 0;
|
||||
}
|
||||
|
||||
|
||||
uint16_t Set::count() const
|
||||
{
|
||||
uint16_t cnt = 0;
|
||||
|
||||
|
||||
uint8_t i = 32;
|
||||
do
|
||||
{
|
||||
// kerningham bit count trick
|
||||
// Kerningham bit count trick
|
||||
uint8_t b = _mem[--i];
|
||||
for (; b; cnt++)
|
||||
{
|
||||
@ -123,7 +125,7 @@ void Set::invert()
|
||||
do
|
||||
{
|
||||
_mem[--i] ^= 0xFF;
|
||||
}
|
||||
}
|
||||
while (i != 0);
|
||||
}
|
||||
|
||||
@ -134,7 +136,7 @@ bool Set::isEmpty()
|
||||
do
|
||||
{
|
||||
if (_mem[--i] > 0) return false;
|
||||
}
|
||||
}
|
||||
while (i != 0);
|
||||
return true;
|
||||
}
|
||||
@ -142,26 +144,26 @@ bool Set::isEmpty()
|
||||
|
||||
bool Set::isFull()
|
||||
{
|
||||
// check two elements per loop
|
||||
// check two elements per loop
|
||||
// is faster for full sets but slower for empty set.
|
||||
// footprint is ~25 bytese larger
|
||||
// overal performance gain
|
||||
// footprint is ~25 bytes larger
|
||||
// overall performance gain
|
||||
uint8_t i = 32;
|
||||
do
|
||||
{
|
||||
if ((_mem[--i]) != 255) return false;
|
||||
}
|
||||
}
|
||||
while (i != 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
int Set::setCurrent(const uint8_t cur)
|
||||
int Set::setCurrent(const uint8_t current)
|
||||
{
|
||||
_current = -1;
|
||||
if (has(cur))
|
||||
if (has(current))
|
||||
{
|
||||
_current = cur;
|
||||
_current = current;
|
||||
}
|
||||
return _current;
|
||||
}
|
||||
@ -191,13 +193,13 @@ int Set::next()
|
||||
// needs investigation.
|
||||
// int Set::findNext(const uint8_t p, const uint8_t q)
|
||||
// {
|
||||
// uint8_t * pp = &_mem[p];
|
||||
// uint8_t mask = 1 << q;
|
||||
// uint8_t j = q;
|
||||
// do
|
||||
// {
|
||||
// if (*pp != 0)
|
||||
// {
|
||||
// uint8_t * pp = &_mem[p];
|
||||
// uint8_t mask = 1 << q;
|
||||
// uint8_t j = q;
|
||||
// do
|
||||
// {
|
||||
// if (*pp != 0)
|
||||
// {
|
||||
// while (j < 8)
|
||||
// {
|
||||
// if (*pp & mask)
|
||||
@ -206,14 +208,14 @@ int Set::next()
|
||||
// return _current;
|
||||
// }
|
||||
// mask <<= 1;
|
||||
// j++;
|
||||
// }
|
||||
// }
|
||||
// j = 0;
|
||||
// mask = 1;
|
||||
// pp++;
|
||||
// }
|
||||
// while (pp != &_mem[31]);
|
||||
// j++;
|
||||
// }
|
||||
// }
|
||||
// j = 0;
|
||||
// mask = 1;
|
||||
// pp++;
|
||||
// }
|
||||
// while (pp != &_mem[31]);
|
||||
// _current = -1;
|
||||
// return _current;
|
||||
// }
|
||||
@ -226,7 +228,7 @@ int Set::findNext(const uint8_t p, uint8_t q)
|
||||
uint8_t b = _mem[i];
|
||||
if (b != 0)
|
||||
{
|
||||
uint8_t mask = 1 << q; // masks[q]
|
||||
uint8_t mask = 1 << q; // _masks[q]
|
||||
for (uint8_t j = q; j < 8; j++)
|
||||
{
|
||||
if (b & mask)
|
||||
@ -401,4 +403,6 @@ bool Set::operator <= (const Set &t) const // subSet
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// -- END OF FILE --
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
//
|
||||
// FILE: set.h
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.2.4
|
||||
// VERSION: 0.2.5
|
||||
// DATE: 2014-09-11
|
||||
// PURPOSE: SET library for Arduino
|
||||
// URL: https://github.com/RobTillaart/SET
|
||||
@ -11,7 +11,7 @@
|
||||
#include "Arduino.h"
|
||||
|
||||
|
||||
#define SET_LIB_VERSION (F("0.2.4"))
|
||||
#define SET_LIB_VERSION (F("0.2.5"))
|
||||
|
||||
|
||||
class Set
|
||||
@ -29,10 +29,10 @@ public:
|
||||
bool isFull();
|
||||
|
||||
|
||||
void add(const uint8_t); // add element to the Set
|
||||
void sub(const uint8_t); // remove element from Set
|
||||
void invert(const uint8_t); // flip element in Set
|
||||
bool has(const uint8_t); // element is in Set
|
||||
void add(const uint8_t value); // add element to the Set
|
||||
void sub(const uint8_t value); // remove element from Set
|
||||
void invert(const uint8_t value); // flip element in Set
|
||||
bool has(const uint8_t value); // element is in Set
|
||||
|
||||
|
||||
Set operator + (const Set &); // union
|
||||
@ -54,20 +54,23 @@ public:
|
||||
|
||||
// iterating through the Set
|
||||
// returns value or -1 if not exist
|
||||
int setCurrent(const uint8_t); // set element as current
|
||||
int first(); // find first element
|
||||
int next(); // find next element
|
||||
int prev(); // find previous element
|
||||
int last(); // find last element
|
||||
int getNth(const uint8_t n); // find Nth element in a set (from start)
|
||||
int setCurrent(const uint8_t current); // set element as current
|
||||
int first(); // find first element
|
||||
int next(); // find next element
|
||||
int prev(); // find previous element
|
||||
int last(); // find last element
|
||||
int getNth(const uint8_t n); // find Nth element in a set (from start)
|
||||
|
||||
|
||||
private:
|
||||
uint8_t _mem[32]; // can hold 0..255
|
||||
uint8_t masks[8] = {1, 2, 4, 8, 16, 32, 64, 128};
|
||||
uint8_t _masks[8] = {1, 2, 4, 8, 16, 32, 64, 128};
|
||||
int _current = -1;
|
||||
|
||||
int findNext(const uint8_t, const uint8_t); // helper for first, next
|
||||
int findPrev(const uint8_t, const uint8_t); // helper for last, prev
|
||||
int findNext(const uint8_t p, const uint8_t q); // helper for first, next
|
||||
int findPrev(const uint8_t p, const uint8_t q); // helper for last, prev
|
||||
};
|
||||
|
||||
|
||||
// -- END OF FILE --
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
//
|
||||
// FILE: allTest.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.2.2
|
||||
// PURPOSE: demo/test Set class
|
||||
// DATE: 2014-11-16
|
||||
// URL: https://github.com/RobTillaart/SET
|
||||
@ -33,10 +32,12 @@ void setup()
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
|
||||
void loop()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void timingTest()
|
||||
{
|
||||
Set myset;
|
||||
@ -202,13 +203,13 @@ void timingTest()
|
||||
int n = setA.first();
|
||||
stop = micros();
|
||||
Serial.println(stop - start);
|
||||
|
||||
|
||||
Serial.print("next:\t");
|
||||
start = micros();
|
||||
n = setA.next();
|
||||
stop = micros();
|
||||
Serial.println(stop - start);
|
||||
|
||||
Serial.println(stop - start);
|
||||
|
||||
Serial.print("100x first + next until -1 :\t");
|
||||
start = micros();
|
||||
for (uint8_t i = 0; i < 100; i++)
|
||||
@ -220,8 +221,8 @@ void timingTest()
|
||||
}
|
||||
}
|
||||
stop = micros();
|
||||
Serial.println(stop - start);
|
||||
|
||||
Serial.println(stop - start);
|
||||
|
||||
Serial.print("100x last + prev until -1 :\t");
|
||||
start = micros();
|
||||
for (uint8_t i = 0; i < 100; i++)
|
||||
@ -233,12 +234,13 @@ void timingTest()
|
||||
}
|
||||
}
|
||||
stop = micros();
|
||||
Serial.println(stop - start);
|
||||
Serial.println(stop - start);
|
||||
Serial.println();
|
||||
|
||||
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
|
||||
void equalTest()
|
||||
{
|
||||
Serial.println("EQUAL TEST");
|
||||
@ -266,6 +268,7 @@ void equalTest()
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
|
||||
void intersectionTest()
|
||||
{
|
||||
Serial.println("INTERSECTION TEST");
|
||||
@ -315,6 +318,7 @@ void intersectionTest()
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
|
||||
void intersection2Test()
|
||||
{
|
||||
Serial.println("INTERSECTION2 TEST");
|
||||
@ -348,6 +352,7 @@ void intersection2Test()
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
|
||||
void subsetTest()
|
||||
{
|
||||
Serial.println("SUBSET TEST");
|
||||
@ -373,6 +378,7 @@ void subsetTest()
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
|
||||
void iterationTest()
|
||||
{
|
||||
Serial.println("10x ITERATE OVER SET TEST");
|
||||
@ -397,9 +403,9 @@ void iterationTest()
|
||||
}
|
||||
stop = micros();
|
||||
Serial.println();
|
||||
Serial.println(stop - start);
|
||||
Serial.println(stop - start);
|
||||
Serial.println();
|
||||
|
||||
|
||||
start = micros();
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
@ -414,8 +420,10 @@ void iterationTest()
|
||||
}
|
||||
stop = micros();
|
||||
Serial.println();
|
||||
Serial.println(stop - start);
|
||||
Serial.println(stop - start);
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
|
||||
// -- END OF FILE --
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
//
|
||||
// FILE: equalTest.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.2.2
|
||||
// PURPOSE: demo equality operators
|
||||
// DATE: 2014-11-09
|
||||
// URL: https://github.com/RobTillaart/SET
|
||||
@ -13,6 +12,7 @@
|
||||
Set setA, setB;
|
||||
volatile bool b;
|
||||
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
@ -46,7 +46,11 @@ void setup()
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
|
||||
void loop()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// -- END OF FILE --
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
//
|
||||
// FILE: set_demo.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.2.2
|
||||
// PURPOSE: demo set intersection union and diff
|
||||
// DATE: 2014-11-09
|
||||
// URL: https://github.com/RobTillaart/SET
|
||||
@ -13,6 +12,7 @@
|
||||
Set setA, setB;
|
||||
volatile bool b;
|
||||
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
@ -95,7 +95,11 @@ void setup()
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
|
||||
void loop()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// -- END OF FILE --
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
//
|
||||
// FILE: iterationTest.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.2.2
|
||||
// PURPOSE: demo first, next, last, prev
|
||||
// DATE: 2014-11-09
|
||||
// URL: https://github.com/RobTillaart/SET
|
||||
@ -15,6 +14,7 @@ Set setA, setB;
|
||||
|
||||
volatile bool b;
|
||||
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
@ -52,7 +52,11 @@ void setup()
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
|
||||
void loop()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// -- END OF FILE --
|
||||
|
||||
|
@ -1,12 +1,10 @@
|
||||
//
|
||||
// FILE: randomFromSet.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.1.0
|
||||
// PURPOSE: demo random playlist with set
|
||||
// DATE: 2021-05-04
|
||||
// URL: https://github.com/RobTillaart/SET
|
||||
// https://github.com/RobTillaart/Prandom/issues/3
|
||||
//
|
||||
|
||||
|
||||
#include "set.h"
|
||||
@ -18,6 +16,7 @@ int SONGS = 15;
|
||||
|
||||
uint32_t start, stop ;
|
||||
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
@ -69,4 +68,6 @@ int getRandomSong()
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
// -- END OF FILE --
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
//
|
||||
// FILE: subsetTest.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.2.2
|
||||
// PURPOSE: demo
|
||||
// DATE: 2014-11-09
|
||||
// URL: https://github.com/RobTillaart/SET
|
||||
@ -43,7 +42,11 @@ void setup()
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
|
||||
void loop()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// -- END OF FILE --
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
//
|
||||
// FILE: timingTest.ino
|
||||
// AUTHOR: Rob Tillaart
|
||||
// VERSION: 0.2.2
|
||||
// PURPOSE: timing test for set class methods
|
||||
// DATE: 2014-11-09
|
||||
// URL: https://github.com/RobTillaart/SET
|
||||
@ -18,6 +17,7 @@ uint32_t stop;
|
||||
|
||||
volatile bool b;
|
||||
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
@ -74,7 +74,11 @@ void setup()
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
|
||||
void loop()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// -- END OF FILE --
|
||||
|
||||
|
@ -1,12 +1,15 @@
|
||||
# Syntax Coloring Map For Set
|
||||
# Syntax Colouring Map For Set
|
||||
|
||||
# Datatypes (KEYWORD1)
|
||||
|
||||
# Data types (KEYWORD1)
|
||||
Set KEYWORD1
|
||||
|
||||
|
||||
# Methods and Functions (KEYWORD2)
|
||||
clear KEYWORD2
|
||||
invert KEYWORD2
|
||||
addAll KEYWORD2
|
||||
|
||||
count KEYWORD2
|
||||
isEmpty KEYWORD2
|
||||
isFull KEYWORD2
|
||||
@ -22,5 +25,8 @@ prev KEYWORD2
|
||||
last KEYWORD2
|
||||
getNth KEYWORD2
|
||||
|
||||
|
||||
# Constants (LITERAL1)
|
||||
SET_LIB_VERSION LITERAL1
|
||||
|
||||
|
||||
|
@ -15,8 +15,9 @@
|
||||
"type": "git",
|
||||
"url": "https://github.com/RobTillaart/SET.git"
|
||||
},
|
||||
"version": "0.2.4",
|
||||
"version": "0.2.5",
|
||||
"license": "MIT",
|
||||
"frameworks": "arduino",
|
||||
"platforms": "*"
|
||||
"platforms": "*",
|
||||
"headers": "set.h"
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
name=SET
|
||||
version=0.2.4
|
||||
version=0.2.5
|
||||
author=Rob Tillaart <rob.tillaart@gmail.com>
|
||||
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
||||
sentence=Arduino library to implement simple SET datastructure.
|
||||
|
@ -38,8 +38,10 @@
|
||||
|
||||
unittest_setup()
|
||||
{
|
||||
fprintf(stderr, "SET_LIB_VERSION: %s\n", (char *) SET_LIB_VERSION);
|
||||
}
|
||||
|
||||
|
||||
unittest_teardown()
|
||||
{
|
||||
}
|
||||
@ -47,8 +49,6 @@ unittest_teardown()
|
||||
|
||||
unittest(test_constructor)
|
||||
{
|
||||
fprintf(stderr, "VERSION: %s\n", SET_LIB_VERSION);
|
||||
|
||||
Set A;
|
||||
|
||||
assertTrue(A.isEmpty());
|
||||
@ -79,8 +79,6 @@ unittest(test_constructor)
|
||||
|
||||
unittest(test_count_has)
|
||||
{
|
||||
fprintf(stderr, "VERSION: %s\n", SET_LIB_VERSION);
|
||||
|
||||
Set A;
|
||||
|
||||
A.clear();
|
||||
@ -107,8 +105,6 @@ unittest(test_count_has)
|
||||
|
||||
unittest(test_operator)
|
||||
{
|
||||
fprintf(stderr, "VERSION: %s\n", SET_LIB_VERSION);
|
||||
|
||||
Set A;
|
||||
Set B;
|
||||
Set C;
|
||||
@ -150,8 +146,6 @@ unittest(test_operator)
|
||||
|
||||
unittest(test_iterator)
|
||||
{
|
||||
fprintf(stderr, "VERSION: %s\n", SET_LIB_VERSION);
|
||||
|
||||
Set A;
|
||||
A.clear();
|
||||
|
||||
@ -189,6 +183,8 @@ unittest(test_iterator)
|
||||
|
||||
}
|
||||
|
||||
|
||||
unittest_main()
|
||||
|
||||
|
||||
// --------
|
||||
|
Loading…
x
Reference in New Issue
Block a user