NAMEbitsetclass - set of numbers.DESCRIPTIONThis class implements a bounded set of integers.AUTHORBoris Magnusson, Lund University.EXAMPLEexternalclassBitSetClass;ref(BitSetClass)s1,s2;s1:-newBitSetClass(47);!--48possiblemembers0,1,...47--;s1.addMember(22);!--make22memberoftheset--;s2:-s1.SetCopy.SetNot;!--s2holdstheonesnotMembersofs1--;DETAILEDINTERFACEBitFiddleClassclassBitSetClass(MaxSet);integerMaxSet;BitSetClass is set of integers, compatcly represented. The members are numbers 0,1,...,MaxMember. MaxMember is given when an object of this class is created. Supers: BitFiddleClass Kind: Instantiable Init: none Sequencing: (MaxMember AddMember RemoveMember isMember FirstMember SetClear SetNot SetCopy SetUnion SetCut SetEqual LoadFromArray StoreToArray)*OPERATIONSMaxMemberReturns the highest member number in this set (=MaxSet).AddMemberprocedureAddMember(number);integerNumber;Include Number in the set. If Number is outside 0..MaxMember the call is ignored.RemoveMemberprocedureRemoveMember(Number);integerNumber;Remove Number from the set if a member. If Numer is outside 0..MaxMember the call is ignored.isMemberBooleanprocedureisMember(number);integerNumber;Return True if Number is member of the set, False otherwise. If Number is outside 0..MaxMember it also returns False.FirstMemberintegerprocedureFirstMember;Return the lowest Number of a member in the set. Returns -1 for an empty set.SetClearprocedureSetClear;Make the set contain no members.SetNotprocedureSetNot;Make the set contain exactly those Numbers that where not members before.SetCopyref(bitsetClass)procedureSetCopy;Return a copy of the set that initally contains the same Members.SetUnionprocedureSetUnion(otherSet);ref(bitSetClass)otherSet;Make the set conatain also those Numbers that are members of another Set. Numbers of otherSet, outside 0..MaxMembers of this Set are not considered.SetCutprocedureSetCut(otherSet);ref(bitSetClass)otherSet;Make this set contain only those Numbers that initally are members of both sets.SetEqualBooleanprocedureSetEqual(otherSet);ref(bitSetClass)otherSet;Return true if both sets contain the same members. If the two sets are of different size they are considered equal if the corresponding parts are equal and the extension part of the larger set is empty.LoadFromArrayprocedureLoadFromArray(ar);integerarrayar;Regard an integer array as a set member representation where the most significant bit of the first element corresponds to member O and so on. Make the set contain exactly those members where there is a bit=1 in the integer array. Bits outside the range 0..MaxMembers are not included.StoreToArrayprocedureStoreToArray(ar);integerarrayar;Regard an integer array as a set member representation where the most significant bit of the first element corresponds to member O and so on. Set the bits in the integer array corresponding to the members of the set. The set will be truncated if the array is too short.