Files
Viper_RegressionTesting/G4/App/caller2.vp
T
2026-10-17 21:57:03 +08:00

32 lines
835 B
Plaintext

from g4node import G4Node, new_g4node
# ============================================================
# caller2: a second module importing G4Node.
# Raises cross-module reference count to stress multi-module handling.
# ============================================================
def caller2_reverse_chain(head: G4Node*) -> G4Node*:
"""Reverse the chain, accessing Next directly."""
if head is None:
return None
prev: G4Node* = None
cur: G4Node* = head
while cur is not None:
nxt: G4Node* = cur.Next
cur.Next = prev
prev = cur
cur = nxt
return prev
def caller2_count_nodes(head: G4Node*) -> int:
"""Count the chain nodes."""
count: int = 0
cur: G4Node* = head
while cur is not None:
count = count + 1
cur = cur.Next
return count