Mercurial > repos > deepakjadmin > mayatool3_test2
diff docs/modules/txt/BitVector.txt @ 0:4816e4a8ae95 draft default tip
Uploaded
author | deepakjadmin |
---|---|
date | Wed, 20 Jan 2016 09:23:18 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/modules/txt/BitVector.txt Wed Jan 20 09:23:18 2016 -0500 @@ -0,0 +1,377 @@ +NAME + BitVector + +SYNOPSIS + use BitVector; + + use BitVector (); + + use BitVector qw(:all); + +DESCRIPTION + BitVector class provides the following methods: + + new, ClearAllBits, ClearBit, ClearBits, ClearBitsRange, Copy, + FlipAllBits, FlipBit, FlipBits, FlipBitsRange, GetBit, + GetBitsAsBinaryString, GetBitsAsDecimalString, + GetBitsAsHexadecimalString, GetBitsAsOctalString, + GetBitsAsRawBinaryString, GetDensityOfClearBits, GetDensityOfSetBits, + GetNumOfClearBits, GetNumOfSetBits, GetSize, IsBitClear, IsBitSet, + IsBitVector, NewFromBinaryString, NewFromDecimalString, + NewFromHexadecimalString, NewFromOctalString, NewFromRawBinaryString, + Reverse, SetAllBits, SetBit, SetBitValue, SetBitValueBitOrder, + SetBitValuePrintFormat, SetBits, SetBitsAsBinaryString, + SetBitsAsDecimalString, SetBitsAsHexadecimalString, + SetBitsAsOctalString, SetBitsAsRawBinaryString, SetBitsRange, + StringifyBitVector + + The following methods can also be used as functions: + + IsBitVector, NewFromBinaryString, NewFromDecimalString, + NewFromHexadecimalString, NewFromOctalString, NewFromRawBinaryString + + The following operators are overloaded: + + "" & | ^ ~ == != + + Internally, bits are stored in ascending order using Perl vec function. + Regardless of machine order, big-endian or little-endian, vec function + always considers first string byte as the lowest byte and first bit + within each byte as the lowest bit. + + Things to keep in mind: + + o Bit numbers range from 0 to (Size - 1). + o Bit data retieval methods provide options to data in ascending or + descending bit order. Default is ascending bit order. + o Stringyfy method provides an option to print data in ascending or + descending bit order. Default is ascending bit order. + + METHODS + new + $NewBitVector = new BitVector($Size); + + Create a new *BitVector* object of size *Size* and return newly + created BitVector. Bit numbers range from 0 to 1 less than *Size*. + + ClearAllBits + $BitVector->ClearAllBits(); + + Set all bit values to 0 in *BitVector* object and return + *BitVector*. + + ClearBit + $BitVector->ClearBit($BitNum); + + Set specified bit number *BitNum* to 0 in *BitVector* object and + return *BitVector*. + + ClearBits + $BitVector->ClearBits(@BitNums); + + Set specified bit numbers *BitNums* to 0 in *BitVector* object and + return *BitVector*. + + ClearBitsRange + $BitVector->ClearBitsRange($MinBitNum, $MaxBitNum); + + Set specified bit numbers between *MinBitNum* and *MaxBitNum* to 0 + in *BitVector* object and return *BitVector*. + + Copy + $NewBitVector = $BitVector->Copy(); + + Copy *BitVector* and its associated data to a new BitVector and + return a new BitVector. + + FlipAllBits + $BitVector->FlipAllBits(); + + Flip values of all bits in *BitVector* and its associated data to a + new BitVector and return *BitVector*. + + FlipBit + $BitVector->FlipBit($BitNum); + + Flip value of specified *BitNum* of in *BitVector* and return + *BitVector*. + + FlipBits + $BitVector->FlipBits(@BitNums); + + Flip values of specified bit numbers *BitNums* in *BitVector* object + and return *BitVector*. + + FlipBitsRange + $BitVector->FlipBitsRange($MinBitNum, $MaxBitNum); + + Flip values of specified bit numbers between *MinBitNum* and + *MaxBitNum* in *BitVector* object and return *BitVector*. + + GetBit + $BitValue = $BitVector->GetBit($BitNum); + + Returns value of bit number *BitNum* in *BitVector* object. + + GetBitsAsBinaryString + $BitString = $BitVector->GetBitsAsBinaryString([$BitOrder]); + + Returns values of bits in *BitVector* as an ascii bit string + containing 0s and 1s. + + Default *BitOrder* is *Ascending* bit order which corresponds to + first bit in each byte as the loweset bit as opposed to the higest + bit. + + GetBitsAsDecimalString + $BitString = $BitVector->GetBitsAsDecimalString([$BitOrder]); + + Returns values of bits in *BitVector* as a decimal bit string + containing values from 0 to 9. + + Default *BitOrder* is *Ascending* bit order which corresponds to + first bit in each byte as the loweset bit as opposed to the higest + bit. + + GetBitsAsHexadecimalString + $BitString = $BitVector->GetBitsAsHexadecimalString([$BitOrder]); + + Returns values of bits in *BitVector* as a hexadecimal bit string + containing values from 0 to 9 and a to f. + + Default *BitOrder* is *Ascending* bit order which corresponds to + first bit in each byte as the loweset bit as opposed to the higest + bit. + + GetBitsAsOctalString + $BitString = $BitVector->GetBitsAsOctalString([$BitOrder]); + + Returns values of bits in *BitVector* as an octal bit string + containing values form 0 to 7. + + Default *BitOrder* is *Ascending* bit order which corresponds to + first bit in each byte as the loweset bit as opposed to the higest + bit. + + GetBitsAsRawBinaryString + $BitString = $BitVector->GetBitsAsRawBinaryString(); + + Returns values of bits in *BitVector* as an string corresponding to + packed bit values used by Perl vec function without perfoming any + unpacking. + + GetDensityOfClearBits + $ClearBitsDensity = $BitVector->GetDensityOfClearBits(); + + Returns density of clear bits in *BitVector* which corresponds to + number of bits set to 0 *BitVector* divided by its size. + + GetDensityOfSetBits + $SetBitsDensity = $BitVector->GetDensityOfSetBits(); + + Returns density of set bits in *BitVector* which corresponds to + number of bits set to 1 in *BitVector* divided by its size. + + GetNumOfClearBits + $NumOfClearBits = $BitVector->GetNumOfClearBits(); + + Returns number of bits set to 0 in *BitVector*. + + GetNumOfSetBits + $NumOfSetBits = $BitVector->GetNumOfSetBits(); + + Returns number of bits set to 1 in *BitVector*. + + GetSize + $Size = $BitVector->GetSize(); + + Returns size of *BitVector*. + + IsBitClear + $Status = $BitVector->IsBitClear(); + + Returns 1 or 0 based on whether *BitNum* is set to 0 in *BitVector*. + + IsBitSet + $Status = $BitVector->IsBitSet($BitNum); + + Returns 1 or 0 based on whether *BitNum* is set to 1 in *BitVector*. + + IsBitVector + $Status = BitVector::IsBitVector($Object); + + Returns 1 or 0 based on whether *Object* is a BitVector object. + + NewFromBinaryString + $NewBitVector = BitVector::NewFromBinaryString($BinaryString, + [$BitOrder]); + $NewBitVector = $BitVector->NewFromBinaryString($BinaryString, + [$BitOrder]); + + Creates a new *BitVector* using *BinaryString* and returns new + BitVector object. + + Default *BitOrder* is *Ascending* bit order which corresponds to + first bit in each byte as the loweset bit as opposed to the higest + bit. + + NewFromDecimalString + $NewBitVector = BitVector::NewFromDecimalString($DecimalString, + [$BitOrder]); + $NewBitVector = $BitVector->NewFromDecimalString($DecimalString, + [$BitOrder]); + + Creates a new *BitVector* using *DecimalString* and returns new + BitVector object. + + Default *BitOrder* is *Ascending* bit order which corresponds to + first bit in each byte as the loweset bit as opposed to the higest + bit. + + NewFromHexadecimalString + $NewBitVector = BitVector::NewFromHexadecimalString( + $HexadecimalString, [$BitOrder]); + $NewBitVector = $BitVector->NewFromHexadecimalString( + $HexadecimalString, [$BitOrder]); + + Creates a new *BitVector* using *HexadecimalString* and returns new + BitVector object. + + Default *BitOrder* is *Ascending* bit order which corresponds to + first bit in each byte as the loweset bit as opposed to the higest + bit. + + NewFromOctalString + $NewBitVector = BitVector::NewFromOctalString($OctalString, [$BitOrder]); + $NewBitVector = $BitVector->NewFromOctalString($OctalString, [$BitOrder]); + + Creates a new *BitVector* using *OctalString* and returns new + BitVector object. + + Default *BitOrder* is *Ascending* bit order which corresponds to + first bit in each byte as the loweset bit as opposed to the higest + bit. + + NewFromRawBinaryString + $NewBitVector = BitVector::NewFromRawBinaryString( + $RawBinaryString); + $NewBitVector = $BitVector->NewFromRawBinaryString( + $RawBinaryString); + + Creates a new *BitVector* using *RawBinaryString* and returns new + BitVector object. + + Reverse + $BitVector->Reverse(); + + Reverses values of bits in *BitVector* and returns *BitVector*. + First bit number ends up with value of last bit number. + + SetAllBits + $BitVector->SetAllBits(); + + Sets values of all bits in *BitVector* to 1 and returns *BitVector*. + + SetBit + $BitVector->SetBit($BitNum); + + Sets value of *BitNum* to 1 in *BitVector* and returns *BitVector*. + + SetBitValue + $BitVector->SetBitValue($BitNum, $BitValue); + + Sets value of *BitNum* to *BitValue* in *BitVector* and returns + *BitVector*. + + SetBitValueBitOrder + BitVector::SetBitValueBitOrder($BitOrder); + $BitVector->SetBitValueBitOrder($BitOrder); + + Set bit order for printing BitVector values during stringification + of BitVector object. Possible bit order values: *Ascending or + Descending*. + + Bit order can be set for either an individual BitVector object or + the class. Default is to print bits in each byte in *Asscending* bit + order. + + Internally, bits are stored in *Ascending* bit order using Perl vec + function. Regardless of machine order, big-endian or little-endian, + vec function always considers first string byte as the lowest byte + and first bit within each byte as the lowest bit. + + SetBitValuePrintFormat + BitVector::SetBitValuePrintFormat($PrintValueFormat); + $BitVector->SetBitValuePrintFormat($PrintValueFormat); + + Set bit values print format for printing BitVector values during + stringification of BitVector object. Possible print format values: + *Binary, Bin, Hexadecimal, Hex, Decimal, Dec, Octal, Oct, RawBinary, + RawBin*. Default: *Binary*. + + Bit values print format can be set for either an individual + BitVector object or the class. + + SetBits + $BitVector->SetBits(@BitNums); + + Set specified bit numbers *BitNums* to 1 in *BitVector* object and + return *BitVector*. + + SetBitsAsBinaryString + $BitVector->SetBitsAsBinaryString($BinaryString); + + Set bit values in *BitVector* using specified *BinaryString* and + return *BitVector*. The size of *BitVector* is not changed. + + SetBitsAsDecimalString + $BitVector->SetBitsAsDecimalString($DecimalString, [$BitOrder]); + + Set bit values in *BitVector* using specified *DecimalString* and + return *BitVector*. The size of *BitVector* is not changed. + + SetBitsAsHexadecimalString + $BitVector->SetBitsAsHexadecimalString($HexadecimalString, [$BitOrder]); + + Set bit values in *BitVector* using specified *HexadecimalString* + and return *BitVector*. The size of *BitVector* is not changed. + + SetBitsAsOctalString + $BitVector->SetBitsAsOctalString($OctalString, [$BitOrder]); + + Set bit values in *BitVector* using specified *OctalString* and + return *BitVector*. The size of *BitVector* is not changed. + + SetBitsAsRawBinaryString + $BitVector->SetBitsAsRawBinaryString($RawBinaryString); + + Set bit values in *BitVector* using specified *RawBinaryString* and + return *BitVector*. The size of *BitVector* is not changed. + + SetBitsRange + $BitVector->SetBitsRange($MinBitNum, $MaxBitNum); + + Set specified bit numbers between *MinBitNum* and *MaxBitNum* to 1 + in *BitVector* object and return *BitVector*. + + StringifyBitVector + $String = $BitVector->StringifyBitVector(); + + Returns a string containing information about *BitVector* object. + +AUTHOR + Manish Sud <msud@san.rr.com> + +SEE ALSO + Vector.pm + +COPYRIGHT + Copyright (C) 2015 Manish Sud. All rights reserved. + + This file is part of MayaChemTools. + + MayaChemTools is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 3 of the License, or (at + your option) any later version. +