Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Elemente in Mengen mit ASM zählen

  Alt 17. Nov 2006, 08:07
Wie macht man es bei einem 'Set Of TFoobar'? Klappt das dann?
Ich würde, weil ich selten mit Mengen arbeite, mir den 5-Zeiler von Dax an die jeweilige Menge anpassen und als Template ablegen.

Delphi-Quellcode:
Function SetOf|Type|Length (aSet : T|Type|Set) : Byte;
Var
  i : |Type|;

Begin
  Result := 0;
  For i:= Low (|Type|) To High (|Type|) Do
    If i in aSet Then Inc (Result)
End;
Und '|Type|' wird im Template durch die Basistype der Menge (TFoobar, Byte etc.) ersetzt.

@3_of_8: Ich kenn mich mit Intel-Assembler gar nicht aus, aber stimmt es, das Du einfach so lange die bits zählst, bis das Byte leer ist?
Dann wird Deine Funktion bei einem TByteset mit den Elementen [255,0] nicht richtig funktionieren.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat