visualize_helper 0.0.10.29 → 0.0.10.30

Sign up to get free protection for your applications and to get access to all the features.
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