mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 11:42:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
	
		
			847 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			847 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from pyosys import libyosys as ys
 | |
| 
 | |
| my_idict = ys.IdstringIdict()
 | |
| print(my_idict(ys.IdString("\\hello"))) # test explicit IdString construction
 | |
| print(my_idict("\\world"))
 | |
| print(my_idict.get("\\world"))
 | |
| try:
 | |
| 	print(my_idict.get("\\dummy"))
 | |
| except IndexError as e:
 | |
| 	print(f"{repr(e)}")
 | |
| print(my_idict[0])
 | |
| print(my_idict[1])
 | |
| try:
 | |
| 	print(my_idict[2])
 | |
| except IndexError as e:
 | |
| 	print(f"{repr(e)}")
 | |
| 
 | |
| for i in my_idict:
 | |
| 	print(i)
 | |
| 
 | |
| current_len = len(my_idict)
 | |
| assert current_len == 2, "copy"
 | |
| 
 | |
| my_copy = my_idict.copy()
 | |
| my_copy("\\copy")
 | |
| assert len(my_idict) == current_len, "copy seemed to have mutate original idict"
 | |
| assert len(my_copy) == current_len + 1, "copy not behaving as expected"
 | |
| 
 | |
| current_copy_len = len(my_copy)
 | |
| my_copy |= ("\\the", "\\world") # 1 new element
 | |
| assert len(my_copy) == current_copy_len + 1, "or operator returned unexpected result"
 |