19.11.2014 Views

The Fortress Language Specification - CiteSeerX

The Fortress Language Specification - CiteSeerX

The Fortress Language Specification - CiteSeerX

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

40.7.56 gatherBits(mask: T): T<br />

40.7.57 spreadBits(mask:T): T<br />

[Description to be supplied.]<br />

40.7.58 disentangleBits(mask:T): T<br />

40.7.59 intersperseBits(mask: T): T<br />

[Description to be supplied.]<br />

40.8 <strong>The</strong> Trait <strong>Fortress</strong>.Core.BasicBinaryWordOperations<br />

trait BasicBinaryWordOperationsT extends BasicBinaryWordOperationsT, b,nat b<br />

extends BasicBinaryOperationsT where { b ≤ maxBinaryWordBitLog }<br />

multiplyLow(other: T):T where { b ≤ maxMultiplyBitLog }<br />

multiplyLow(other: T,overflowAction: () → T):T where { b ≤ maxMultiplyBitLog }<br />

saturatedMultiplyLow(other:T): T where { b ≤ maxMultiplyBitLog }<br />

multiplyHigh(other:T): T where { b ≤ maxMultiplyBitLog }<br />

multiplyDouble(other: T): (T, T) where { b ≤ maxMultiplyBitLog }<br />

signedDivide(other:T,overflowAction: () → T,zeroDivideAction:() → T):T<br />

where { b ≤ maxDivideBitLog }<br />

unsignedDivide(other: T,zeroDivideAction: () → T):T where { b ≤ maxDivideBitLog }<br />

signedDivRem(other:T,overflowAction: () → T,zeroDivideAction:() → T):(T, T)<br />

where { b ≤ maxDivideBitLog }<br />

unsignedDivRem(other: T,zeroDivideAction: () → T):(T, T) where { b ≤ maxDivideBitLog }<br />

signedRemainder(other: T,zeroDivideAction: () → T):T where { b ≤ maxDivideBitLog }<br />

unsignedModulo(other: T,zeroDivideAction: () → T): T where { b ≤ maxDivideBitLog }<br />

bitSwap(j:IndexInt):T<br />

getter littleEndian():BinaryEndianWordb,false,false<br />

getter bigEndian():BinaryEndianWordb,true,true<br />

end<br />

40.8.1 multiplyLow(other:T): T where { b ≤ maxMultiplyBitLog }<br />

40.8.2 multiplyLow(other:T,overflowAction: () → T): T where { b ≤ maxMultiplyBitLog }<br />

40.8.3 saturatedMultiplyLow(other: T):T where { b ≤ maxMultiplyBitLog }<br />

40.8.4 multiplyHigh(other: T):T where { b ≤ maxMultiplyBitLog }<br />

40.8.5 multiplyDouble(other: T):(T, T) where { b ≤ maxMultiplyBitLog }<br />

[Description to be supplied.]<br />

292

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!