mirror of
https://github.com/johnkerl/miller.git
synced 2026-08-01 20:12:19 +00:00
64-bit dvector
This commit is contained in:
parent
8f9b0379cf
commit
d2009b2f2d
3 changed files with 16 additions and 6 deletions
|
|
@ -4,8 +4,8 @@
|
|||
#include "containers/dvector.h"
|
||||
|
||||
// ----------------------------------------------------------------
|
||||
dvector_t* dvector_alloc(int initial_capacity) {
|
||||
int capacity = initial_capacity;
|
||||
dvector_t* dvector_alloc(unsigned long long initial_capacity) {
|
||||
unsigned long long capacity = initial_capacity;
|
||||
dvector_t* pdvector = mlr_malloc_or_die(sizeof(dvector_t));
|
||||
pdvector->data = mlr_malloc_or_die(capacity*sizeof(double));
|
||||
pdvector->size = 0;
|
||||
|
|
@ -26,7 +26,7 @@ void dvector_free(dvector_t* pdvector) {
|
|||
|
||||
void dvector_append(dvector_t* pdvector, double value) {
|
||||
if (pdvector->size >= pdvector->capacity) {
|
||||
pdvector->capacity = (int)(pdvector->capacity * 2);
|
||||
pdvector->capacity = (unsigned long long)(pdvector->capacity * 2);
|
||||
pdvector->data = (double*)mlr_realloc_or_die(pdvector->data,
|
||||
pdvector->capacity*sizeof(double));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
typedef struct _dvector_t {
|
||||
double* data;
|
||||
int size;
|
||||
int capacity;
|
||||
unsigned long long size;
|
||||
unsigned long long capacity;
|
||||
} dvector_t;
|
||||
|
||||
dvector_t* dvector_alloc(int initial_capacity);
|
||||
dvector_t* dvector_alloc(unsigned long long initial_capacity);
|
||||
void dvector_free(dvector_t* pdvector);
|
||||
void dvector_append(dvector_t* pdvector, double value);
|
||||
|
||||
|
|
|
|||
10
c/todo.txt
10
c/todo.txt
|
|
@ -44,6 +44,16 @@ TRI-SPLIT NULL
|
|||
|
||||
mlr --opprint put '@sum[$a]=@sum[$a]+$x; filter false; end{dump}' ../data/small
|
||||
|
||||
================================================================
|
||||
64-BIT CONTAINER SIZES
|
||||
|
||||
k sllv
|
||||
* slls
|
||||
* rslls
|
||||
* sllmv
|
||||
* dvector & stats1/2 ...
|
||||
* top_keeper
|
||||
|
||||
================================================================
|
||||
MULTILEVEL EMIT: SPEC & IMPL
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue