ridurre la lista in Specman come in Python
Domanda
Esiste un metodo lista reduce()
in Specman che posso usare per le funzioni generali di riduzione? Sto pensando a qualcosa di simile:
var x: list of bit = some_function_that_returns_list_of_bit;
var bitmap: uint = x.reduce(foo());
dove reduce()
funziona come in Python:
foo(last: uint, val: bit) is: uint {
return (last << 1 ) | bit;
};
Soluzione
Specman 6.1 docs non mostrano un ridurre pseudo-metodo. Per il vostro specifica esempio, è possibile acheive ciò che vuoi con:
bitmap = pack(packing.low, x)
Si può trovare il "ridurre" pseudo-metodo nella versione di Specman dalla ricerca "Lista Pseudo-Metodi" nei tuoi documenti.
Sezione "logiche e matematiche Pseudo-Metodi" mostra i metodi and_all (), media (), or_all (), prodotto (), e sum (). So che questo non è la meta-soluzione, ma è meglio di un calcio nei denti.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow