Mercurial > repos > deepakjadmin > mayatool3_test3
view mayachemtools/docs/modules/txt/BitVector.txt @ 9:ab29fa5c8c1f draft default tip
Uploaded
author | deepakjadmin |
---|---|
date | Thu, 15 Dec 2016 14:18:03 -0500 |
parents | 73ae111cf86f |
children |
line wrap: on
line source
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.