&|k820309լ< /home/claw/bearclaw/lib/treeops.f90TREEOPS'INITTREEKILLTREEREADTREEWRITETREEADDROOTLEVELNODECREATENODEKILLNODEDELETEMARKEDNODEAPPLYONLEAVESAPPLYONLEVELSAPPLYONTREEAPPLYONLEVELAPPLYONLEVELPAIRSAPPLYONCHILDRENGETTREEOPSERRCODEGETNODEINFOSETNODEINFOGETCURRENTNODEGETNODENOGETCHILDINFOGETPARENTINFOGETPARENTGETSIBLINGGETCHILDGETLEVELGETSIBLINGINDEXGETNROFCHILDRENGETROOTINFOSETROOTINFOEXISTLEVELERR_OKERR_UNDEFINEDNODEERR_NOPARENTERR_NOSIBLINGERR_NOCHILDNODEMAXDEPTHROOT_LEVELFOREST_ROOT_LEVEL@ #@ INITTREE%PRESENTINFOINITPRESENT A#@ #@ READTREE%ASSOCIATEDINUNITASSOCIATED #@ OUTUNIT #@ ADDROOTLEVELNODE%PRESENTINFOINITPRESENT A#@ CREATENODE%ASSOCIATEDCREATENODE%PRESENTINFOINITREADMODEASSOCIATEDPRESENT A A#@ KILLNODE%ASSOCIATEDANODEASSOCIATEDDQ@NODE%@   INFODUMMYhNODEINFO0FUNCPARAM#@ APPLYONLEAVES%PRESENTFFPARAMPREEVALPRESENT" @DP0FUNCPARAMA#@ APPLYONLEVELS%PRESENTFFPARAMPREEVALPRESENT" @DP0FUNCPARAMA#@ APPLYONTREE%PRESENTFFPARAMPREEVALPRESENT" @DP0FUNCPARAMA#@ APPLYONLEVEL%ABSAPPLYONLEVEL%ASSOCIATEDLFFPARAMABSASSOCIATEDA" DP0FUNCPARAM#@ APPLYONLEVELPAIRS%ABSAPPLYONLEVELPAIRS%ASSOCIATEDLFFPARAMABSASSOCIATEDA" DP0FUNCPARAM#@ APPLYONCHILDREN%ASSOCIATEDFFPARAMASSOCIATED" DP0FUNCPARAM%@   %@   GETNODEINFO%ASSOCIATEDANODEANODEINFOASSOCIATEDQ@NODEDhNODEINFO%@   SETNODEINFO%ASSOCIATEDANODEANODEINFOASSOCIATEDDQ@NODEhNODEINFO%@   ANODED@NODE%@   %@   GETCHILDINFO%ASSOCIATEDANODEINFOASSOCIATEDDhNODEINFO%@   GETPARENTINFO%ASSOCIATEDANODEINFOASSOCIATEDDhNODEINFO%@   GETPARENT%ASSOCIATEDANODEPARENTASSOCIATEDQ@NODED@NODE%@   GETSIBLING%ASSOCIATEDANODESIBLINGASSOCIATEDQ@NODED@NODE%@   GETCHILD%ASSOCIATEDANODECHILDASSOCIATEDQ@NODED@NODE%@   THISLEVELD%@   GETSIBLINGINDEX%ASSOCIATEDSIBLINGINDEXASSOCIATEDD%@   GETNROFCHILDREN%ASSOCIATEDNROFCHILDRENASSOCIATEDD%@   GETROOTINFO%ASSOCIATEDANODEINFOASSOCIATEDDhNODEINFO%@   SETROOTINFO%ASSOCIATEDANODEINFOASSOCIATEDhNODEINFO%@   EXISTLEVEL%ABSEXISTLEVEL%ASSOCIATEDLEVELABSASSOCIATEDA  0  d100  201  202  203 @'@ INFOPARENTSIBLINGCHILDNEIGHBORLEVELCHILDNONROFCHILDRENLEAFDISTNODENOhNODEINFO<NODE<NODE<NODE< NODE(,04 8    32  0  4fn#fnbuapp(TREEOPS8JNODEINFODEFZINITTREE!o8INITTREE%PRESENT"8aINITTREE%INFOINIT@KILLTREE[READTREE$z;READTREE%ASSOCIATED 8aREADTREE%INUNITHWRITETREE"58aWRITETREE%OUTUNIT!mbADDROOTLEVELNODE)8ADDROOTLEVELNODE%PRESENT*8aADDROOTLEVELNODE%INFOINIT?{CREATENODE&;CREATENODE%ASSOCIATED#8CREATENODE%PRESENT$-8aCREATENODE%INFOINIT$e8aCREATENODE%READMODEZKILLNODE$;KILLNODE%ASSOCIATED2EaKILLNODE%ANODE!wSDELETEMARKEDNODE&IaDELETEMARKEDNODE%INFO' JaDELETEMARKEDNODE%DUMMY] gAPPLYONLEAVES& 8APPLYONLEAVES%PRESENT 8APPLYONLEAVES%F%4 JaAPPLYONLEAVES%FPARAM&~ 8aAPPLYONLEAVES%PREEVAL gAPPLYONLEVELS& 8APPLYONLEVELS%PRESENT U 8APPLYONLEVELS%F% JaAPPLYONLEVELS%FPARAM& 8aAPPLYONLEVELS%PREEVAL eAPPLYONTREE$t 8APPLYONTREE%PRESENT 8APPLYONTREE%F# JaAPPLYONTREE%FPARAM$. 8aAPPLYONTREE%PREEVALf tAPPLYONLEVEL! 4APPLYONLEVEL%ABS(;APPLYONLEVEL%ASSOCIATEDI8aAPPLYONLEVEL%L8APPLYONLEVEL%F$JaAPPLYONLEVEL%FPARAM"~APPLYONLEVELPAIRS&4APPLYONLEVELPAIRS%ABS-;APPLYONLEVELPAIRS%ASSOCIATED$8aAPPLYONLEVELPAIRS%L$(8APPLYONLEVELPAIRS%F)`JaAPPLYONLEVELPAIRS%FPARAM dAPPLYONCHILDREN+;APPLYONCHILDREN%ASSOCIATED"I8APPLYONCHILDREN%F'JaAPPLYONCHILDREN%FPARAM"HGETTREEOPSERRCODEoGETNODEINFO';GETNODEINFO%ASSOCIATED"EaGETNODEINFO%ANODE&IaGETNODEINFO%ANODEINFOKoSETNODEINFO';SETNODEINFO%ASSOCIATED"EaSETNODEINFO%ANODE&:IaSETNODEINFO%ANODEINFONGETCURRENTNODE%EaGETCURRENTNODE%ANODEHGETNODENO^jGETCHILDINFO(;GETCHILDINFO%ASSOCIATED'IaGETCHILDINFO%ANODEINFOLkGETPARENTINFO);GETPARENTINFO%ASSOCIATED(IaGETPARENTINFO%ANODEINFO;jGETPARENT%;GETPARENT%ASSOCIATED EaGETPARENT%ANODE!%EaGETPARENT%PARENTjlGETSIBLING&;GETSIBLING%ASSOCIATED!EaGETSIBLING%ANODE#VEaGETSIBLING%SIBLINGhGETCHILD$;GETCHILD%ASSOCIATED>EaGETCHILD%ANODEEaGETCHILD%CHILDRGETLEVEL#8aGETLEVEL%THISLEVEL RpGETSIBLINGINDEX+;GETSIBLINGINDEX%ASSOCIATED-8aGETSIBLINGINDEX%SIBLINGINDEX 5pGETNROFCHILDREN+;GETNROFCHILDREN%ASSOCIATED-8aGETNROFCHILDREN%NROFCHILDRENiGETROOTINFO';GETROOTINFO%ASSOCIATED&IaGETROOTINFO%ANODEINFOiSETROOTINFO'n;SETROOTINFO%ASSOCIATED&IaSETROOTINFO%ANODEINFOsEXISTLEVELe4EXISTLEVEL%ABS&;EXISTLEVEL%ASSOCIATED!8aEXISTLEVEL%LEVEL iERR_OK"u kERR_UNDEFINEDNODE kERR_NOPARENTK!kERR_NOSIBLING!kERR_NOCHILD!"NODE"QaNODE%INFO#MaNODE%PARENTU#MaNODE%SIBLING#MaNODE%CHILD#MaNODE%NEIGHBOR<$@aNODE%LEVEL|$@aNODE%CHILDNO"$@aNODE%NROFCHILDREN$@aNODE%LEAFDIST<%@aNODE%NODENO|%jMAXDEPTH%iROOT_LEVEL"O&hFOREST_ROOT_LEVEL