tarf_monte_carlo 3.45 → 3.46

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
  SHA256:
3
- metadata.gz: 9686343290fbaf7a6efc80b914581c01c3b8b6c3fae2ee230143beb545d48700
4
- data.tar.gz: 83b9cd1f3a9aecab8068ca3f95b80d47aebc3d6bb4a3eaa2fa830eabcd826fe5
3
+ metadata.gz: 189ce30c759cdc40444b5ffc5443e8d93680adb392be409beb2f8d6445e1f667
4
+ data.tar.gz: 93b441a9d9481e0595b9b029e28792d2a4bf08299b0bd0ca3396a680bb85184c
5
5
  SHA512:
6
- metadata.gz: 7dbaceded908b6a57c4fc569cc5a9858dce6e1468cd9966b35bc5e79bee00c43ac736e7c56baaf54bd5eb3aec8bc43b2631b8afae32ad8fa0c7449568e1e11bc
7
- data.tar.gz: c0efcc18cab06eb9d13da7d427d0523155e33cad5e2ea2064be63822afc3ead1617e02ed10856967534985d2b04b0ca6cd9559ff6aa9c0a79922103364b70cc4
6
+ metadata.gz: 61030c67b76c62f00b682f135f753d4d82d5fb91e3a5c822e57bf865138befd9b19d574ed9a8c70140fc7ea5aa7a14067a34a69d46ad663165d15849d587d17b
7
+ data.tar.gz: a2844c3dd6b4a9591cc6bed56edc3a896e8b83b162d7db9f5546573fe8d2e1fcf1bf2338e125a80145835aebfa2f6b7c55bb8f970f5db47e0317f682e242d3fc
@@ -45,6 +45,7 @@
45
45
  #define FX_AMERICAN_BARRIER_KNOCKOUT_DISCRETE 14
46
46
 
47
47
  #define DATAPOINTS 200 // data for plotting
48
+ #define BARRIER_DP 4 // data for plotting
48
49
  #define INTERVAL 50
49
50
  #define SIM_LIMIT 196 // 196 + 4 = 200 simulations nedded
50
51
 
@@ -195,8 +196,8 @@ VALUE method_run_monte_carlo( VALUE self, VALUE args ) {
195
196
  //
196
197
  double **metrics;
197
198
  if (KType == FX_AMERICAN_BARRIER_KNOCKIN_DISCRETE || KType == FX_AMERICAN_BARRIER_KNOCKOUT_DISCRETE){
198
- metrics = ( double** ) malloc( 3 * sizeof(double*) );
199
- for( metric = 0; metric < 4; metric++ ) {
199
+ metrics = ( double** ) malloc( BARRIER_DP * sizeof(double*) );
200
+ for( metric = 0; metric < BARRIER_DP; metric++ ) {
200
201
  metrics[metric] = ( double* ) malloc( DATAPOINTS * sizeof(double) );
201
202
  for(leg = 0; leg < DATAPOINTS; leg++) {
202
203
  metrics[metric][leg] = 0.0;
@@ -631,7 +632,7 @@ VALUE method_run_monte_carlo( VALUE self, VALUE args ) {
631
632
  VALUE final_metrics = rb_ary_new();
632
633
 
633
634
  if (KType == FX_AMERICAN_BARRIER_KNOCKIN_DISCRETE || KType == FX_AMERICAN_BARRIER_KNOCKOUT_DISCRETE){
634
- for(metric = 0; metric < 4; metric++) {
635
+ for(metric = 0; metric < BARRIER_DP; metric++) {
635
636
  VALUE leg_metrics = rb_ary_new();
636
637
 
637
638
  for(leg = 0; leg < DATAPOINTS; leg++) {
@@ -663,11 +664,11 @@ VALUE method_run_monte_carlo( VALUE self, VALUE args ) {
663
664
  //
664
665
  // free your arrays from memory once you're done using them
665
666
  //
666
- // int dp = (KType == FX_AMERICAN_BARRIER_KNOCKIN_DISCRETE || KType == FX_AMERICAN_BARRIER_KNOCKOUT_DISCRETE) ? 4 : DATAPOINTS;
667
- // for(metric = 0; metric < dp; metric++) {
668
- // free( metrics[metric] );
669
- // }
670
- // free(metrics);
667
+ int dp = (KType == FX_AMERICAN_BARRIER_KNOCKIN_DISCRETE || KType == FX_AMERICAN_BARRIER_KNOCKOUT_DISCRETE) ? BARRIER_DP : DATAPOINTS;
668
+ for(metric = 0; metric < dp; metric++) {
669
+ free( metrics[metric] );
670
+ }
671
+ free(metrics);
671
672
 
672
673
  return final_pvs;
673
674
  }
@@ -3,5 +3,5 @@
3
3
  # gem yank tarf_monte_carlo -v 2.3
4
4
 
5
5
  module TarfMonteCarlo
6
- VERSION = "3.45"
6
+ VERSION = "3.46"
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tarf_monte_carlo
3
3
  version: !ruby/object:Gem::Version
4
- version: '3.45'
4
+ version: '3.46'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vivek Routh