visualize_helper 0.0.10.29 → 0.0.10.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/visualize_helper/visualize_helper.c +51 -18
- data/lib/visualize_helper/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9a43f8362f89d2ee8afeb4b22eacedb3d793fdce
|
4
|
+
data.tar.gz: 5f319c533271e960fc3d8d91c34f53f8747624dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a097988bed352e2e1ac6619a27420dbb75c166b93931aecb634f23d1887a0c568e60f27a87f7aff933b55d1b4502faa760fa374f4da48e7efddfb30cd3040d93
|
7
|
+
data.tar.gz: 0f2bf89d43064f67439042d9af694e2fe55972014b114a3e835cbae4f04131e786e9d45cc62d26b945481cfba0c2bcc916fff3e1dec692fc970fa85f976d0bc5
|
@@ -4,6 +4,19 @@
|
|
4
4
|
#include <stdio.h>
|
5
5
|
#include <math.h>
|
6
6
|
|
7
|
+
void RemoveSpaces(char* source)
|
8
|
+
{
|
9
|
+
char* i = source;
|
10
|
+
char* j = source;
|
11
|
+
while(*j != 0)
|
12
|
+
{
|
13
|
+
*i = *j++;
|
14
|
+
if(*i != ' ')
|
15
|
+
i++;
|
16
|
+
}
|
17
|
+
*i = 0;
|
18
|
+
}
|
19
|
+
|
7
20
|
|
8
21
|
int myCompare (const void * a, const void * b ) {
|
9
22
|
const char *pa = *(const char**)a;
|
@@ -62,8 +75,10 @@ static char* join(VALUE strings){
|
|
62
75
|
string_total_size += strlen(StringValuePtr(string_temp));
|
63
76
|
}
|
64
77
|
|
65
|
-
|
66
|
-
|
78
|
+
|
79
|
+
joined = (char*) malloc(string_total_size +strings_size + 1);
|
80
|
+
string_temp = rb_ary_entry(strings,0);
|
81
|
+
//string_size = strlen(StringValuePtr(string_temp));
|
67
82
|
sprintf(joined,"%s", StringValuePtr(string_temp));
|
68
83
|
|
69
84
|
|
@@ -73,6 +88,7 @@ static char* join(VALUE strings){
|
|
73
88
|
sprintf(joined,"%s,%s", joined, StringValuePtr(string_temp));
|
74
89
|
|
75
90
|
}
|
91
|
+
strcat(joined,"\0");
|
76
92
|
//result = rb_str_new2(joined);
|
77
93
|
//free(joined);
|
78
94
|
//fprintf(f,"%s\n",joined);
|
@@ -85,7 +101,7 @@ static char* join(VALUE strings){
|
|
85
101
|
// Receive an array of unsorted strings with repeated strings and return a single a sorted array with unique elementes or with all
|
86
102
|
// strings = array of strings
|
87
103
|
// unique = 0 or 1 if want to call unique or not
|
88
|
-
static VALUE sort_uniq(VALUE
|
104
|
+
static VALUE sort_uniq(VALUE strings, int unique)
|
89
105
|
{
|
90
106
|
int strings_size = RARRAY_LEN(strings);
|
91
107
|
const char *input[strings_size];
|
@@ -231,7 +247,7 @@ static VALUE remove_entry_from_array (VALUE strings, char* element){
|
|
231
247
|
}
|
232
248
|
|
233
249
|
// Function to generate the boxes and links of each trajectory
|
234
|
-
static VALUE generate_boxes_and_links(VALUE self, VALUE
|
250
|
+
static VALUE generate_boxes_and_links(VALUE self, VALUE aggr, VALUE boxes, VALUE links, VALUE dict, VALUE type_agroupment, VALUE value)
|
235
251
|
{
|
236
252
|
|
237
253
|
char* seq_key_result;
|
@@ -250,9 +266,10 @@ static VALUE generate_boxes_and_links(VALUE self, VALUE min, VALUE max, VALUE ag
|
|
250
266
|
int aggr_prox_size;
|
251
267
|
int prox;
|
252
268
|
int aggr_size = RARRAY_LEN(aggr);
|
253
|
-
char* link_key;
|
269
|
+
char* link_key = (char*) malloc(1000);
|
254
270
|
char* period_s;
|
255
271
|
char* prox_s;
|
272
|
+
//FILE *f = fopen("/tmp/file.txt", "a");
|
256
273
|
|
257
274
|
for(int period = 0; period < aggr_size; period++ ){
|
258
275
|
seq_key = rb_ary_new();
|
@@ -276,10 +293,10 @@ static VALUE generate_boxes_and_links(VALUE self, VALUE min, VALUE max, VALUE ag
|
|
276
293
|
// agroup by unique or not
|
277
294
|
if ( strcmp(StringValuePtr(type_agroupment),"s") == 0 ) {
|
278
295
|
//sort with uniq
|
279
|
-
seq_key = sort_uniq(
|
296
|
+
seq_key = sort_uniq(seq_key,1);
|
280
297
|
}else{
|
281
298
|
//sort without uniq
|
282
|
-
seq_key = sort_uniq(
|
299
|
+
seq_key = sort_uniq(seq_key,0);
|
283
300
|
}
|
284
301
|
|
285
302
|
// if there is "no-event" and other one selected, remove the "no-event"
|
@@ -315,15 +332,16 @@ static VALUE generate_boxes_and_links(VALUE self, VALUE min, VALUE max, VALUE ag
|
|
315
332
|
// agroup by unique or not
|
316
333
|
if ( strcmp(StringValuePtr(type_agroupment),"n") == 0 ) {
|
317
334
|
//sort with uniq
|
318
|
-
prox_key = sort_uniq(
|
319
|
-
}else{
|
320
|
-
//sort without uniq
|
321
|
-
prox_key = prox_key;
|
335
|
+
prox_key = sort_uniq(prox_key,1);
|
322
336
|
}
|
337
|
+
//else{
|
338
|
+
// //sort without uniq
|
339
|
+
// prox_key = prox_key;
|
340
|
+
//}
|
323
341
|
|
324
342
|
//
|
325
343
|
// if there is "no-event" and other one selected, remove the "no-event"
|
326
|
-
length_prox_sorted = (strcmp(StringValuePtr(type_agroupment),"n") == 0 ) ? RARRAY_LEN(prox_key) : RARRAY_LEN(sort_uniq(
|
344
|
+
length_prox_sorted = (strcmp(StringValuePtr(type_agroupment),"n") == 0 ) ? RARRAY_LEN(prox_key) : RARRAY_LEN(sort_uniq(prox_key,1)) ;
|
327
345
|
if (length_prox_sorted != 1) {
|
328
346
|
prox_key = remove_entry_from_array(prox_key,"M-3");
|
329
347
|
}
|
@@ -336,8 +354,16 @@ static VALUE generate_boxes_and_links(VALUE self, VALUE min, VALUE max, VALUE ag
|
|
336
354
|
prox_s = ( prox == 0 ) ? (char*) malloc(1) : (char*) malloc(floor(log10(abs(prox))) + 1);
|
337
355
|
sprintf(period_s,"%d",period);
|
338
356
|
sprintf(prox_s,"%d",prox);
|
339
|
-
link_key = (char*) malloc( strlen(period_s) + strlen(seq_key_result) + strlen(prox_s) + strlen(prox_key_result) + 3);
|
357
|
+
//link_key = (char*) malloc( strlen(period_s) + strlen(seq_key_result) + strlen(prox_s) + strlen(prox_key_result) + 3);
|
340
358
|
sprintf(link_key,"%s_%s;%s_%s", period_s,seq_key_result,prox_s,prox_key_result);
|
359
|
+
RemoveSpaces(link_key);
|
360
|
+
|
361
|
+
//fprintf(f,"Composicao key:\n");
|
362
|
+
//fprintf(f,"period_s: %s\n",period_s);
|
363
|
+
//fprintf(f,"seq_key: %s\n",seq_key_result);
|
364
|
+
//fprintf(f,"prox_s : %s\n",prox_s);
|
365
|
+
//fprintf(f,"prox_key_result: %s\n",prox_key_result);
|
366
|
+
//fprintf(f,"chave final : %s\n",link_key);
|
341
367
|
|
342
368
|
links_period_value = rb_hash_aref(rb_ary_entry(links,period),rb_str_new2(link_key));
|
343
369
|
if (links_period_value == Qnil) {
|
@@ -346,19 +372,26 @@ static VALUE generate_boxes_and_links(VALUE self, VALUE min, VALUE max, VALUE ag
|
|
346
372
|
rb_hash_aset(rb_ary_entry(links,period),rb_str_new2(link_key), INT2FIX(FIX2INT(links_period_value) + FIX2INT(value)));
|
347
373
|
}
|
348
374
|
|
349
|
-
free(period_s);
|
350
|
-
free(prox_s);
|
351
|
-
free(link_key);
|
352
375
|
|
353
376
|
}//end prox < aggr_size
|
354
377
|
|
355
378
|
}// end for
|
356
379
|
|
380
|
+
free(period_s);
|
381
|
+
free(prox_s);
|
382
|
+
free(link_key);
|
383
|
+
|
384
|
+
//fclose(f);
|
357
385
|
//return result_final;
|
358
386
|
return Qnil;
|
359
387
|
}
|
360
388
|
|
361
389
|
|
390
|
+
static VALUE join_teste(VALUE self, VALUE strings){
|
391
|
+
|
392
|
+
return rb_str_new2(join(strings));
|
393
|
+
}
|
394
|
+
|
362
395
|
|
363
396
|
// Main function called when the gem is loaded
|
364
397
|
void Init_visualize_helper(void) {
|
@@ -370,11 +403,11 @@ void Init_visualize_helper(void) {
|
|
370
403
|
rb_define_singleton_method(mVisualizeHelper, "min_max_period", min_max_period, 5);
|
371
404
|
|
372
405
|
// Register the method generate_boxes_and_links
|
373
|
-
rb_define_singleton_method(mVisualizeHelper, "generate_boxes_and_links", generate_boxes_and_links,
|
406
|
+
rb_define_singleton_method(mVisualizeHelper, "generate_boxes_and_links", generate_boxes_and_links, 6);
|
374
407
|
|
375
408
|
// Register the method sort
|
376
409
|
rb_define_singleton_method(mVisualizeHelper, "sort_uniq", sort_uniq, 2 );
|
377
410
|
|
378
411
|
// Register the method sort
|
379
|
-
|
412
|
+
rb_define_singleton_method(mVisualizeHelper, "join_teste", join_teste, 1 );
|
380
413
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: visualize_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.10.
|
4
|
+
version: 0.0.10.30
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Raphael Ottoni Santiago Machado de Faria
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|