2025-09-02 23:58:15 +09:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								#include <hak.h>
							 | 
						
					
						
							
								
									
										
										
										
											2025-08-06 12:42:36 +09:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								#include "tap.h"
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								int main(int argc, char* argv[])
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								{
							 | 
						
					
						
							
								
									
										
										
										
											2025-09-02 23:58:15 +09:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									hak_t* hak;
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									hak_oop_t v;
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									hak_ooi_t i, j;
							 | 
						
					
						
							
								
									
										
										
										
											2025-08-06 12:42:36 +09:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									int n;
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									no_plan();
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2025-09-02 23:58:15 +09:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									hak = hak_openstd(0, HAK_NULL);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									OK (hak != HAK_NULL, "instantiation failure");
							 | 
						
					
						
							
								
									
										
										
										
											2025-08-06 12:42:36 +09:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2025-09-02 23:58:15 +09:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									n = hak_ignite(hak, 0);
							 | 
						
					
						
							
								
									
										
										
										
											2025-08-06 12:42:36 +09:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									OK (n == 0, "ignition failure");
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2025-09-02 23:58:15 +09:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									n = hak_addbuiltinprims(hak);
							 | 
						
					
						
							
								
									
										
										
										
											2025-08-06 12:42:36 +09:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									OK (n == 0, "registration failure of builtin primitives");
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2025-09-02 23:58:15 +09:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									for (j = HAK_TYPE_MIN(hak_ooi_t); j <= HAK_TYPE_MIN(hak_ooi_t) + 5 ; j++)
							 | 
						
					
						
							
								
									
										
										
										
											2025-08-06 12:42:36 +09:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									{
							 | 
						
					
						
							
								
									
										
										
										
											2025-09-02 23:58:15 +09:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
										v = hak_ooitoint(hak, j);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
										OK (v != HAK_NULL, "bigint instantiation");
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
										n = hak_inttoooi(hak, v, &i);
							 | 
						
					
						
							
								
									
										
										
										
											2025-08-06 12:42:36 +09:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
										OK (n < 0, "bigint to ooi conversion not negative");
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
										OK (i == j, "big to ooi conversion result");
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									}
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2025-09-02 23:58:15 +09:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									hak_close(hak);
							 | 
						
					
						
							
								
									
										
										
										
											2025-08-06 12:42:36 +09:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									return exit_status();
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								}
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 |