most of the work towards 4.0.20
							parent
							
								
									1056f80681
								
							
						
					
					
						commit
						aba967065d
					
				| 
						 | 
					@ -634,8 +634,8 @@ config_array_good(Config_Array_Reader *array_reader){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
lexer_keywords_default_init(Partition *part, Cpp_Keyword_Table *kw_out, Cpp_Keyword_Table *pp_out){
 | 
					lexer_keywords_default_init(Partition *part, Cpp_Keyword_Table *kw_out, Cpp_Keyword_Table *pp_out){
 | 
				
			||||||
    size_t kw_size = cpp_get_table_memory_size_default(CPP_TABLE_KEYWORDS);
 | 
					    umem_4tech kw_size = cpp_get_table_memory_size_default(CPP_TABLE_KEYWORDS);
 | 
				
			||||||
    size_t pp_size = cpp_get_table_memory_size_default(CPP_TABLE_PREPROCESSOR_DIRECTIVES);
 | 
					    umem_4tech pp_size = cpp_get_table_memory_size_default(CPP_TABLE_PREPROCESSOR_DIRECTIVES);
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    void *kw_mem = push_block(part, (i32_4tech)kw_size);
 | 
					    void *kw_mem = push_block(part, (i32_4tech)kw_size);
 | 
				
			||||||
    void *pp_mem = push_block(part, (i32_4tech)pp_size);
 | 
					    void *pp_mem = push_block(part, (i32_4tech)pp_size);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,6 +13,8 @@ TYPE: 'major-system-include'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "4coder_helper/4coder_jump_parsing.h"
 | 
					#include "4coder_helper/4coder_jump_parsing.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FCODER_JUMP_COMMANDS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "4coder_default_framework.h"
 | 
					#include "4coder_default_framework.h"
 | 
				
			||||||
#include "4coder_base_commands.cpp"
 | 
					#include "4coder_base_commands.cpp"
 | 
				
			||||||
#include "4coder_auto_indent.cpp"
 | 
					#include "4coder_auto_indent.cpp"
 | 
				
			||||||
| 
						 | 
					@ -25,6 +27,9 @@ TYPE: 'major-system-include'
 | 
				
			||||||
#include "4coder_default_hooks.cpp"
 | 
					#include "4coder_default_hooks.cpp"
 | 
				
			||||||
#include "4coder_function_list.cpp"
 | 
					#include "4coder_function_list.cpp"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#undef FCODER_JUMP_COMMANDS
 | 
				
			||||||
 | 
					#include "4coder_sticky_jump.cpp"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "4coder_helper/4coder_bind_helper.h"
 | 
					#include "4coder_helper/4coder_bind_helper.h"
 | 
				
			||||||
#include "4coder_helper/4coder_helper.h"
 | 
					#include "4coder_helper/4coder_helper.h"
 | 
				
			||||||
#include "4coder_helper/4coder_streaming.h"
 | 
					#include "4coder_helper/4coder_streaming.h"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,7 +26,11 @@ typedef uint16_t u16_4tech;
 | 
				
			||||||
typedef uint32_t u32_4tech;
 | 
					typedef uint32_t u32_4tech;
 | 
				
			||||||
typedef uint64_t u64_4tech;
 | 
					typedef uint64_t u64_4tech;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(FTECH_32_BIT)
 | 
				
			||||||
 | 
					typedef u32_4tech umem_4tech;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
typedef u64_4tech umem_4tech;
 | 
					typedef u64_4tech umem_4tech;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef float f32_4tech;
 | 
					typedef float f32_4tech;
 | 
				
			||||||
typedef double f64_4tech;
 | 
					typedef double f64_4tech;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
					@ -26,7 +26,11 @@ typedef uint16_t u16_4tech;
 | 
				
			||||||
typedef uint32_t u32_4tech;
 | 
					typedef uint32_t u32_4tech;
 | 
				
			||||||
typedef uint64_t u64_4tech;
 | 
					typedef uint64_t u64_4tech;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(FTECH_32_BIT)
 | 
				
			||||||
 | 
					typedef u32_4tech umem_4tech;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
typedef u64_4tech umem_4tech;
 | 
					typedef u64_4tech umem_4tech;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef float f32_4tech;
 | 
					typedef float f32_4tech;
 | 
				
			||||||
typedef double f64_4tech;
 | 
					typedef double f64_4tech;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,7 +26,11 @@ typedef uint16_t u16_4tech;
 | 
				
			||||||
typedef uint32_t u32_4tech;
 | 
					typedef uint32_t u32_4tech;
 | 
				
			||||||
typedef uint64_t u64_4tech;
 | 
					typedef uint64_t u64_4tech;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(FTECH_32_BIT)
 | 
				
			||||||
 | 
					typedef u32_4tech umem_4tech;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
typedef u64_4tech umem_4tech;
 | 
					typedef u64_4tech umem_4tech;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef float f32_4tech;
 | 
					typedef float f32_4tech;
 | 
				
			||||||
typedef double f64_4tech;
 | 
					typedef double f64_4tech;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,7 +26,11 @@ typedef uint16_t u16_4tech;
 | 
				
			||||||
typedef uint32_t u32_4tech;
 | 
					typedef uint32_t u32_4tech;
 | 
				
			||||||
typedef uint64_t u64_4tech;
 | 
					typedef uint64_t u64_4tech;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(FTECH_32_BIT)
 | 
				
			||||||
 | 
					typedef u32_4tech umem_4tech;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
typedef u64_4tech umem_4tech;
 | 
					typedef u64_4tech umem_4tech;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef float f32_4tech;
 | 
					typedef float f32_4tech;
 | 
				
			||||||
typedef double f64_4tech;
 | 
					typedef double f64_4tech;
 | 
				
			||||||
| 
						 | 
					@ -1774,8 +1778,8 @@ DOC_SEE(cpp_make_token_array)
 | 
				
			||||||
    umem_4tech keywords_memsize = cpp_get_table_memory_size_default(CPP_TABLE_KEYWORDS);
 | 
					    umem_4tech keywords_memsize = cpp_get_table_memory_size_default(CPP_TABLE_KEYWORDS);
 | 
				
			||||||
    umem_4tech preprocessor_words_memsize = cpp_get_table_memory_size_default(CPP_TABLE_PREPROCESSOR_DIRECTIVES);
 | 
					    umem_4tech preprocessor_words_memsize = cpp_get_table_memory_size_default(CPP_TABLE_PREPROCESSOR_DIRECTIVES);
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    void *keywords_mem = malloc(keywords_memsize);
 | 
					    void *keywords_mem = malloc((size_t)keywords_memsize);
 | 
				
			||||||
    void *preprocessor_words_mem = malloc(preprocessor_words_memsize);
 | 
					    void *preprocessor_words_mem = malloc((size_t)preprocessor_words_memsize);
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    Cpp_Keyword_Table keywords = cpp_make_table_default(CPP_TABLE_KEYWORDS, keywords_mem, keywords_memsize);
 | 
					    Cpp_Keyword_Table keywords = cpp_make_table_default(CPP_TABLE_KEYWORDS, keywords_mem, keywords_memsize);
 | 
				
			||||||
    Cpp_Keyword_Table preprocessor_words = cpp_make_table_default(CPP_TABLE_PREPROCESSOR_DIRECTIVES, preprocessor_words_mem, preprocessor_words_memsize);
 | 
					    Cpp_Keyword_Table preprocessor_words = cpp_make_table_default(CPP_TABLE_PREPROCESSOR_DIRECTIVES, preprocessor_words_mem, preprocessor_words_memsize);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -476,12 +476,15 @@ internal_get_buffer_first(Working_Set *working_set, Buffer_Summary *buffer){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
internal void
 | 
					internal void
 | 
				
			||||||
internal_get_buffer_next(Working_Set *working_set, Buffer_Summary *buffer){
 | 
					internal_get_buffer_next(Working_Set *working_set, Buffer_Summary *buffer){
 | 
				
			||||||
    Editing_File *file;
 | 
					    Editing_File *file = working_set_get_active_file(working_set, buffer->buffer_id);
 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    file = working_set_get_active_file(working_set, buffer->buffer_id);
 | 
					 | 
				
			||||||
    if (file){
 | 
					    if (file){
 | 
				
			||||||
        file = (Editing_File*)file->node.next;
 | 
					        file = (Editing_File*)file->node.next;
 | 
				
			||||||
        fill_buffer_summary(buffer, file, working_set);
 | 
					        if (file != (Editing_File*)&working_set->used_sentinel){
 | 
				
			||||||
 | 
					            fill_buffer_summary(buffer, file, working_set);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else{
 | 
				
			||||||
 | 
					            *buffer = null_buffer_summary;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else{
 | 
					    else{
 | 
				
			||||||
        *buffer = null_buffer_summary;
 | 
					        *buffer = null_buffer_summary;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,7 +22,7 @@
 | 
				
			||||||
#include "4ed_system.h"
 | 
					#include "4ed_system.h"
 | 
				
			||||||
#include "4ed_profile.h"
 | 
					#include "4ed_profile.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//#define USE_DEBUG_MEMORY
 | 
					#define USE_DEBUG_MEMORY
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define FSTRING_IMPLEMENTATION
 | 
					#define FSTRING_IMPLEMENTATION
 | 
				
			||||||
#define FSTRING_C
 | 
					#define FSTRING_C
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,17 +31,17 @@ debug_gm_open(System_Functions *system, Debug_GM *general, void *memory, i32 siz
 | 
				
			||||||
static void*
 | 
					static void*
 | 
				
			||||||
debug_gm_allocate(Debug_GM *general, int32_t size){
 | 
					debug_gm_allocate(Debug_GM *general, int32_t size){
 | 
				
			||||||
    System_Functions *system = general->system;
 | 
					    System_Functions *system = general->system;
 | 
				
			||||||
    persist u32 round_val = OS_PAGE_SIZE-1;
 | 
					    local_persist u32 round_val = OS_PAGE_SIZE-1;
 | 
				
			||||||
    size = (size + round_val) & (~round_val);
 | 
					    size = (size + round_val) & (~round_val);
 | 
				
			||||||
    void *result = system->memory_allocate(0, size + OS_PAGE_SIZE);
 | 
					    void *result = system->memory_allocate(size + OS_PAGE_SIZE);
 | 
				
			||||||
    system->memory_set_protection(0, (u8*)result + size, OS_PAGE_SIZE, 0);
 | 
					    system->memory_set_protection((u8*)result + size, OS_PAGE_SIZE, 0);
 | 
				
			||||||
    return(result);
 | 
					    return(result);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
debug_gm_free(Debug_GM *general, void *memory){
 | 
					debug_gm_free(Debug_GM *general, void *memory){
 | 
				
			||||||
    System_Functions *system = general->system;
 | 
					    System_Functions *system = general->system;
 | 
				
			||||||
    system->memory_free(0, memory, 0);
 | 
					    system->memory_free(memory, 0);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void*
 | 
					static void*
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -995,6 +995,7 @@ struct Code_Wrap_State{
 | 
				
			||||||
    Code_Wrap_X plane_wrap_x;
 | 
					    Code_Wrap_X plane_wrap_x;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    i32 *line_starts;
 | 
					    i32 *line_starts;
 | 
				
			||||||
 | 
					    i32 line_count;
 | 
				
			||||||
    i32 line_index;
 | 
					    i32 line_index;
 | 
				
			||||||
    i32 next_line_start;
 | 
					    i32 next_line_start;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
| 
						 | 
					@ -1023,6 +1024,7 @@ wrap_state_init(System_Functions *system, Code_Wrap_State *state, Editing_File *
 | 
				
			||||||
    state->end_token = state->token_ptr + state->token_array.count;
 | 
					    state->end_token = state->token_ptr + state->token_array.count;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    state->line_starts = file->state.buffer.line_starts;
 | 
					    state->line_starts = file->state.buffer.line_starts;
 | 
				
			||||||
 | 
					    state->line_count = file->state.buffer.line_count;
 | 
				
			||||||
    state->next_line_start = state->line_starts[1];
 | 
					    state->next_line_start = state->line_starts[1];
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    Gap_Buffer *buffer = &file->state.buffer;
 | 
					    Gap_Buffer *buffer = &file->state.buffer;
 | 
				
			||||||
| 
						 | 
					@ -1102,9 +1104,17 @@ wrap_state_consume_token(System_Functions *system, Render_Font *font, Code_Wrap_
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    // TODO(allen): exponential search this shit!
 | 
					    // TODO(allen): exponential search this shit!
 | 
				
			||||||
    while (i >= state->next_line_start){
 | 
					    for (;i >= state->next_line_start;){
 | 
				
			||||||
        ++state->line_index;
 | 
					        state->next_line_start = state->size;
 | 
				
			||||||
        state->next_line_start = state->line_starts[state->line_index + 1];
 | 
					        if (state->line_index < state->line_count){
 | 
				
			||||||
 | 
					            ++state->line_index;
 | 
				
			||||||
 | 
					            if (state->line_index + 1 < state->line_count){
 | 
				
			||||||
 | 
					                state->next_line_start = state->line_starts[state->line_index + 1];
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        else{
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    i32 line_start = state->line_starts[state->line_index];
 | 
					    i32 line_start = state->line_starts[state->line_index];
 | 
				
			||||||
| 
						 | 
					@ -1220,6 +1230,9 @@ wrap_state_consume_token(System_Functions *system, Render_Font *font, Code_Wrap_
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        ++state->token_ptr;
 | 
					        ++state->token_ptr;
 | 
				
			||||||
 | 
					        if (state->token_ptr > state->end_token){
 | 
				
			||||||
 | 
					            state->token_ptr = state->end_token;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    result.position_end = state->i;
 | 
					    result.position_end = state->i;
 | 
				
			||||||
| 
						 | 
					@ -2125,7 +2138,7 @@ Job_Callback_Sig(job_full_lex){
 | 
				
			||||||
    Gap_Buffer *buffer = &file->state.buffer;
 | 
					    Gap_Buffer *buffer = &file->state.buffer;
 | 
				
			||||||
    i32 text_size = buffer_size(buffer);
 | 
					    i32 text_size = buffer_size(buffer);
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    i32 aligned_buffer_size = (text_size + 3)&(~3);
 | 
					    u32 aligned_buffer_size = (text_size + 3)&(~3);
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    for (;memory->size < aligned_buffer_size + parse_context.memory_size;){
 | 
					    for (;memory->size < aligned_buffer_size + parse_context.memory_size;){
 | 
				
			||||||
        void *old_base = memory->data;
 | 
					        void *old_base = memory->data;
 | 
				
			||||||
| 
						 | 
					@ -2189,8 +2202,7 @@ Job_Callback_Sig(job_full_lex){
 | 
				
			||||||
                data_size -= parse_context.memory_size;
 | 
					                data_size -= parse_context.memory_size;
 | 
				
			||||||
                tokens.tokens = (Cpp_Token*)(data_ptr);
 | 
					                tokens.tokens = (Cpp_Token*)(data_ptr);
 | 
				
			||||||
                tokens.max_count = (u32)(data_size / sizeof(Cpp_Token));
 | 
					                tokens.max_count = (u32)(data_size / sizeof(Cpp_Token));
 | 
				
			||||||
            }
 | 
					            }break;
 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
            case LexResult_HitTokenLimit:
 | 
					            case LexResult_HitTokenLimit:
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								4ed_site.ctm
								
								
								
								
							
							
						
						
									
										
											BIN
										
									
								
								4ed_site.ctm
								
								
								
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
					@ -136,8 +136,8 @@ enum Thread_Group_ID{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct Thread_Memory{
 | 
					struct Thread_Memory{
 | 
				
			||||||
    void *data;
 | 
					    void *data;
 | 
				
			||||||
    i32 size;
 | 
					    u32 size;
 | 
				
			||||||
    i32 id;
 | 
					    u32 id;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
global Thread_Memory null_thread_memory = {0};
 | 
					global Thread_Memory null_thread_memory = {0};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -485,8 +485,9 @@ static void
 | 
				
			||||||
standard_build(char *cdir, u32 flags){
 | 
					standard_build(char *cdir, u32 flags){
 | 
				
			||||||
    fsm_generator(cdir);
 | 
					    fsm_generator(cdir);
 | 
				
			||||||
    metagen(cdir);
 | 
					    metagen(cdir);
 | 
				
			||||||
 | 
					    do_buildsuper(cdir, Custom_Default, flags);
 | 
				
			||||||
    //do_buildsuper(cdir, Custom_Experiments, flags);
 | 
					    //do_buildsuper(cdir, Custom_Experiments, flags);
 | 
				
			||||||
    do_buildsuper(cdir, Custom_Casey, flags);
 | 
					    //do_buildsuper(cdir, Custom_Casey, flags);
 | 
				
			||||||
    //do_buildsuper(cdir, Custom_ChronalVim, flags);
 | 
					    //do_buildsuper(cdir, Custom_ChronalVim, flags);
 | 
				
			||||||
    build_main(cdir, flags);
 | 
					    build_main(cdir, flags);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,7 +21,11 @@ typedef uint16_t u16_4tech;
 | 
				
			||||||
typedef uint32_t u32_4tech;
 | 
					typedef uint32_t u32_4tech;
 | 
				
			||||||
typedef uint64_t u64_4tech;
 | 
					typedef uint64_t u64_4tech;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(FTECH_32_BIT)
 | 
				
			||||||
 | 
					typedef u32_4tech umem_4tech;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
typedef u64_4tech umem_4tech;
 | 
					typedef u64_4tech umem_4tech;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef float f32_4tech;
 | 
					typedef float f32_4tech;
 | 
				
			||||||
typedef double f64_4tech;
 | 
					typedef double f64_4tech;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,11 +9,8 @@ TYPE: 'build-target'
 | 
				
			||||||
#if !defined(FCODER_EXPERIMENTS_CPP)
 | 
					#if !defined(FCODER_EXPERIMENTS_CPP)
 | 
				
			||||||
#define FCODER_EXPERIMENTS_CPP
 | 
					#define FCODER_EXPERIMENTS_CPP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define FCODER_JUMP_COMMANDS
 | 
					 | 
				
			||||||
#include "4coder_default_include.cpp"
 | 
					#include "4coder_default_include.cpp"
 | 
				
			||||||
#include "4coder_miblo_numbers.cpp"
 | 
					#include "4coder_miblo_numbers.cpp"
 | 
				
			||||||
#undef FCODER_JUMP_COMMANDS
 | 
					 | 
				
			||||||
#include "4coder_sticky_jump.cpp"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define NO_BINDING
 | 
					#define NO_BINDING
 | 
				
			||||||
#include "4coder_default_bindings.cpp"
 | 
					#include "4coder_default_bindings.cpp"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,7 +12,11 @@ typedef uint16_t u16_4tech;
 | 
				
			||||||
typedef uint32_t u32_4tech;
 | 
					typedef uint32_t u32_4tech;
 | 
				
			||||||
typedef uint64_t u64_4tech;
 | 
					typedef uint64_t u64_4tech;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(FTECH_32_BIT)
 | 
				
			||||||
 | 
					typedef u32_4tech umem_4tech;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
typedef u64_4tech umem_4tech;
 | 
					typedef u64_4tech umem_4tech;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef float f32_4tech;
 | 
					typedef float f32_4tech;
 | 
				
			||||||
typedef double f64_4tech;
 | 
					typedef double f64_4tech;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue