|  |  |  | @ -34,10 +34,12 @@ void chunk_array_flush(chunk_array_t* chunk_array) { | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | void buffer_flush(chunk_array_t* chunk_array, buffer_t* buffer) { | 
		
	
		
			
				|  |  |  |  |     if (buffer->dirty) { | 
		
	
		
			
				|  |  |  |  |         int mod = get_mod(chunk_array, buffer->init_pos); | 
		
	
		
			
				|  |  |  |  |         fseek(chunk_array->fp, buffer->init_pos * sizeof(double), SEEK_SET); | 
		
	
		
			
				|  |  |  |  |         fwrite(buffer->data, sizeof(double), mod, chunk_array->fp); | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | void buffer_update(chunk_array_t* chunk_array, buffer_t* buffer, size_t pos) { | 
		
	
	
		
			
				
					|  |  |  | @ -63,6 +65,7 @@ buffer_t* buffer_create() { | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     buffer->init_pos = 0; | 
		
	
		
			
				|  |  |  |  |     buffer->dirty = false; | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     return buffer; | 
		
	
		
			
				|  |  |  |  | } | 
		
	
	
		
			
				
					|  |  |  | @ -157,5 +160,6 @@ bool chunk_array_save(chunk_array_t* chunk_array, size_t pos, double valor) { | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |     int real_pos = pos%get_mod(chunk_array, buffer->init_pos); | 
		
	
		
			
				|  |  |  |  | 	buffer->data[real_pos]=valor; | 
		
	
		
			
				|  |  |  |  |     buffer->dirty = true; | 
		
	
		
			
				|  |  |  |  | 	return true; | 
		
	
		
			
				|  |  |  |  | } |