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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2081c92edf54016d0da84ba7aa9ffff919a91047
4
- data.tar.gz: 5658ac102b330baeeb445893283cf0342cd3416f
3
+ metadata.gz: 9a43f8362f89d2ee8afeb4b22eacedb3d793fdce
4
+ data.tar.gz: 5f319c533271e960fc3d8d91c34f53f8747624dd
5
5
  SHA512:
6
- metadata.gz: 8dd622af5cb8ee68bac527d43e3c064f6d50781756efdf195e42e8a3c83a847a061504d93ae2ad03c672f72d563898438451da59c48ef6cefa1610284220b152
7
- data.tar.gz: 96493a67b86f2c5fae8dd8529a8001aade1c5e72c63d71e2ec911b31b9b41014fe2bd9b91cde9cad736eff2ccf310e96419ae6ac2cc80e91dd83a107fc46a2af
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
- joined = (char*) malloc( string_total_size + strings_size + 1);
66
- string_size = strlen(StringValuePtr(string_temp));
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 self, VALUE strings, int unique)
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 min, VALUE max, VALUE aggr, VALUE boxes, VALUE links, VALUE dict, VALUE type_agroupment, VALUE 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(self,seq_key,1);
296
+ seq_key = sort_uniq(seq_key,1);
280
297
  }else{
281
298
  //sort without uniq
282
- seq_key = sort_uniq(self,seq_key,0);
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(self,prox_key,1);
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(self,prox_key,1)) ;
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, 8);
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
- //rb_define_singleton_method(mVisualizeHelper, "join", join, 1 );
412
+ rb_define_singleton_method(mVisualizeHelper, "join_teste", join_teste, 1 );
380
413
  }
@@ -1,3 +1,3 @@
1
1
  module VisualizeHelper
2
- VERSION = "0.0.10.29"
2
+ VERSION = "0.0.10.30"
3
3
  end
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.29
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-03 00:00:00.000000000 Z
11
+ date: 2016-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler