Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

naam voor methode

Pagina: 1
Acties:

  • JeromeB
  • Registratie: September 2003
  • Laatst online: 15-11 14:27
Hoi,

Ik zoek de naam voor een bepaalde methode/algoritme. De methode heeft iets weg van een voortschrijdend gemiddelde, maar dat is het volgens mij niet exact. In een array wordt een voortschrijdende conditie opgeslagen (altijd 0 of 1). Als de conditie over een bepaalde tijd aan blijft dan dient daar iets op te gebeuren.

Een uitwerking ziet er bijvoorbeeld zo uit:

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int condition_total = 0; // de totale tijd dat een conditie aan blijft
int time_total = 2000; // de tijdsperiode waarover gekeken dient te worden
int time_threshold = 1400; // de drempeltijd
int bit_array[time_total/bit_size]; // een bit-array waarin de condities opgeslagen worden over een bepaalde tijdsperiode.
int bit_array_index = 0;

void poll()
{
    int condition = some_comparison(); // 0 of 1
    int array_index = bit_array_index / bit_size;
    int bit_index = bit_array_index % bit_size;
    condition_total -= ( ( bit_array[array_index] >> bit_index ) & 1u ); // haal laatste conditie uit de bit-array en trek deze af van het totaal
    condition_total += condition; // voeg de nieuwe conditie toe aan het totaal
    bit_array[array_index] = change_bit(bit_array[array_index],bit_index,condition); // sla de nieuwe conditie op in de bit-array op de positie van de oude conditie
    ++bit_array_index; // ga naar de volgende positie in de bit-array
    bit_array_index %= time_total; // wrap-around
    
    if(time_threshold < condition_total)
    {
        do_something();
    }
}


Onder welke naam is dit bekend?

PC load letter? What the fuck does that mean?


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Sliding window?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • JeromeB
  • Registratie: September 2003
  • Laatst online: 15-11 14:27
Zo, dat is een übersnel antwoord. Ik ga zo even zoeken.


Bedankt Rob, dit lijkt me inderdaad de juiste benaming. Vreemd trouwens dat ik hier niet op kwam, ik moet het zeker wel eens ergens tegengekomen zijn. :z

[ Voor 59% gewijzigd door JeromeB op 20-10-2014 13:28 ]

PC load letter? What the fuck does that mean?


  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

vanuit je beschrijven zou ik eigenlijk denken aan debounce().

ASSUME makes an ASS out of U and ME


  • JeromeB
  • Registratie: September 2003
  • Laatst online: 15-11 14:27
Dankje, die naam lijkt me inderdaad toepasselijker, maar het zegt iets minder over de onderliggende implementatie.

PC load letter? What the fuck does that mean?


  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

JeromeB schreef op vrijdag 24 oktober 2014 @ 09:42:
Dankje, die naam lijkt me inderdaad toepasselijker, maar het zegt iets minder over de onderliggende implementatie.
Dat is net het DOEL van namen van functies/classes/...: een abstractie van de implementatie.
Het is trouwens de meest gemaakte fout bij het naamgeven, allerhande "ik weet dit en dat en het meot in de naam gereflecteerd worden". De meeste developers zijn gewoon slecht in het naamgeven omdat ze net jouw gedachtegang volgen.

Wat jij doet met een sliding window kan ik met 1 variabele.
code:
1
2
3
4
5
6
7
8
9
10
11
function sliding_window(int value)
{
  int diff = value - m_threshold
  if (sign(diff) != signbit(m_count))
    m_count = 0;
  if (sign(diff))
     --m_count;
  else
     ++m_count;
  return abs(m_count) > m_time_threshold;
}

Moet ik dan de naam van de functie aanpassen?

Debounce dekt de FUNCTIonaliteit van de FUNCTIE af en niet de implementatie. Gebruik ze.

ASSUME makes an ASS out of U and ME


  • JeromeB
  • Registratie: September 2003
  • Laatst online: 15-11 14:27
Daar ben ik het natuurlijk mee eens. Ik heb de naam ook al aangepast. Desondanks heeft de term 'sliding window' mij ook een hoop nieuwe informatie opgeleverd waar ik dus eigenlijk naar op zoek was. Overigens bedankt voor dat stukje code, ik zal het in het weekend even bestuderen.

[ Voor 17% gewijzigd door JeromeB op 24-10-2014 13:35 ]

PC load letter? What the fuck does that mean?

Pagina: 1