aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/Makefile2
-rw-r--r--python/TAGS9382
2 files changed, 8168 insertions, 1216 deletions
diff --git a/python/Makefile b/python/Makefile
index 2ad76fa8..a0658eaa 100644
--- a/python/Makefile
+++ b/python/Makefile
@@ -7,7 +7,7 @@ tests:
python -m unittest discover -v
tags:
- ctags -e --exclude='*.js' -R .
+ ctags -e --python-kinds=-iv --exclude='*.js' -R .
GHquad.so: GHquad.o
$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS)
diff --git a/python/TAGS b/python/TAGS
index 117c0263..233d9f3e 100644
--- a/python/TAGS
+++ b/python/TAGS
@@ -1,10 +1,5 @@
-daemon.py,532
-import sys, os, time, atexit, signalsys3,55
-import sys, os, time, atexit, signalos3,55
-import sys, os, time, atexit, signaltime3,55
-import sys, os, time, atexit, signalatexit3,55
-import sys, os, time, atexit, signalsignal3,55
+daemon.py,296
class Daemon:Daemon5,93
def __init__(self, pidfile): self.pidfile = pidfile__init__10,205
def daemonize(self):daemonize12,259
@@ -14,13 +9,7 @@ class Daemon:Daemon5,93
def restart(self):restart112,2386
def run(self):run117,2464
-insert_composite_quotes.py,676
-from sqlalchemy import Table, create_engine, MetaDataTable1,0
-from sqlalchemy import Table, create_engine, MetaDatacreate_engine1,0
-from sqlalchemy import Table, create_engine, MetaDataMetaData1,0
-import osos2,54
-import csvcsv3,64
-import datetimedatetime4,75
+insert_composite_quotes.py,405
engine = create_engine('postgresql://serenitas_user@debian/serenitasdb')engine7,154
metadata = MetaData(bind = engine)metadata8,227
quotes = Table('tranche_quotes', metadata, autoload = True)quotes9,262
@@ -31,10 +20,7 @@ tenordict = {'3Y': '3yr', '5Y': '5yr', '7Y':'7yr', '10Y':'10yr'}tenordict20,46
GHquad.h,0
-test_igoption.py,538
-from analytics import Index, SwaptionIndex1,0
-from analytics import Index, SwaptionSwaption1,0
-import datetimedatetime2,38
+test_igoption.py,409
index = Index.from_name("ig", 27, "5yr",index3,54
trade_date = datetime.date(2016, 11, 18))trade_date4,95
exercise_date = datetime.date(2017, 3, 15)exercise_date6,181
@@ -42,16 +28,7 @@ strike = 80strike7,224
payer = Swaption(index, exercise_date, strike, strike_is_price = False)payer8,236
receiver = Swaption(index, exercise_date, strike, "receiver", strike_is_price = False)receiver13,377
-markit_red.py,730
-import csvcsv1,0
-from lxml import etreeetree2,11
-import requests, io, zipfile, shutilrequests3,34
-import requests, io, zipfile, shutilio3,34
-import requests, io, zipfile, shutilzipfile3,34
-import requests, io, zipfile, shutilshutil3,34
-import commoncommon4,71
-import osos5,85
-from db import with_connectionwith_connection6,95
+markit_red.py,386
def request_payload(payload):request_payload8,127
def download_report(report):download_report18,501
def update_redcodes(conn, fname):update_redcodes34,1026
@@ -59,167 +36,107 @@ def update_redindices(fname):update_redindices54,2017
report_list = ['REDEntity', 'REDObligation', 'REDEntityDelta', 'REDObligationDelta',report_list75,3120
fname = download_report("REDIndexCodes")fname78,3331
-externalmarksbackfill.py,577
-import pandas as pdpd1,0
-import osos2,20
-import rere3,30
-import psycopg2psycopg24,40
-import datetimedatetime5,56
-from db import dbconndbconn6,72
-from pickle import dumpsdumps7,94
-from sqlalchemy import create_enginecreate_engine8,119
-from itertools import chainchain9,156
-from glob import glob, iglobglob10,184
-from glob import glob, iglobiglob10,184
-from pandas.tseries.offsets import MonthEndMonthEnd11,213
-def runAllFill():runAllFill13,258
-def runSingleFill(f):runSingleFill18,384
-def get_globs():get_globs52,1836
-settings = {settings64,2368
+option_trades_et.py,1281
+serenitasdb = dbengine('serenitasdb')serenitasdb16,379
+def get_dfs(index="IG"):get_dfs18,418
+def calendar_spread():calendar_spread24,632
+def put_spread(index = "IG"):put_spread35,1013
+def swaption_analysis():swaption_analysis44,1364
+def beta_calc():beta_calc49,1546
+def build_swaption(index, series, expiry, strike, ref, trade_date, t_range= None, spread_range = None):build_swaption62,1961
+ def aux(row, index, swap):aux77,2699
+def calc_delta_pnl(index, series, ref, trade_date, notional, t_range, spread_range):calc_delta_pnl96,3419
+def find_mapped_pv(bought, sold, date):find_mapped_pv121,4358
+def result_fill(df, date):result_fill155,5782
+def plot_color_map(df, val_date):plot_color_map167,6182
+def build_vol_surface_functions(date = datetime.date(2017, 2, 23), index = 'IG', series = '27'):build_vol_surface_functions187,7018
+def vol_from_surface(row, f, g):vol_from_surface212,8513
+def calc_and_plot(bought, sold, traded_price, week, lowerbound, upperbound, deltaPNL=None):calc_and_plot218,8692
+def full_analysis():full_analysis233,9176
+def manual_index_update(index, date): #index as Index Objectmanual_index_update270,10265
+def shiftedColorMap(cmap, start=0, midpoint=0.5, stop=1.0, name='shiftedcmap'):shiftedColorMap284,10767
-yieldcurve.py,2425
-from common import rootroot1,0
-import osos2,24
-import datetimedatetime3,34
-from quantlib.settings import SettingsSettings4,50
-from quantlib.time.api import (WeekendsOnly, Date, Period, Days, Schedule, Annual,WeekendsOnly5,89
-from quantlib.time.api import (WeekendsOnly, Date, Period, Days, Schedule, Annual,Date5,89
-from quantlib.time.api import (WeekendsOnly, Date, Period, Days, Schedule, Annual,Period5,89
-from quantlib.time.api import (WeekendsOnly, Date, Period, Days, Schedule, Annual,Days5,89
-from quantlib.time.api import (WeekendsOnly, Date, Period, Days, Schedule, Annual,Schedule5,89
-from quantlib.time.api import (WeekendsOnly, Date, Period, Days, Schedule, Annual,Annual5,89
-from quantlib.currency.api import USDCurrency, EURCurrencyUSDCurrency9,376
-from quantlib.currency.api import USDCurrency, EURCurrencyEURCurrency9,376
-from quantlib.indexes.ibor_index import IborIndexIborIndex10,435
-from quantlib.time.date import pydate_from_qldatepydate_from_qldate13,624
-import numpy as npnp15,675
-import pandas as pdpd16,694
-import matplotlib.pyplot as pltmatplotlib17,714
-import matplotlib.pyplot as pltplt17,714
-from quantlib.quotes import SimpleQuoteSimpleQuote18,746
-from db import dbconndbconn19,786
-from pyisda.curve import YieldCurveYieldCurve20,808
-def getMarkitIRData(effective_date = datetime.date.today(),getMarkitIRData22,845
-def get_futures_data(date = datetime.date.today()):get_futures_data36,1495
-def rate_helpers(currency="USD", MarkitData=None):rate_helpers43,1796
-def get_dates(date, currency="USD"):get_dates83,3714
-def roll_yc(yc, forward_date):roll_yc99,4512
-def YC(helpers = None, currency="USD", MarkitData=None):YC105,4803
-def ql_to_jp(ql_yc):ql_to_jp111,5118
- ts = YC()ts124,5687
- cal = calendar_from_name('USA')cal125,5701
- p1 = Period('1Mo')p1126,5737
- p2 = Period('2Mo')p2127,5760
- p3 = Period('3Mo')p3128,5783
- p6 = Period('6Mo')p6129,5806
- p12 = Period('12Mo')p12130,5829
- sched = Schedule(ts.reference_date, ts.reference_date+Period('5Yr'), Period('3Mo'), cal)sched131,5854
- days = [pydate_from_qldate(d) for d in sched]days132,5947
- f3 = [ts.forward_rate(d, d+p3, Actual360(), 0).rate for d in sched]f3133,5997
- f6 = [ts.forward_rate(d, d+p6, Actual360(), 0).rate for d in sched]f6134,6069
- f2 = [ts.forward_rate(d, d+p2, Actual360(), 0).rate for d in sched]f2135,6141
+externalmarksbackfill.py,273
+def runAllFill():runAllFill15,301
+def runSingleFill(f):runSingleFill21,458
+def get_CUSIPs():get_CUSIPs50,1582
+def get_BVAL():get_BVAL56,1779
+def pop_BVAL_to_database(df):pop_BVAL_to_database73,2534
+def get_globs():get_globs86,3010
+settings = {settings98,3550
-db.py,845
-import datetimedatetime1,0
-import psycopg2psycopg22,16
-from psycopg2.extras import DictCursorDictCursor3,32
-from psycopg2 import IntegrityErrorIntegrityError4,71
-from psycopg2.extensions import register_adapterregister_adapter5,107
-from sqlalchemy import create_enginecreate_engine6,156
-import numpy as npnp7,193
-class InfDateAdapter:InfDateAdapter9,213
- def __init__(self, wrapped):__init__10,235
- def getquoted(self):getquoted12,299
-def dbconn(dbname):dbconn22,637
-def nan_to_null(f, _NULL=psycopg2.extensions.AsIs('NULL'),nan_to_null34,975
-def dbengine(dbname):dbengine40,1152
-def with_connection(dbname):with_connection45,1330
- def decorator(f):decorator46,1359
- def with_connection_(*args, **kwargs):with_connection_48,1411
-def query_db(conn, sqlstr, params=None, one=True):query_db60,1765
+yieldcurve.py,1193
+def getMarkitIRData(effective_date = datetime.date.today(),getMarkitIRData21,817
+def get_futures_data(date = datetime.date.today()):get_futures_data36,1524
+def rate_helpers(currency="USD", MarkitData=None):rate_helpers43,1825
+def get_dates(date, currency="USD"):get_dates85,3848
+def roll_yc(yc, forward_date):roll_yc101,4646
+def YC(helpers = None, currency="USD", MarkitData=None):YC107,4937
+def jpYC(effective_date, currency="USD", MarkitData=None):jpYC114,5253
+def ql_to_jp(ql_yc):ql_to_jp133,6041
+ ts = YC()ts147,6646
+ cal = calendar_from_name('USA')cal148,6660
+ p1 = Period('1Mo')p1149,6696
+ p2 = Period('2Mo')p2150,6719
+ p3 = Period('3Mo')p3151,6742
+ p6 = Period('6Mo')p6152,6765
+ p12 = Period('12Mo')p12153,6788
+ sched = Schedule(ts.reference_date, ts.reference_date+Period('5Yr'), Period('3Mo'), cal)sched154,6813
+ days = [pydate_from_qldate(d) for d in sched]days155,6906
+ f3 = [ts.forward_rate(d, d+p3, Actual360(), 0).rate for d in sched]f3156,6956
+ f6 = [ts.forward_rate(d, d+p6, Actual360(), 0).rate for d in sched]f6157,7028
+ f2 = [ts.forward_rate(d, d+p2, Actual360(), 0).rate for d in sched]f2158,7100
-mark_backtest.py,1699
-import pandas as pdpd1,0
-from db import dbenginedbengine2,20
-import matplotlibmatplotlib3,44
-import numpy as npnp4,62
-import matplotlib.pyplot as pltmatplotlib5,81
-import matplotlib.pyplot as pltplt5,81
-import statsmodels.api as smstatsmodels6,113
-import statsmodels.api as smsm6,113
-from statsmodels.formula.api import glsgls7,142
-df = pd.read_sql_table('external_marks_mapped',dbengine('dawndb'),df9,183
- parse_dates=['date'])parse_dates10,250
-df = df[df.source.notnull()]df11,295
-df_wide = (pd.pivot_table(df, 'mark', ['identifier', 'date'], 'source').df_wide12,324
- "from bonds where buysell = 'f'"df_trades16,546
- parse_dates=['trade_date'])parse_dates18,660
-df_trades = df_trades.sort_values('trade_date')df_trades19,718
-df = pd.merge_asof(df_trades, df_wide, left_on='trade_date', right_on='date', by='identifier')df20,766
-r2 = {}r236,1534
-stderr = {}stderr37,1542
-parameters = {}parameters38,1554
- regmodel = gls(formula= "df6['price'] ~df6[col]", data = df6).fit()regmodel41,1621
-r2 = pd.Series(r2, name= 'R2')r246,1795
-r2 = pd.DataFrame(r2)r249,1866
-stderr = pd.DataFrame(stderr)stderr50,1888
-parameters = pd.DataFrame(parameters)parameters51,1918
-df7 = df6df753,1957
-filter = 2filter57,2043
-begindate = '2015-01-01'begindate58,2054
-enddate = '2017-01-01'enddate59,2079
-df8 = df7[(df7['trade_date']>begindate) & (df7['trade_date']<enddate)]df860,2102
-difference= pd.DataFrame(df8[df8<filter].mean(), columns=['Average'])difference61,2173
-writer = pd.ExcelWriter('/home/serenitas/edwin/Subprime_ModelandBacktest_outputonly.xlsx')writer65,2315
+db.py,499
+class InfDateAdapter:InfDateAdapter11,278
+ def __init__(self, wrapped):__init__12,300
+ def getquoted(self):getquoted14,364
+def nan_to_null(f, _NULL=AsIs('NULL'),nan_to_null22,653
+def dbconn(dbname):dbconn32,945
+def dbengine(dbname):dbengine43,1282
+def with_connection(dbname):with_connection53,1704
+ def decorator(f):decorator54,1733
+ def with_connection_(*args, **kwargs):with_connection_56,1785
+def query_db(conn, sqlstr, params=None, one=True):query_db68,2139
-tests/test_swaption.py,1451
-import unittestunittest1,0
-import datetimedatetime2,16
-import syssys4,33
-from analytics.index import gg6,66
-from analytics import Index, SwaptionIndex7,96
-from analytics import Index, SwaptionSwaption7,96
-class TestPutCallParity(unittest.TestCase):TestPutCallParity9,135
- index = Index.from_name("ig", 27, "5yr",index10,179
- trade_date = datetime.date(2016, 10, 25))trade_date11,224
- exercise_date = datetime.date(2017, 3, 15)exercise_date13,316
- strike = 82.5strike14,363
- def test_parity(self):test_parity16,382
- def test_parity_pvblack(self):test_parity_pvblack26,912
- def test_calibration(self):test_calibration36,1462
- def test_hy(self):test_hy44,1742
-class TestBreakeven(unittest.TestCase):TestBreakeven54,2159
- exercise_date = datetime.date(2017, 3, 15)exercise_date56,2200
- hyindex = Index.from_name("hy", 27, "5yr",hyindex57,2247
- trade_date=datetime.date(2016, 11, 16))trade_date58,2294
- hystrike = 102.5hystrike60,2391
- igindex = Index.from_name("ig", 27, "5yr",igindex62,2413
- trade_date=datetime.date(2016, 11, 18))trade_date63,2460
- igstrike = 80igstrike65,2556
- def test_hypayer(self):test_hypayer67,2575
- def test_hyreceiver(self):test_hyreceiver74,2844
- def test_igpayer(self):test_igpayer81,3142
- def test_igreceiver(self):test_igreceiver88,3408
+tests/test_scenarios.py,514
+class TestSenarios(unittest.TestCase):TestSenarios10,287
+ option_delta = Index.from_tradeid(874)option_delta11,326
+ option1 = BlackSwaption.from_tradeid(7, option_delta)option112,369
+ option2 = BlackSwaption.from_tradeid(8, option_delta)option213,427
+ portf = Portfolio([option1, option2, option_delta])portf14,485
+ date_range = pd.bdate_range(option_delta.trade_date, pd.Timestamp('2017-05-17') - BDay(), freq = '5B')date_range15,541
+ def test_portfolio(self):test_portfolio17,649
-tests/test_yieldcurve.py,346
-import unittestunittest1,0
-from quantlib.settings import SettingsSettings5,133
-import syssys6,172
-from yieldcurve import YCYC8,205
+tests/test_swaption.py,1230
+class TestPutCallParity(unittest.TestCase):TestPutCallParity9,150
+ index = Index.from_name("ig", 27, "5yr",index10,194
+ trade_date = datetime.date(2016, 10, 25))trade_date11,239
+ exercise_date = datetime.date(2017, 3, 15)exercise_date13,331
+ strike = 82.5strike14,378
+ def test_parity(self):test_parity16,397
+ def test_parity_black(self):test_parity_black26,927
+ def test_calibration(self):test_calibration36,1473
+ def test_hy(self):test_hy44,1747
+class TestBreakeven(unittest.TestCase):TestBreakeven54,2140
+ exercise_date = datetime.date(2017, 3, 15)exercise_date56,2181
+ hyindex = Index.from_name("hy", 27, "5yr",hyindex57,2228
+ trade_date=datetime.date(2016, 11, 16))trade_date58,2275
+ hystrike = 102.5hystrike60,2372
+ igindex = Index.from_name("ig", 27, "5yr",igindex62,2394
+ trade_date=datetime.date(2016, 11, 18))trade_date63,2441
+ igstrike = 80igstrike65,2537
+ def test_hypayer(self):test_hypayer67,2556
+ def test_hyreceiver(self):test_hyreceiver73,2786
+ def test_igpayer(self):test_igpayer80,3070
+ def test_igreceiver(self):test_igreceiver86,3288
+
+tests/test_yieldcurve.py,207
class TestYieldCurve(unittest.TestCase):TestYieldCurve10,232
def assertListAlmostEqual(self, list1, list2, places = 7):assertListAlmostEqual12,274
def test_bloomberg(self):test_bloomberg17,475
-tests/test_cds.py,723
-import unittestunittest1,0
-from pyisda.cdsone import upfront_chargeupfront_charge2,16
-import datetimedatetime3,57
-from quantlib.settings import SettingsSettings4,73
-from quantlib.time.api import DateDate5,112
-import syssys7,148
-from analytics import IndexIndex9,181
-from yieldcurve import YC, ql_to_jpYC10,209
-from yieldcurve import YC, ql_to_jpql_to_jp10,209
+tests/test_cds.py,345
class TestUpfront(unittest.TestCase):TestUpfront12,246
index = Index.from_name("ig", 26, "5yr",index13,284
trade_date = datetime.date(2016, 9, 21))trade_date14,329
@@ -227,205 +144,7529 @@ class TestUpfront(unittest.TestCase):TestUpfront12,246
def test_cdsone(self):test_cdsone21,537
def test_annuity(self):test_annuity43,1672
-tests/test_index.py,1265
-import unittestunittest1,0
-import datetimedatetime2,16
-import numpy as npnp3,32
-from pyisda.cdsone import upfront_chargeupfront_charge5,52
-from pyisda.flat_hazard import pv_vecpv_vec6,93
-from analytics import Index, ForwardIndexIndex8,132
-from analytics import Index, ForwardIndexForwardIndex8,132
-from analytics.index import gg9,174
-class TestStrike(unittest.TestCase):TestStrike11,205
- index = Index.from_name("ig", 26, "5yr",index12,242
- trade_date = datetime.date(2016, 7, 1))trade_date13,287
- exercise_date = datetime.date(2016, 8, 19)exercise_date16,403
- def test_pv(self):test_pv18,451
- def test_strike(self):test_strike23,668
- def test_strike_vec(self):test_strike_vec32,1113
- def test_price_setting(self):test_price_setting43,1654
-class TestForwardIndex(unittest.TestCase):TestForwardIndex47,1787
- index = Index.from_name("ig", 26, "5yr",index48,1830
- trade_date = datetime.date(2016, 7, 1))trade_date49,1875
- exercise_date = datetime.date(2016, 8, 19)exercise_date52,1991
- fi = ForwardIndex(index, exercise_date)fi53,2038
- def test_forward_pv(self):test_forward_pv55,2083
- def test_forward_pv(self):test_forward_pv61,2383
+tests/test_dates.py,392
+class TestStartDate(unittest.TestCase):TestStartDate9,117
+ def test_previous_twentieth(self):test_previous_twentieth11,158
+ def test_previous_twentieth_timestamp(self):test_previous_twentieth_timestamp21,706
+class TestEndDate(unittest.TestCase):TestEndDate31,1260
+ def test_enddate(self):test_enddate32,1298
+ def test_enddate_pre2015(self):test_enddate_pre201542,1811
+
+tests/test_index.py,1161
+class TestPickle(unittest.TestCase):TestPickle12,219
+ index = Index.from_name("ig", 26, "5yr",index13,256
+ trade_date = datetime.date(2016, 7, 1))trade_date14,301
+ def test_pickle(self):test_pickle18,418
+class TestStrike(unittest.TestCase):TestStrike22,550
+ index = Index.from_name("ig", 26, "5yr",index23,587
+ trade_date = datetime.date(2016, 7, 1))trade_date24,632
+ exercise_date = datetime.date(2016, 8, 19)exercise_date27,748
+ def test_pv(self):test_pv29,796
+ def test_strike(self):test_strike34,1013
+ def test_strike_vec(self):test_strike_vec43,1458
+ def test_price_setting(self):test_price_setting54,1999
+class TestForwardIndex(unittest.TestCase):TestForwardIndex58,2132
+ index = Index.from_name("ig", 26, "5yr",index59,2175
+ trade_date = datetime.date(2016, 7, 1))trade_date60,2220
+ exercise_date = datetime.date(2016, 8, 19)exercise_date63,2336
+ fi = ForwardIndex(index, exercise_date)fi64,2383
+ def test_forward_pv(self):test_forward_pv66,2428
+ def test_forward_pv(self):test_forward_pv72,2728
-database_consistency.py,361
-import pandas as pdpd1,0
-import datetimedatetime2,20
-from sqlalchemy import create_enginecreate_engine3,36
+database_consistency.py,248
engine = create_engine('postgresql://et_user@debian/ET')engine6,99
data12 = pd.merge(data1, data2, left_index=True, right_index=True)data1221,1249
data13 = pd.merge(data1bis, data3, left_index=True, right_index=True)data1322,1320
-ecb_yieldcurve.py,384
-import requestsrequests2,16
-import ioio3,32
-from zipfile import ZipFileZipFile4,42
-import osos5,70
-import commoncommon6,80
-import datetimedatetime7,94
+pyisda/tests/test_pickle.py,327
+class TestPickle(unittest.TestCase):TestPickle9,201
+ trade_date = datetime.date(2016, 10, 6)trade_date10,238
+ yc = build_yc(trade_date, ql_curve = True)yc11,282
+ def assertListAlmostEqual(self, l1, l2):assertListAlmostEqual13,330
+ def test_yc(self):test_yc19,514
+ def test_legs(self):test_legs25,794
+
+pyisda/pyisda/credit_index.pxd,92
+cdef class CurveList:CurveList6,148
+cdef class CreditIndex(CurveList):CreditIndex14,351
+
+pyisda/pyisda/flat_hazard.cpp,119795
+#define PY_SSIZE_T_CLEANPY_SSIZE_T_CLEAN24,602
+#define CYTHON_ABI CYTHON_ABI31,931
+ #define offsetof(offsetof34,996
+ #define __stdcall__stdcall38,1136
+ #define __cdecl__cdecl41,1185
+ #define __fastcall__fastcall44,1235
+ #define DL_IMPORT(DL_IMPORT48,1292
+ #define DL_EXPORT(DL_EXPORT51,1342
+ #define HAVE_LONG_LONGHAVE_LONG_LONG55,1491
+ #define PY_LONG_LONG PY_LONG_LONG59,1555
+ #define Py_HUGE_VAL Py_HUGE_VAL62,1615
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY65,1673
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON66,1710
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON67,1749
+ #undef CYTHON_USE_TYPE_SLOTSCYTHON_USE_TYPE_SLOTS68,1789
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS69,1820
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS70,1854
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS71,1886
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS72,1921
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS73,1958
+ #undef CYTHON_USE_UNICODE_INTERNALSCYTHON_USE_UNICODE_INTERNALS74,1998
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS75,2036
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER76,2077
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER77,2112
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS78,2150
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS79,2187
+ #undef CYTHON_AVOID_BORROWED_REFSCYTHON_AVOID_BORROWED_REFS80,2227
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS81,2263
+ #undef CYTHON_ASSUME_SAFE_MACROSCYTHON_ASSUME_SAFE_MACROS82,2302
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS83,2337
+ #undef CYTHON_UNPACK_METHODSCYTHON_UNPACK_METHODS84,2375
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS85,2406
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE86,2440
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE87,2474
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL88,2511
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL89,2539
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY91,2600
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON92,2637
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON93,2676
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS95,2748
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS97,2793
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS98,2825
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS99,2860
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS100,2897
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS102,2976
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER104,3028
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER105,3063
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS106,3101
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS107,3138
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS109,3215
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS112,3301
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS115,3382
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE117,3427
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE118,3461
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL119,3498
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL120,3526
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY122,3563
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON123,3600
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON124,3639
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS126,3711
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS129,3783
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS130,3817
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS132,3895
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS135,3975
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS136,4014
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS138,4102
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS141,4191
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS144,4281
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER147,4367
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER148,4404
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER150,4488
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS153,4574
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS156,4660
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS159,4741
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE162,4821
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL165,4898
+#define CYTHON_FAST_PYCCALL CYTHON_FAST_PYCCALL169,4981
+ #undef SHIFTSHIFT173,5129
+ #undef BASEBASE174,5144
+ #undef MASKMASK175,5158
+ #define Py_OptimizeFlag Py_OptimizeFlag178,5268
+#define __PYX_BUILD_PY_SSIZE_T __PYX_BUILD_PY_SSIZE_T180,5303
+#define CYTHON_FORMAT_SSIZE_T CYTHON_FORMAT_SSIZE_T181,5338
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME183,5397
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New184,5447
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType186,5621
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME188,5673
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New189,5720
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType191,5895
+ #define Py_TPFLAGS_CHECKTYPES Py_TPFLAGS_CHECKTYPES194,5977
+ #define Py_TPFLAGS_HAVE_INDEX Py_TPFLAGS_HAVE_INDEX197,6048
+ #define Py_TPFLAGS_HAVE_NEWBUFFER Py_TPFLAGS_HAVE_NEWBUFFER200,6123
+ #define Py_TPFLAGS_HAVE_FINALIZE Py_TPFLAGS_HAVE_FINALIZE203,6201
+ #define METH_FASTCALL METH_FASTCALL206,6267
+ typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject **args,__Pyx_PyCFunctionFast207,6296
+ #define __Pyx_PyCFunctionFast __Pyx_PyCFunctionFast210,6465
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check213,6545
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check216,6723
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED219,6833
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY220,6867
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH222,7030
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR223,7096
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE224,7164
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND225,7238
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA226,7298
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ227,7358
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE228,7424
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE229,7499
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED231,7636
+ #define PyUnicode_1BYTE_KIND PyUnicode_1BYTE_KIND232,7670
+ #define PyUnicode_2BYTE_KIND PyUnicode_2BYTE_KIND233,7704
+ #define PyUnicode_4BYTE_KIND PyUnicode_4BYTE_KIND234,7738
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY235,7772
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH236,7818
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR237,7882
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE238,7964
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND239,8056
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA240,8119
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ241,8194
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE242,8280
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE243,8366
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat246,8473
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe247,8536
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat249,8605
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe250,8672
+ #define PyUnicode_Contains(PyUnicode_Contains254,8900
+ #define PyByteArray_Check(PyByteArray_Check257,9029
+ #define PyObject_Format(PyObject_Format260,9171
+ #define PyObject_Malloc(PyObject_Malloc263,9322
+ #define PyObject_Free(PyObject_Free264,9369
+ #define PyObject_Realloc(PyObject_Realloc265,9414
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars268,9500
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber269,9563
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars271,9659
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber272,9727
+#define __Pyx_PyString_FormatSafe(__Pyx_PyString_FormatSafe274,9817
+#define __Pyx_PyUnicode_FormatSafe(__Pyx_PyUnicode_FormatSafe275,9945
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format277,10094
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format279,10162
+ #define PyObject_ASCII(PyObject_ASCII282,10283
+ #define PyBaseString_Type PyBaseString_Type285,10372
+ #define PyStringObject PyStringObject286,10426
+ #define PyString_Type PyString_Type287,10481
+ #define PyString_Check PyString_Check288,10535
+ #define PyString_CheckExact PyString_CheckExact289,10590
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check292,10683
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact293,10744
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check295,10821
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact296,10907
+ #define PySet_CheckExact(PySet_CheckExact299,11040
+#define __Pyx_TypeCheck(__Pyx_TypeCheck301,11116
+#define __Pyx_PyException_Check(__Pyx_PyException_Check302,11197
+ #define PyIntObject PyIntObject304,11298
+ #define PyInt_Type PyInt_Type305,11350
+ #define PyInt_Check(PyInt_Check306,11401
+ #define PyInt_CheckExact(PyInt_CheckExact307,11457
+ #define PyInt_FromString PyInt_FromString308,11518
+ #define PyInt_FromUnicode PyInt_FromUnicode309,11575
+ #define PyInt_FromLong PyInt_FromLong310,11633
+ #define PyInt_FromSize_t PyInt_FromSize_t311,11688
+ #define PyInt_FromSsize_t PyInt_FromSsize_t312,11745
+ #define PyInt_AsLong PyInt_AsLong313,11803
+ #define PyInt_AS_LONG PyInt_AS_LONG314,11856
+ #define PyInt_AsSsize_t PyInt_AsSsize_t315,11910
+ #define PyInt_AsUnsignedLongMask PyInt_AsUnsignedLongMask316,11966
+ #define PyInt_AsUnsignedLongLongMask PyInt_AsUnsignedLongLongMask317,12031
+ #define PyNumber_Int PyNumber_Int318,12100
+ #define PyBoolObject PyBoolObject321,12186
+ #define PyUnicode_InternFromString(PyUnicode_InternFromString325,12336
+ typedef long Py_hash_t;Py_hash_t329,12450
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t330,12476
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t331,12524
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t333,12576
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t334,12627
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New337,12709
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New339,12828
+ #define __Pyx_PyAsyncMethodsStruct __Pyx_PyAsyncMethodsStruct343,12977
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync344,13031
+ unaryfunc am_await;am_await347,13126
+ unaryfunc am_aiter;am_aiter348,13154
+ unaryfunc am_anext;am_anext349,13182
+ } __Pyx_PyAsyncMethodsStruct;__Pyx_PyAsyncMethodsStruct350,13210
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync351,13244
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync354,13357
+ #define CYTHON_RESTRICT CYTHON_RESTRICT358,13453
+ #define CYTHON_RESTRICT CYTHON_RESTRICT360,13540
+ #define CYTHON_RESTRICT CYTHON_RESTRICT362,13645
+ #define CYTHON_RESTRICTCYTHON_RESTRICT364,13690
+# define CYTHON_UNUSED CYTHON_UNUSED370,13870
+# define CYTHON_UNUSEDCYTHON_UNUSED372,13935
+# define CYTHON_UNUSED CYTHON_UNUSED375,14047
+# define CYTHON_UNUSEDCYTHON_UNUSED377,14108
+ template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }CYTHON_MAYBE_UNUSED_VAR382,14207
+# define CYTHON_MAYBE_UNUSED_VAR(CYTHON_MAYBE_UNUSED_VAR384,14283
+# define CYTHON_NCP_UNUSEDCYTHON_NCP_UNUSED389,14407
+# define CYTHON_NCP_UNUSED CYTHON_NCP_UNUSED391,14442
+#define __Pyx_void_to_None(__Pyx_void_to_None394,14499
+ #define CYTHON_INLINE CYTHON_INLINE401,14757
+ #define CYTHON_INLINE CYTHON_INLINE403,14831
+void __Pyx_call_destructor(T& x) {__Pyx_call_destructor407,14901
+class __Pyx_FakeReference {__Pyx_FakeReference411,14971
+ __Pyx_FakeReference() : ptr(NULL) { }__Pyx_FakeReference413,15009
+ __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }__Pyx_FakeReference414,15051
+ T *operator->() { return ptr; }operator ->415,15121
+ T *operator&() { return ptr; }operator &416,15157
+ operator T&() { return *ptr; }operator T&417,15192
+ template<typename U> bool operator ==(U other) { return *ptr == other; }operator ==418,15227
+ template<typename U> bool operator !=(U other) { return *ptr != other; }operator !=419,15304
+ T *ptr;ptr421,15392
+ #define _USE_MATH_DEFINES_USE_MATH_DEFINES425,15450
+#define __PYX_NAN(__PYX_NAN429,15514
+static CYTHON_INLINE float __PYX_NAN() {__PYX_NAN431,15554
+#define __Pyx_truncl __Pyx_truncl438,15723
+#define __Pyx_truncl __Pyx_truncl440,15756
+#define __PYX_ERR(__PYX_ERR444,15793
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide450,15976
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide451,16046
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide453,16129
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide454,16195
+ #define __PYX_EXTERN_C __PYX_EXTERN_C459,16320
+ #define __PYX_EXTERN_C __PYX_EXTERN_C461,16366
+#define __PYX_HAVE__pyisda__flat_hazard__PYX_HAVE__pyisda__flat_hazard465,16417
+#define __PYX_HAVE_API__pyisda__flat_hazard__PYX_HAVE_API__pyisda__flat_hazard466,16457
+#define CYTHON_WITHOUT_ASSERTIONSCYTHON_WITHOUT_ASSERTIONS507,17423
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;p510,17465
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;s510,17465
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;n510,17465
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;encoding510,17465
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_unicode511,17552
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_str511,17552
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;intern511,17552
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;__Pyx_StringTabEntry511,17552
+#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII __PYX_DEFAULT_STRING_ENCODING_IS_ASCII513,17654
+#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT514,17703
+#define __PYX_DEFAULT_STRING_ENCODING __PYX_DEFAULT_STRING_ENCODING515,17754
+#define __Pyx_PyObject_FromString __Pyx_PyObject_FromString516,17795
+#define __Pyx_PyObject_FromStringAndSize __Pyx_PyObject_FromStringAndSize517,17854
+#define __Pyx_uchar_cast(__Pyx_uchar_cast518,17927
+#define __Pyx_long_cast(__Pyx_long_cast519,17974
+#define __Pyx_fits_Py_ssize_t(__Pyx_fits_Py_ssize_t520,18011
+ #define __Pyx_sst_abs(__Pyx_sst_abs532,18617
+ #define __Pyx_sst_abs(__Pyx_sst_abs534,18700
+ #define __Pyx_sst_abs(__Pyx_sst_abs536,18779
+ #define __Pyx_sst_abs(__Pyx_sst_abs538,18869
+ #define __Pyx_sst_abs(__Pyx_sst_abs540,18980
+ #define __Pyx_sst_abs(__Pyx_sst_abs542,19051
+ #define __Pyx_sst_abs(__Pyx_sst_abs544,19113
+#define __Pyx_PyByteArray_FromString(__Pyx_PyByteArray_FromString548,19335
+#define __Pyx_PyByteArray_FromStringAndSize(__Pyx_PyByteArray_FromStringAndSize549,19445
+#define __Pyx_PyBytes_FromString __Pyx_PyBytes_FromString550,19544
+#define __Pyx_PyBytes_FromStringAndSize __Pyx_PyBytes_FromStringAndSize551,19603
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString554,19766
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize555,19833
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString557,19913
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize558,19982
+#define __Pyx_PyObject_AsSString(__Pyx_PyObject_AsSString560,20065
+#define __Pyx_PyObject_AsUString(__Pyx_PyObject_AsUString561,20148
+#define __Pyx_PyObject_FromCString(__Pyx_PyObject_FromCString562,20233
+#define __Pyx_PyBytes_FromCString(__Pyx_PyBytes_FromCString563,20314
+#define __Pyx_PyByteArray_FromCString(__Pyx_PyByteArray_FromCString564,20394
+#define __Pyx_PyStr_FromCString(__Pyx_PyStr_FromCString565,20482
+#define __Pyx_PyUnicode_FromCString(__Pyx_PyUnicode_FromCString566,20560
+static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)__Pyx_Py_UNICODE_strlen568,20667
+#define __Pyx_Py_UNICODE_strlen __Pyx_Py_UNICODE_strlen575,20842
+#define __Pyx_PyUnicode_FromUnicode(__Pyx_PyUnicode_FromUnicode577,20899
+#define __Pyx_PyUnicode_FromUnicodeAndLength __Pyx_PyUnicode_FromUnicodeAndLength578,20997
+#define __Pyx_PyUnicode_AsUnicode __Pyx_PyUnicode_AsUnicode579,21064
+#define __Pyx_NewRef(__Pyx_NewRef580,21129
+#define __Pyx_Owned_Py_None(__Pyx_Owned_Py_None581,21177
+#define __Pyx_PyBool_FromLong(__Pyx_PyBool_FromLong582,21230
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble588,21609
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble590,21718
+#define __pyx_PyFloat_AsFloat(__pyx_PyFloat_AsFloat592,21779
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int594,21874
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int596,21970
+#define __Pyx_PyNumber_Float(__Pyx_PyNumber_Float598,22065
+static int __Pyx_sys_getdefaultencoding_not_ascii;__Pyx_sys_getdefaultencoding_not_ascii600,22226
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params601,22277
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize646,24006
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize648,24107
+static char* __PYX_DEFAULT_STRING_ENCODING;__PYX_DEFAULT_STRING_ENCODING650,24274
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params651,24318
+ #define likely(likely677,25212
+ #define unlikely(unlikely678,25261
+ #define likely(likely680,25346
+ #define unlikely(unlikely681,25372
+static PyObject *__pyx_m;__pyx_m684,25421
+static PyObject *__pyx_d;__pyx_d685,25447
+static PyObject *__pyx_b;__pyx_b686,25473
+static PyObject *__pyx_empty_tuple;__pyx_empty_tuple687,25499
+static PyObject *__pyx_empty_bytes;__pyx_empty_bytes688,25535
+static PyObject *__pyx_empty_unicode;__pyx_empty_unicode689,25571
+static int __pyx_lineno;__pyx_lineno690,25609
+static int __pyx_clineno = 0;__pyx_clineno691,25634
+static const char * __pyx_cfilenm= __FILE__;__pyx_cfilenm692,25664
+static const char *__pyx_filename;__pyx_filename693,25709
+ #define CYTHON_CCOMPLEX CYTHON_CCOMPLEX698,25821
+ #define CYTHON_CCOMPLEX CYTHON_CCOMPLEX700,25879
+ #define CYTHON_CCOMPLEX CYTHON_CCOMPLEX702,25917
+ #undef _Complex_I_Complex_I713,26162
+ #define _Complex_I _Complex_I714,26182
+static const char *__pyx_f[] = {__pyx_f718,26218
+#define IS_UNSIGNED(IS_UNSIGNED730,26456
+#define __PYX_BUF_FLAGS_PACKED_STRUCT __PYX_BUF_FLAGS_PACKED_STRUCT732,26527
+ const char* name;name734,26591
+ struct __Pyx_StructField_* fields;fields735,26611
+ size_t size;size736,26648
+ size_t arraysize[8];arraysize737,26663
+ int ndim;ndim738,26686
+ char typegroup;typegroup739,26698
+ char is_unsigned;is_unsigned740,26716
+ int flags;flags741,26736
+} __Pyx_TypeInfo;__Pyx_TypeInfo742,26749
+typedef struct __Pyx_StructField_ {__Pyx_StructField_743,26767
+ __Pyx_TypeInfo* type;type744,26803
+ const char* name;name745,26827
+ size_t offset;offset746,26847
+} __Pyx_StructField;__Pyx_StructField747,26864
+ __Pyx_StructField* field;field749,26902
+ size_t parent_offset;parent_offset750,26930
+} __Pyx_BufFmt_StackElem;__Pyx_BufFmt_StackElem751,26954
+ __Pyx_StructField root;root753,26997
+ __Pyx_BufFmt_StackElem* head;head754,27023
+ size_t fmt_offset;fmt_offset755,27055
+ size_t new_count, enc_count;new_count756,27076
+ size_t new_count, enc_count;enc_count756,27076
+ size_t struct_alignment;struct_alignment757,27107
+ int is_complex;is_complex758,27134
+ char enc_type;enc_type759,27152
+ char new_packmode;new_packmode760,27169
+ char enc_packmode;enc_packmode761,27190
+ char is_valid_array;is_valid_array762,27211
+} __Pyx_BufFmt_Context;__Pyx_BufFmt_Context763,27234
+ struct __pyx_memoryview_obj *memview;memview768,27336
+ char *data;data769,27376
+ Py_ssize_t shape[8];shape770,27390
+ Py_ssize_t strides[8];strides771,27413
+ Py_ssize_t suboffsets[8];suboffsets772,27438
+} __Pyx_memviewslice;__Pyx_memviewslice773,27466
+ #define CYTHON_ATOMICS CYTHON_ATOMICS778,27554
+#define __pyx_atomic_int_type __pyx_atomic_int_type780,27590
+ #define __pyx_atomic_incr_aligned(__pyx_atomic_incr_aligned784,27799
+ #define __pyx_atomic_decr_aligned(__pyx_atomic_decr_aligned785,27881
+ #undef __pyx_atomic_int_type__pyx_atomic_int_type791,28114
+ #define __pyx_atomic_int_type __pyx_atomic_int_type792,28147
+ #define __pyx_atomic_incr_aligned(__pyx_atomic_incr_aligned793,28186
+ #define __pyx_atomic_decr_aligned(__pyx_atomic_decr_aligned794,28265
+ #define __pyx_atomic_incr_aligned(__pyx_atomic_incr_aligned799,28508
+ #define __pyx_atomic_decr_aligned(__pyx_atomic_decr_aligned800,28588
+ #undef CYTHON_ATOMICSCYTHON_ATOMICS805,28755
+ #define CYTHON_ATOMICS CYTHON_ATOMICS806,28781
+typedef volatile __pyx_atomic_int_type __pyx_atomic_int;__pyx_atomic_int811,28896
+ #define __pyx_add_acquisition_count(__pyx_add_acquisition_count813,28972
+ #define __pyx_sub_acquisition_count(__pyx_sub_acquisition_count815,29116
+ #define __pyx_add_acquisition_count(__pyx_add_acquisition_count818,29265
+ #define __pyx_sub_acquisition_count(__pyx_sub_acquisition_count820,29417
+typedef long __pyx_t_6pyisda_4date_TDate;__pyx_t_6pyisda_4date_TDate832,29718
+typedef npy_int8 __pyx_t_5numpy_int8_t;__pyx_t_5numpy_int8_t841,30053
+typedef npy_int16 __pyx_t_5numpy_int16_t;__pyx_t_5numpy_int16_t850,30364
+typedef npy_int32 __pyx_t_5numpy_int32_t;__pyx_t_5numpy_int32_t859,30709
+typedef npy_int64 __pyx_t_5numpy_int64_t;__pyx_t_5numpy_int64_t868,31057
+typedef npy_uint8 __pyx_t_5numpy_uint8_t;__pyx_t_5numpy_uint8_t877,31375
+typedef npy_uint16 __pyx_t_5numpy_uint16_t;__pyx_t_5numpy_uint16_t886,31692
+typedef npy_uint32 __pyx_t_5numpy_uint32_t;__pyx_t_5numpy_uint32_t895,32044
+typedef npy_uint64 __pyx_t_5numpy_uint64_t;__pyx_t_5numpy_uint64_t904,32399
+typedef npy_float32 __pyx_t_5numpy_float32_t;__pyx_t_5numpy_float32_t913,32725
+typedef npy_float64 __pyx_t_5numpy_float64_t;__pyx_t_5numpy_float64_t922,33054
+typedef npy_long __pyx_t_5numpy_int_t;__pyx_t_5numpy_int_t931,33439
+typedef npy_longlong __pyx_t_5numpy_long_t;__pyx_t_5numpy_long_t940,33771
+typedef npy_longlong __pyx_t_5numpy_longlong_t;__pyx_t_5numpy_longlong_t949,34086
+typedef npy_ulong __pyx_t_5numpy_uint_t;__pyx_t_5numpy_uint_t958,34412
+typedef npy_ulonglong __pyx_t_5numpy_ulong_t;__pyx_t_5numpy_ulong_t967,34697
+typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;__pyx_t_5numpy_ulonglong_t976,35017
+typedef npy_intp __pyx_t_5numpy_intp_t;__pyx_t_5numpy_intp_t985,35311
+typedef npy_uintp __pyx_t_5numpy_uintp_t;__pyx_t_5numpy_uintp_t994,35591
+typedef npy_double __pyx_t_5numpy_float_t;__pyx_t_5numpy_float_t1003,35911
+typedef npy_double __pyx_t_5numpy_double_t;__pyx_t_5numpy_double_t1012,36201
+typedef npy_longdouble __pyx_t_5numpy_longdouble_t;__pyx_t_5numpy_longdouble_t1021,36525
+typedef int __pyx_t_6pyisda_4legs_TBoolean;__pyx_t_6pyisda_4legs_TBoolean1030,36722
+ typedef ::std::complex< float > __pyx_t_float_complex;__pyx_t_float_complex1034,36832
+ typedef float _Complex __pyx_t_float_complex;__pyx_t_float_complex1036,36899
+ typedef struct { float real, imag; } __pyx_t_float_complex;real1039,36964
+ typedef struct { float real, imag; } __pyx_t_float_complex;imag1039,36964
+ typedef struct { float real, imag; } __pyx_t_float_complex;__pyx_t_float_complex1039,36964
+ typedef ::std::complex< double > __pyx_t_double_complex;__pyx_t_double_complex1046,37193
+ typedef double _Complex __pyx_t_double_complex;__pyx_t_double_complex1048,37262
+ typedef struct { double real, imag; } __pyx_t_double_complex;real1051,37329
+ typedef struct { double real, imag; } __pyx_t_double_complex;imag1051,37329
+ typedef struct { double real, imag; } __pyx_t_double_complex;__pyx_t_double_complex1051,37329
+enum __pyx_t_6pyisda_4date_DCC {__pyx_t_6pyisda_4date_DCC1074,38057
+ __pyx_e_6pyisda_4date_ACT_365 = 1L,__pyx_e_6pyisda_4date_ACT_3651075,38090
+ __pyx_e_6pyisda_4date_ACT_365F = 2L,__pyx_e_6pyisda_4date_ACT_365F1076,38128
+ __pyx_e_6pyisda_4date_ACT_360 = 3L__pyx_e_6pyisda_4date_ACT_3601077,38167
+typedef npy_cfloat __pyx_t_5numpy_cfloat_t;__pyx_t_5numpy_cfloat_t1087,38496
+typedef npy_cdouble __pyx_t_5numpy_cdouble_t;__pyx_t_5numpy_cdouble_t1096,38793
+typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;__pyx_t_5numpy_clongdouble_t1105,39126
+typedef npy_cdouble __pyx_t_5numpy_complex_t;__pyx_t_5numpy_complex_t1114,39444
+enum __pyx_t_6pyisda_5curve_Basis {__pyx_t_6pyisda_5curve_Basis1123,39766
+ __pyx_e_6pyisda_5curve_CONTINUOUS = 0x1388,__pyx_e_6pyisda_5curve_CONTINUOUS1124,39802
+ __pyx_e_6pyisda_5curve_DISCOUNT_RATE = 0x200,__pyx_e_6pyisda_5curve_DISCOUNT_RATE1125,39848
+ __pyx_e_6pyisda_5curve_SIMPLE_BASIS = 0,__pyx_e_6pyisda_5curve_SIMPLE_BASIS1126,39896
+ __pyx_e_6pyisda_5curve_ANNUAL_BASIS = 1,__pyx_e_6pyisda_5curve_ANNUAL_BASIS1127,39939
+ __pyx_e_6pyisda_5curve_DISCOUNT_FACTOR = -2L__pyx_e_6pyisda_5curve_DISCOUNT_FACTOR1128,39982
+struct __pyx_obj_6pyisda_5curve_Curve {__pyx_obj_6pyisda_5curve_Curve1138,40182
+ std::shared_ptr<TCurve> _thisptr;_thisptr1140,40238
+struct __pyx_obj_6pyisda_5curve_YieldCurve {__pyx_obj_6pyisda_5curve_YieldCurve1151,40462
+ struct __pyx_obj_6pyisda_5curve_Curve __pyx_base;__pyx_base1152,40507
+ TDate *_dates;_dates1153,40559
+ size_t _ninstr;_ninstr1154,40576
+struct __pyx_obj_6pyisda_5curve_SpreadCurve {__pyx_obj_6pyisda_5curve_SpreadCurve1165,40732
+ struct __pyx_obj_6pyisda_5curve_Curve __pyx_base;__pyx_base1166,40778
+struct __pyx_obj_6pyisda_4legs_ContingentLeg {__pyx_obj_6pyisda_4legs_ContingentLeg1177,40997
+ TContingentLeg *_thisptr;_thisptr1179,41060
+struct __pyx_obj_6pyisda_4legs_FeeLeg {__pyx_obj_6pyisda_4legs_FeeLeg1189,41204
+ TFeeLeg *_thisptr;_thisptr1191,41260
+struct __pyx_array_obj {__pyx_array_obj1202,41411
+ struct __pyx_vtabstruct_array *__pyx_vtab;__pyx_vtab1204,41452
+ char *data;data1205,41497
+ Py_ssize_t len;len1206,41511
+ char *format;format1207,41529
+ int ndim;ndim1208,41545
+ Py_ssize_t *_shape;_shape1209,41557
+ Py_ssize_t *_strides;_strides1210,41579
+ Py_ssize_t itemsize;itemsize1211,41603
+ PyObject *mode;mode1212,41626
+ PyObject *_format;_format1213,41644
+ void (*callback_free_data)(void *);callback_free_data1214,41665
+ int free_data;free_data1215,41703
+ int dtype_is_object;dtype_is_object1216,41720
+struct __pyx_MemviewEnum_obj {__pyx_MemviewEnum_obj1227,41926
+ PyObject *name;name1229,41973
+struct __pyx_memoryview_obj {__pyx_memoryview_obj1240,42149
+ struct __pyx_vtabstruct_memoryview *__pyx_vtab;__pyx_vtab1242,42195
+ PyObject *obj;obj1243,42245
+ PyObject *_size;_size1244,42262
+ PyObject *_array_interface;_array_interface1245,42281
+ PyThread_type_lock lock;lock1246,42311
+ __pyx_atomic_int acquisition_count[2];acquisition_count1247,42338
+ __pyx_atomic_int *acquisition_count_aligned_p;acquisition_count_aligned_p1248,42379
+ Py_buffer view;view1249,42428
+ int flags;flags1250,42446
+ int dtype_is_object;dtype_is_object1251,42459
+ __Pyx_TypeInfo *typeinfo;typeinfo1252,42482
+struct __pyx_memoryviewslice_obj {__pyx_memoryviewslice_obj1263,42724
+ struct __pyx_memoryview_obj __pyx_base;__pyx_base1264,42759
+ __Pyx_memviewslice from_slice;from_slice1265,42801
+ PyObject *from_object;from_object1266,42834
+ PyObject *(*to_object_func)(char *);to_object_func1267,42859
+ int (*to_dtype_func)(char *, PyObject *);to_dtype_func1268,42898
+struct __pyx_vtabstruct_array {__pyx_vtabstruct_array1281,43074
+ PyObject *(*get_memview)(struct __pyx_array_obj *);get_memview1282,43106
+static struct __pyx_vtabstruct_array *__pyx_vtabptr_array;__pyx_vtabptr_array1284,43163
+struct __pyx_vtabstruct_memoryview {__pyx_vtabstruct_memoryview1295,43378
+ char *(*get_item_pointer)(struct __pyx_memoryview_obj *, PyObject *);get_item_pointer1296,43415
+ PyObject *(*is_slice)(struct __pyx_memoryview_obj *, PyObject *);is_slice1297,43487
+ PyObject *(*setitem_slice_assignment)(struct __pyx_memoryview_obj *, PyObject *, PyObject *);setitem_slice_assignment1298,43555
+ PyObject *(*setitem_slice_assign_scalar)(struct __pyx_memoryview_obj *, struct __pyx_memoryview_obj *, PyObject *);setitem_slice_assign_scalar1299,43651
+ PyObject *(*setitem_indexed)(struct __pyx_memoryview_obj *, PyObject *, PyObject *);setitem_indexed1300,43769
+ PyObject *(*convert_item_to_object)(struct __pyx_memoryview_obj *, char *);convert_item_to_object1301,43856
+ PyObject *(*assign_item_from_object)(struct __pyx_memoryview_obj *, char *, PyObject *);assign_item_from_object1302,43934
+static struct __pyx_vtabstruct_memoryview *__pyx_vtabptr_memoryview;__pyx_vtabptr_memoryview1304,44028
+struct __pyx_vtabstruct__memoryviewslice {__pyx_vtabstruct__memoryviewslice1315,44309
+ struct __pyx_vtabstruct_memoryview __pyx_base;__pyx_base1316,44352
+static struct __pyx_vtabstruct__memoryviewslice *__pyx_vtabptr__memoryviewslice;__pyx_vtabptr__memoryviewslice1318,44404
+ #define CYTHON_REFNANNY CYTHON_REFNANNY1323,44573
+ void (*INCREF)(void*, PyObject*, int);INCREF1327,44647
+ void (*DECREF)(void*, PyObject*, int);DECREF1328,44690
+ void (*GOTREF)(void*, PyObject*, int);GOTREF1329,44733
+ void (*GIVEREF)(void*, PyObject*, int);GIVEREF1330,44776
+ void* (*SetupContext)(const char*, int, const char*);SetupContext1331,44820
+ void (*FinishContext)(void**);FinishContext1332,44878
+ } __Pyx_RefNannyAPIStruct;__Pyx_RefNannyAPIStruct1333,44913
+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;__Pyx_RefNanny1334,44942
+ #define __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations1336,45079
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext1338,45164
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext1347,45600
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext1350,45748
+ #define __Pyx_INCREF(__Pyx_INCREF1352,45846
+ #define __Pyx_DECREF(__Pyx_DECREF1353,45939
+ #define __Pyx_GOTREF(__Pyx_GOTREF1354,46032
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF1355,46125
+ #define __Pyx_XINCREF(__Pyx_XINCREF1356,46219
+ #define __Pyx_XDECREF(__Pyx_XDECREF1357,46298
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF1358,46377
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF1359,46456
+ #define __Pyx_RefNannyDeclarations__Pyx_RefNannyDeclarations1361,46541
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext1362,46578
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext1363,46634
+ #define __Pyx_INCREF(__Pyx_INCREF1364,46674
+ #define __Pyx_DECREF(__Pyx_DECREF1365,46713
+ #define __Pyx_GOTREF(__Pyx_GOTREF1366,46752
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF1367,46778
+ #define __Pyx_XINCREF(__Pyx_XINCREF1368,46805
+ #define __Pyx_XDECREF(__Pyx_XDECREF1369,46846
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF1370,46887
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF1371,46914
+#define __Pyx_XDECREF_SET(__Pyx_XDECREF_SET1373,46949
+#define __Pyx_DECREF_SET(__Pyx_DECREF_SET1377,47080
+#define __Pyx_CLEAR(__Pyx_CLEAR1381,47209
+#define __Pyx_XCLEAR(__Pyx_XCLEAR1382,47313
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {__Pyx_PyObject_GetAttrStr1386,47493
+#define __Pyx_PyObject_GetAttrStr(__Pyx_PyObject_GetAttrStr1397,47890
+#define __Pyx_PyCFunction_FastCall(__Pyx_PyCFunction_FastCall1429,49075
+#define __Pyx_PyFunction_FastCall(__Pyx_PyFunction_FastCall1434,49210
+#define __Pyx_PyFunction_FastCallDict(__Pyx_PyFunction_FastCallDict1439,49482
+#define __Pyx_PyObject_Call(__Pyx_PyObject_Call1447,49774
+#define __Pyx_BufPtrStrided1d(__Pyx_BufPtrStrided1d1467,50672
+#define __Pyx_PyThreadState_declare __Pyx_PyThreadState_declare1470,50808
+#define __Pyx_PyThreadState_assign __Pyx_PyThreadState_assign1471,50874
+#define __Pyx_PyThreadState_declare__Pyx_PyThreadState_declare1473,50952
+#define __Pyx_PyThreadState_assign__Pyx_PyThreadState_assign1474,50988
+#define __Pyx_ErrRestoreWithState(__Pyx_ErrRestoreWithState1479,51090
+#define __Pyx_ErrFetchWithState(__Pyx_ErrFetchWithState1480,51204
+#define __Pyx_ErrRestore(__Pyx_ErrRestore1481,51316
+#define __Pyx_ErrFetch(__Pyx_ErrFetch1482,51414
+#define __Pyx_ErrRestoreWithState(__Pyx_ErrRestoreWithState1486,51759
+#define __Pyx_ErrFetchWithState(__Pyx_ErrFetchWithState1487,51842
+#define __Pyx_ErrRestore(__Pyx_ErrRestore1488,51921
+#define __Pyx_ErrFetch(__Pyx_ErrFetch1489,51995
+#define __Pyx_BUF_MAX_NDIMS __Pyx_BUF_MAX_NDIMS1496,52219
+#define __Pyx_MEMVIEW_DIRECT __Pyx_MEMVIEW_DIRECT1497,52265
+#define __Pyx_MEMVIEW_PTR __Pyx_MEMVIEW_PTR1498,52298
+#define __Pyx_MEMVIEW_FULL __Pyx_MEMVIEW_FULL1499,52331
+#define __Pyx_MEMVIEW_CONTIG __Pyx_MEMVIEW_CONTIG1500,52364
+#define __Pyx_MEMVIEW_STRIDED __Pyx_MEMVIEW_STRIDED1501,52397
+#define __Pyx_MEMVIEW_FOLLOW __Pyx_MEMVIEW_FOLLOW1502,52431
+#define __Pyx_IS_C_CONTIG __Pyx_IS_C_CONTIG1503,52465
+#define __Pyx_IS_F_CONTIG __Pyx_IS_F_CONTIG1504,52493
+#define __pyx_get_slice_count_pointer(__pyx_get_slice_count_pointer1514,52990
+#define __pyx_get_slice_count(__pyx_get_slice_count1515,53076
+#define __PYX_INC_MEMVIEW(__PYX_INC_MEMVIEW1516,53157
+#define __PYX_XDEC_MEMVIEW(__PYX_XDEC_MEMVIEW1517,53245
+static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {__Pyx_PyDict_GetItem1523,53570
+ #define __Pyx_PyDict_GetItem(__Pyx_PyDict_GetItem1539,54016
+#define __Pyx_ExceptionSave(__Pyx_ExceptionSave1553,54482
+#define __Pyx_ExceptionReset(__Pyx_ExceptionReset1555,54701
+#define __Pyx_ExceptionSave(__Pyx_ExceptionSave1558,54926
+#define __Pyx_ExceptionReset(__Pyx_ExceptionReset1559,55007
+#define __Pyx_PyErr_ExceptionMatches(__Pyx_PyErr_ExceptionMatches1564,55159
+#define __Pyx_PyErr_ExceptionMatches(__Pyx_PyErr_ExceptionMatches1567,55362
+#define __Pyx_GetException(__Pyx_GetException1572,55495
+#define __Pyx_PyString_Equals __Pyx_PyString_Equals1589,56115
+#define __Pyx_PyString_Equals __Pyx_PyString_Equals1591,56174
+#define UNARY_NEG_WOULD_OVERFLOW(UNARY_NEG_WOULD_OVERFLOW1598,56359
+#define __Pyx_ExceptionSwap(__Pyx_ExceptionSwap1614,57101
+#define __Pyx_GetItemInt(__Pyx_GetItemInt1624,57553
+#define __Pyx_GetItemInt_List(__Pyx_GetItemInt_List1629,57937
+#define __Pyx_GetItemInt_Tuple(__Pyx_GetItemInt_Tuple1635,58430
+static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {__Pyx_ListComp_Append1648,59410
+#define __Pyx_ListComp_Append(__Pyx_ListComp_Append1660,59765
+#define __Pyx_PyInt_AddObjC(__Pyx_PyInt_AddObjC1667,59980
+static CYTHON_INLINE int __Pyx_PyList_Extend(PyObject* L, PyObject* v) {__Pyx_PyList_Extend1672,60138
+static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {__Pyx_PyList_Append1686,60546
+#define __Pyx_PyList_Append(__Pyx_PyList_Append1698,60935
+ #define __PYX_FORCE_INIT_THREADS __PYX_FORCE_INIT_THREADS1706,61152
+ PyCodeObject* code_object;code_object1722,61632
+ int code_line;code_line1723,61663
+} __Pyx_CodeObjectCacheEntry;__Pyx_CodeObjectCacheEntry1724,61682
+struct __Pyx_CodeObjectCache {__Pyx_CodeObjectCache1725,61712
+ int count;count1726,61743
+ int max_count;max_count1727,61758
+ __Pyx_CodeObjectCacheEntry* entries;entries1728,61777
+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};__pyx_code_cache1730,61821
+ #define __Pyx_GetBuffer __Pyx_GetBuffer1743,62448
+ #define __Pyx_ReleaseBuffer __Pyx_ReleaseBuffer1744,62495
+ Py_ssize_t shape, strides, suboffsets;shape1750,62602
+ Py_ssize_t shape, strides, suboffsets;strides1750,62602
+ Py_ssize_t shape, strides, suboffsets;suboffsets1750,62602
+} __Pyx_Buf_DimInfo;__Pyx_Buf_DimInfo1751,62643
+ size_t refcount;refcount1753,62681
+ Py_buffer pybuffer;pybuffer1754,62700
+} __Pyx_Buffer;__Pyx_Buffer1755,62722
+ __Pyx_Buffer *rcbuffer;rcbuffer1757,62755
+ char *data;data1758,62781
+ __Pyx_Buf_DimInfo diminfo[8];diminfo1759,62795
+} __Pyx_LocalBuf_ND;__Pyx_LocalBuf_ND1760,62827
+static Py_ssize_t __Pyx_zeros[] = {0, 0, 0, 0, 0, 0, 0, 0};__Pyx_zeros1763,62866
+static Py_ssize_t __Pyx_minusones[] = {-1, -1, -1, -1, -1, -1, -1, -1};__Pyx_minusones1764,62926
+ #define __Pyx_CREAL(__Pyx_CREAL1805,64454
+ #define __Pyx_CIMAG(__Pyx_CIMAG1806,64494
+ #define __Pyx_CREAL(__Pyx_CREAL1808,64542
+ #define __Pyx_CIMAG(__Pyx_CIMAG1809,64583
+ #define __Pyx_CREAL(__Pyx_CREAL1812,64639
+ #define __Pyx_CIMAG(__Pyx_CIMAG1813,64677
+ #define __Pyx_SET_CREAL(__Pyx_SET_CREAL1817,64926
+ #define __Pyx_SET_CIMAG(__Pyx_SET_CIMAG1818,64973
+ #define __Pyx_SET_CREAL(__Pyx_SET_CREAL1820,65026
+ #define __Pyx_SET_CIMAG(__Pyx_SET_CIMAG1821,65080
+ #define __Pyx_c_eq_float(__Pyx_c_eq_float1826,65185
+ #define __Pyx_c_sum_float(__Pyx_c_sum_float1827,65233
+ #define __Pyx_c_diff_float(__Pyx_c_diff_float1828,65280
+ #define __Pyx_c_prod_float(__Pyx_c_prod_float1829,65327
+ #define __Pyx_c_quot_float(__Pyx_c_quot_float1830,65374
+ #define __Pyx_c_neg_float(__Pyx_c_neg_float1831,65421
+ #define __Pyx_c_is_zero_float(__Pyx_c_is_zero_float1833,65486
+ #define __Pyx_c_conj_float(__Pyx_c_conj_float1834,65539
+ #define __Pyx_c_abs_float(__Pyx_c_abs_float1836,65603
+ #define __Pyx_c_pow_float(__Pyx_c_pow_float1837,65660
+ #define __Pyx_c_is_zero_float(__Pyx_c_is_zero_float1840,65739
+ #define __Pyx_c_conj_float(__Pyx_c_conj_float1841,65785
+ #define __Pyx_c_abs_float(__Pyx_c_abs_float1843,65843
+ #define __Pyx_c_pow_float(__Pyx_c_pow_float1844,65895
+ #define __Pyx_c_eq_double(__Pyx_c_eq_double1864,67038
+ #define __Pyx_c_sum_double(__Pyx_c_sum_double1865,67087
+ #define __Pyx_c_diff_double(__Pyx_c_diff_double1866,67135
+ #define __Pyx_c_prod_double(__Pyx_c_prod_double1867,67183
+ #define __Pyx_c_quot_double(__Pyx_c_quot_double1868,67231
+ #define __Pyx_c_neg_double(__Pyx_c_neg_double1869,67279
+ #define __Pyx_c_is_zero_double(__Pyx_c_is_zero_double1871,67345
+ #define __Pyx_c_conj_double(__Pyx_c_conj_double1872,67400
+ #define __Pyx_c_abs_double(__Pyx_c_abs_double1874,67465
+ #define __Pyx_c_pow_double(__Pyx_c_pow_double1875,67523
+ #define __Pyx_c_is_zero_double(__Pyx_c_is_zero_double1878,67603
+ #define __Pyx_c_conj_double(__Pyx_c_conj_double1879,67650
+ #define __Pyx_c_abs_double(__Pyx_c_abs_double1881,67708
+ #define __Pyx_c_pow_double(__Pyx_c_pow_double1882,67760
+ #define __Pyx_PyIdentifier_FromString(__Pyx_PyIdentifier_FromString1937,70045
+ #define __Pyx_PyIdentifier_FromString(__Pyx_PyIdentifier_FromString1939,70117
+static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;__pyx_ptype_7cpython_4type_type1971,72218
+static PyTypeObject *__pyx_ptype_7cpython_4bool_bool = 0;__pyx_ptype_7cpython_4bool_bool2004,73038
+static PyTypeObject *__pyx_ptype_7cpython_7complex_complex = 0;__pyx_ptype_7cpython_7complex_complex2013,73287
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_date = 0;__pyx_ptype_7cpython_8datetime_date2052,74282
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_time = 0;__pyx_ptype_7cpython_8datetime_time2053,74344
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_datetime = 0;__pyx_ptype_7cpython_8datetime_datetime2054,74406
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_timedelta = 0;__pyx_ptype_7cpython_8datetime_timedelta2055,74472
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_tzinfo = 0;__pyx_ptype_7cpython_8datetime_tzinfo2056,74539
+static long (*__pyx_f_6pyisda_4date_dcc)(PyObject *); /*proto*/__pyx_f_6pyisda_4date_dcc2059,74649
+static __pyx_t_6pyisda_4date_TDate (*__pyx_f_6pyisda_4date_pydate_to_TDate)(PyDateTime_Date *); /*proto*/__pyx_f_6pyisda_4date_pydate_to_TDate2060,74713
+static PyTypeObject *__pyx_ptype_5numpy_dtype = 0;__pyx_ptype_5numpy_dtype2067,74945
+static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0;__pyx_ptype_5numpy_flatiter2068,74996
+static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0;__pyx_ptype_5numpy_broadcast2069,75050
+static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0;__pyx_ptype_5numpy_ndarray2070,75105
+static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0;__pyx_ptype_5numpy_ufunc2071,75158
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_Curve = 0;__pyx_ptype_6pyisda_5curve_Curve2080,75526
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_YieldCurve = 0;__pyx_ptype_6pyisda_5curve_YieldCurve2081,75585
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_SpreadCurve = 0;__pyx_ptype_6pyisda_5curve_SpreadCurve2082,75649
+static PyTypeObject *__pyx_ptype_6pyisda_4legs_ContingentLeg = 0;__pyx_ptype_6pyisda_4legs_ContingentLeg2087,75808
+static PyTypeObject *__pyx_ptype_6pyisda_4legs_FeeLeg = 0;__pyx_ptype_6pyisda_4legs_FeeLeg2088,75874
+static PyTypeObject *__pyx_array_type = 0;__pyx_array_type2095,76073
+static PyTypeObject *__pyx_MemviewEnum_type = 0;__pyx_MemviewEnum_type2096,76116
+static PyTypeObject *__pyx_memoryview_type = 0;__pyx_memoryview_type2097,76165
+static PyTypeObject *__pyx_memoryviewslice_type = 0;__pyx_memoryviewslice_type2098,76213
+static PyObject *generic = 0;generic2099,76266
+static PyObject *strided = 0;strided2100,76296
+static PyObject *indirect = 0;indirect2101,76326
+static PyObject *contiguous = 0;contiguous2102,76357
+static PyObject *indirect_contiguous = 0;indirect_contiguous2103,76390
+static int __pyx_memoryview_thread_locks_used;__pyx_memoryview_thread_locks_used2104,76432
+static PyThread_type_lock __pyx_memoryview_thread_locks[8];__pyx_memoryview_thread_locks2105,76479
+static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float_t = { "float_t", NULL, sizeof(__pyx_t_5numpy_float_t), { 0 }, 0, 'R', 0, 0 };__Pyx_TypeInfo_nn___pyx_t_5numpy_float_t2138,79687
+static __Pyx_TypeInfo __Pyx_TypeInfo_double = { "double", NULL, sizeof(double), { 0 }, 0, 'R', 0, 0 };__Pyx_TypeInfo_double2139,79826
+#define __Pyx_MODULE_NAME __Pyx_MODULE_NAME2140,79929
+int __pyx_module_is_main_pyisda__flat_hazard = 0;__pyx_module_is_main_pyisda__flat_hazard2141,79976
+static PyObject *__pyx_builtin_range;__pyx_builtin_range2144,80072
+static PyObject *__pyx_builtin_ValueError;__pyx_builtin_ValueError2145,80110
+static PyObject *__pyx_builtin_RuntimeError;__pyx_builtin_RuntimeError2146,80153
+static PyObject *__pyx_builtin_ImportError;__pyx_builtin_ImportError2147,80198
+static PyObject *__pyx_builtin_MemoryError;__pyx_builtin_MemoryError2148,80242
+static PyObject *__pyx_builtin_enumerate;__pyx_builtin_enumerate2149,80286
+static PyObject *__pyx_builtin_Ellipsis;__pyx_builtin_Ellipsis2150,80328
+static PyObject *__pyx_builtin_TypeError;__pyx_builtin_TypeError2151,80369
+static PyObject *__pyx_builtin_id;__pyx_builtin_id2152,80411
+static PyObject *__pyx_builtin_IndexError;__pyx_builtin_IndexError2153,80446
+static const char __pyx_k_O[] = "O";__pyx_k_O2154,80489
+static const char __pyx_k_c[] = "c";__pyx_k_c2155,80526
+static const char __pyx_k_h[] = "h";__pyx_k_h2156,80563
+static const char __pyx_k_i[] = "i";__pyx_k_i2157,80600
+static const char __pyx_k_hi[] = "hi";__pyx_k_hi2158,80637
+static const char __pyx_k_id[] = "id";__pyx_k_id2159,80676
+static const char __pyx_k_lo[] = "lo";__pyx_k_lo2160,80715
+static const char __pyx_k_np[] = "np";__pyx_k_np2161,80754
+static const char __pyx_k_pv[] = "pv";__pyx_k_pv2162,80793
+static const char __pyx_k_sc[] = "sc";__pyx_k_sc2163,80832
+static const char __pyx_k_yc[] = "yc";__pyx_k_yc2164,80871
+static const char __pyx_k_eta[] = "eta";__pyx_k_eta2165,80910
+static const char __pyx_k_obj[] = "obj";__pyx_k_obj2166,80951
+static const char __pyx_k_base[] = "base";__pyx_k_base2167,80992
+static const char __pyx_k_main[] = "__main__";__pyx_k_main2168,81035
+static const char __pyx_k_mode[] = "mode";__pyx_k_mode2169,81082
+static const char __pyx_k_name[] = "name";__pyx_k_name2170,81125
+static const char __pyx_k_ndim[] = "ndim";__pyx_k_ndim2171,81168
+static const char __pyx_k_pack[] = "pack";__pyx_k_pack2172,81211
+static const char __pyx_k_size[] = "size";__pyx_k_size2173,81254
+static const char __pyx_k_step[] = "step";__pyx_k_step2174,81297
+static const char __pyx_k_stop[] = "stop";__pyx_k_stop2175,81340
+static const char __pyx_k_test[] = "__test__";__pyx_k_test2176,81383
+static const char __pyx_k_ASCII[] = "ASCII";__pyx_k_ASCII2177,81430
+static const char __pyx_k_class[] = "__class__";__pyx_k_class2178,81475
+static const char __pyx_k_error[] = "error";__pyx_k_error2179,81524
+static const char __pyx_k_flags[] = "flags";__pyx_k_flags2180,81569
+static const char __pyx_k_guess[] = "guess";__pyx_k_guess2181,81614
+static const char __pyx_k_numpy[] = "numpy";__pyx_k_numpy2182,81659
+static const char __pyx_k_range[] = "range";__pyx_k_range2183,81704
+static const char __pyx_k_shape[] = "shape";__pyx_k_shape2184,81749
+static const char __pyx_k_start[] = "start";__pyx_k_start2185,81794
+static const char __pyx_k_encode[] = "encode";__pyx_k_encode2186,81839
+static const char __pyx_k_format[] = "format";__pyx_k_format2187,81886
+static const char __pyx_k_import[] = "__import__";__pyx_k_import2188,81933
+static const char __pyx_k_name_2[] = "__name__";__pyx_k_name_22189,81984
+static const char __pyx_k_params[] = "params";__pyx_k_params2190,82033
+static const char __pyx_k_pv_vec[] = "pv_vec";__pyx_k_pv_vec2191,82080
+static const char __pyx_k_struct[] = "struct";__pyx_k_struct2192,82127
+static const char __pyx_k_unpack[] = "unpack";__pyx_k_unpack2193,82174
+static const char __pyx_k_fee_leg[] = "fee_leg";__pyx_k_fee_leg2194,82221
+static const char __pyx_k_fortran[] = "fortran";__pyx_k_fortran2195,82270
+static const char __pyx_k_memview[] = "memview";__pyx_k_memview2196,82319
+static const char __pyx_k_spreads[] = "spreads";__pyx_k_spreads2197,82368
+static const char __pyx_k_Ellipsis[] = "Ellipsis";__pyx_k_Ellipsis2198,82417
+static const char __pyx_k_end_date[] = "end_date";__pyx_k_end_date2199,82468
+static const char __pyx_k_itemsize[] = "itemsize";__pyx_k_itemsize2200,82519
+static const char __pyx_k_nspreads[] = "nspreads";__pyx_k_nspreads2201,82570
+static const char __pyx_k_TypeError[] = "TypeError";__pyx_k_TypeError2202,82621
+static const char __pyx_k_enumerate[] = "enumerate";__pyx_k_enumerate2203,82674
+static const char __pyx_k_stub_type[] = "stub_type";__pyx_k_stub_type2204,82727
+static const char __pyx_k_IndexError[] = "IndexError";__pyx_k_IndexError2205,82780
+static const char __pyx_k_ValueError[] = "ValueError";__pyx_k_ValueError2206,82835
+static const char __pyx_k_empty_like[] = "empty_like";__pyx_k_empty_like2207,82890
+static const char __pyx_k_end_date_c[] = "end_date_c";__pyx_k_end_date_c2208,82945
+static const char __pyx_k_fixed_rate[] = "fixed_rate";__pyx_k_fixed_rate2209,83000
+static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";__pyx_k_pyx_vtable2210,83055
+static const char __pyx_k_start_date[] = "start_date";__pyx_k_start_date2211,83114
+static const char __pyx_k_strike_vec[] = "strike_vec";__pyx_k_strike_vec2212,83169
+static const char __pyx_k_trade_date[] = "trade_date";__pyx_k_trade_date2213,83224
+static const char __pyx_k_value_date[] = "value_date";__pyx_k_value_date2214,83279
+static const char __pyx_k_ImportError[] = "ImportError";__pyx_k_ImportError2215,83334
+static const char __pyx_k_MemoryError[] = "MemoryError";__pyx_k_MemoryError2216,83391
+static const char __pyx_k_default_leg[] = "default_leg";__pyx_k_default_leg2217,83448
+static const char __pyx_k_RuntimeError[] = "RuntimeError";__pyx_k_RuntimeError2218,83505
+static const char __pyx_k_start_date_c[] = "start_date_c";__pyx_k_start_date_c2219,83564
+static const char __pyx_k_trade_date_c[] = "trade_date_c";__pyx_k_trade_date_c2220,83623
+static const char __pyx_k_value_date_c[] = "value_date_c";__pyx_k_value_date_c2221,83682
+static const char __pyx_k_zero_upfront[] = "zero_upfront";__pyx_k_zero_upfront2222,83741
+static const char __pyx_k_coupon_leg_pv[] = "coupon_leg_pv";__pyx_k_coupon_leg_pv2223,83800
+static const char __pyx_k_pyx_getbuffer[] = "__pyx_getbuffer";__pyx_k_pyx_getbuffer2224,83861
+static const char __pyx_k_recovery_rate[] = "recovery_rate";__pyx_k_recovery_rate2225,83924
+static const char __pyx_k_default_leg_pv[] = "default_leg_pv";__pyx_k_default_leg_pv2226,83985
+static const char __pyx_k_step_in_date_c[] = "step_in_date_c";__pyx_k_step_in_date_c2227,84048
+static const char __pyx_k_allocate_buffer[] = "allocate_buffer";__pyx_k_allocate_buffer2228,84111
+static const char __pyx_k_dtype_is_object[] = "dtype_is_object";__pyx_k_dtype_is_object2229,84176
+static const char __pyx_k_pyisda_flat_hazard[] = "pyisda.flat_hazard";__pyx_k_pyisda_flat_hazard2230,84241
+static const char __pyx_k_strided_and_direct[] = "<strided and direct>";__pyx_k_strided_and_direct2231,84312
+static const char __pyx_k_Something_went_wrong[] = "Something went wrong";__pyx_k_Something_went_wrong2232,84385
+static const char __pyx_k_strided_and_indirect[] = "<strided and indirect>";__pyx_k_strided_and_indirect2233,84460
+static const char __pyx_k_contiguous_and_direct[] = "<contiguous and direct>";__pyx_k_contiguous_and_direct2234,84537
+static const char __pyx_k_MemoryView_of_r_object[] = "<MemoryView of %r object>";__pyx_k_MemoryView_of_r_object2235,84616
+static const char __pyx_k_MemoryView_of_r_at_0x_x[] = "<MemoryView of %r at 0x%x>";__pyx_k_MemoryView_of_r_at_0x_x2236,84698
+static const char __pyx_k_contiguous_and_indirect[] = "<contiguous and indirect>";__pyx_k_contiguous_and_indirect2237,84782
+static const char __pyx_k_Cannot_index_with_type_s[] = "Cannot index with type '%s'";__pyx_k_Cannot_index_with_type_s2238,84865
+static const char __pyx_k_Invalid_shape_in_axis_d_d[] = "Invalid shape in axis %d: %d.";__pyx_k_Invalid_shape_in_axis_d_d2239,84951
+static const char __pyx_k_itemsize_0_for_cython_array[] = "itemsize <= 0 for cython.array";__pyx_k_itemsize_0_for_cython_array2240,85040
+static const char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous";__pyx_k_ndarray_is_not_C_contiguous2241,85132
+static const char __pyx_k_unable_to_allocate_array_data[] = "unable to allocate array data.";__pyx_k_unable_to_allocate_array_data2242,85221
+static const char __pyx_k_strided_and_direct_or_indirect[] = "<strided and direct or indirect>";__pyx_k_strided_and_direct_or_indirect2243,85315
+static const char __pyx_k_home_guillaume_projects_code_py[] = "/home/guillaume/projects/code/python/pyisda/pyisda/flat_hazard.pyx";__pyx_k_home_guillaume_projects_code_py2244,85412
+static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import";__pyx_k_numpy_core_multiarray_failed_to2245,85544
+static const char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)";__pyx_k_unknown_dtype_code_in_numpy_pxd2246,85648
+static const char __pyx_k_Buffer_view_does_not_expose_stri[] = "Buffer view does not expose strides";__pyx_k_Buffer_view_does_not_expose_stri2247,85750
+static const char __pyx_k_Can_only_create_a_buffer_that_is[] = "Can only create a buffer that is contiguous in memory.";__pyx_k_Can_only_create_a_buffer_that_is2248,85852
+static const char __pyx_k_Empty_shape_tuple_for_cython_arr[] = "Empty shape tuple for cython.array";__pyx_k_Empty_shape_tuple_for_cython_arr2249,85973
+static const char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd";__pyx_k_Format_string_allocated_too_shor2250,86074
+static const char __pyx_k_Indirect_dimensions_not_supporte[] = "Indirect dimensions not supported";__pyx_k_Indirect_dimensions_not_supporte2251,86200
+static const char __pyx_k_Invalid_mode_expected_c_or_fortr[] = "Invalid mode, expected 'c' or 'fortran', got %s";__pyx_k_Invalid_mode_expected_c_or_fortr2252,86300
+static const char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported";__pyx_k_Non_native_byte_order_not_suppor2253,86414
+static const char __pyx_k_Out_of_bounds_on_buffer_access_a[] = "Out of bounds on buffer access (axis %d)";__pyx_k_Out_of_bounds_on_buffer_access_a2254,86516
+static const char __pyx_k_Unable_to_convert_item_to_object[] = "Unable to convert item to object";__pyx_k_Unable_to_convert_item_to_object2255,86623
+static const char __pyx_k_got_differing_extents_in_dimensi[] = "got differing extents in dimension %d (got %d and %d)";__pyx_k_got_differing_extents_in_dimensi2256,86722
+static const char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous";__pyx_k_ndarray_is_not_Fortran_contiguou2257,86842
+static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import";__pyx_k_numpy_core_umath_failed_to_impor2258,86942
+static const char __pyx_k_unable_to_allocate_shape_and_str[] = "unable to allocate shape and strides.";__pyx_k_unable_to_allocate_shape_and_str2259,87042
+static const char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short.";__pyx_k_Format_string_allocated_too_shor_22260,87146
+static PyObject *__pyx_n_s_ASCII;__pyx_n_s_ASCII2261,87249
+static PyObject *__pyx_kp_s_Buffer_view_does_not_expose_stri;__pyx_kp_s_Buffer_view_does_not_expose_stri2262,87283
+static PyObject *__pyx_kp_s_Can_only_create_a_buffer_that_is;__pyx_kp_s_Can_only_create_a_buffer_that_is2263,87345
+static PyObject *__pyx_kp_s_Cannot_index_with_type_s;__pyx_kp_s_Cannot_index_with_type_s2264,87407
+static PyObject *__pyx_n_s_Ellipsis;__pyx_n_s_Ellipsis2265,87461
+static PyObject *__pyx_kp_s_Empty_shape_tuple_for_cython_arr;__pyx_kp_s_Empty_shape_tuple_for_cython_arr2266,87498
+static PyObject *__pyx_kp_u_Format_string_allocated_too_shor;__pyx_kp_u_Format_string_allocated_too_shor2267,87560
+static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2;__pyx_kp_u_Format_string_allocated_too_shor_22268,87622
+static PyObject *__pyx_n_s_ImportError;__pyx_n_s_ImportError2269,87686
+static PyObject *__pyx_n_s_IndexError;__pyx_n_s_IndexError2270,87726
+static PyObject *__pyx_kp_s_Indirect_dimensions_not_supporte;__pyx_kp_s_Indirect_dimensions_not_supporte2271,87765
+static PyObject *__pyx_kp_s_Invalid_mode_expected_c_or_fortr;__pyx_kp_s_Invalid_mode_expected_c_or_fortr2272,87827
+static PyObject *__pyx_kp_s_Invalid_shape_in_axis_d_d;__pyx_kp_s_Invalid_shape_in_axis_d_d2273,87889
+static PyObject *__pyx_n_s_MemoryError;__pyx_n_s_MemoryError2274,87944
+static PyObject *__pyx_kp_s_MemoryView_of_r_at_0x_x;__pyx_kp_s_MemoryView_of_r_at_0x_x2275,87984
+static PyObject *__pyx_kp_s_MemoryView_of_r_object;__pyx_kp_s_MemoryView_of_r_object2276,88037
+static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor;__pyx_kp_u_Non_native_byte_order_not_suppor2277,88089
+static PyObject *__pyx_n_b_O;__pyx_n_b_O2278,88151
+static PyObject *__pyx_kp_s_Out_of_bounds_on_buffer_access_a;__pyx_kp_s_Out_of_bounds_on_buffer_access_a2279,88181
+static PyObject *__pyx_n_s_RuntimeError;__pyx_n_s_RuntimeError2280,88243
+static PyObject *__pyx_kp_s_Something_went_wrong;__pyx_kp_s_Something_went_wrong2281,88284
+static PyObject *__pyx_n_s_TypeError;__pyx_n_s_TypeError2282,88334
+static PyObject *__pyx_kp_s_Unable_to_convert_item_to_object;__pyx_kp_s_Unable_to_convert_item_to_object2283,88372
+static PyObject *__pyx_n_s_ValueError;__pyx_n_s_ValueError2284,88434
+static PyObject *__pyx_n_s_allocate_buffer;__pyx_n_s_allocate_buffer2285,88473
+static PyObject *__pyx_n_s_base;__pyx_n_s_base2286,88517
+static PyObject *__pyx_n_s_c;__pyx_n_s_c2287,88550
+static PyObject *__pyx_n_u_c;__pyx_n_u_c2288,88580
+static PyObject *__pyx_n_s_class;__pyx_n_s_class2289,88610
+static PyObject *__pyx_kp_s_contiguous_and_direct;__pyx_kp_s_contiguous_and_direct2290,88644
+static PyObject *__pyx_kp_s_contiguous_and_indirect;__pyx_kp_s_contiguous_and_indirect2291,88695
+static PyObject *__pyx_n_s_coupon_leg_pv;__pyx_n_s_coupon_leg_pv2292,88748
+static PyObject *__pyx_n_s_default_leg;__pyx_n_s_default_leg2293,88790
+static PyObject *__pyx_n_s_default_leg_pv;__pyx_n_s_default_leg_pv2294,88830
+static PyObject *__pyx_n_s_dtype_is_object;__pyx_n_s_dtype_is_object2295,88873
+static PyObject *__pyx_n_s_empty_like;__pyx_n_s_empty_like2296,88917
+static PyObject *__pyx_n_s_encode;__pyx_n_s_encode2297,88956
+static PyObject *__pyx_n_s_end_date;__pyx_n_s_end_date2298,88991
+static PyObject *__pyx_n_s_end_date_c;__pyx_n_s_end_date_c2299,89028
+static PyObject *__pyx_n_s_enumerate;__pyx_n_s_enumerate2300,89067
+static PyObject *__pyx_n_s_error;__pyx_n_s_error2301,89105
+static PyObject *__pyx_n_s_eta;__pyx_n_s_eta2302,89139
+static PyObject *__pyx_n_s_fee_leg;__pyx_n_s_fee_leg2303,89171
+static PyObject *__pyx_n_s_fixed_rate;__pyx_n_s_fixed_rate2304,89207
+static PyObject *__pyx_n_s_flags;__pyx_n_s_flags2305,89246
+static PyObject *__pyx_n_s_format;__pyx_n_s_format2306,89280
+static PyObject *__pyx_n_s_fortran;__pyx_n_s_fortran2307,89315
+static PyObject *__pyx_n_u_fortran;__pyx_n_u_fortran2308,89351
+static PyObject *__pyx_kp_s_got_differing_extents_in_dimensi;__pyx_kp_s_got_differing_extents_in_dimensi2309,89387
+static PyObject *__pyx_n_s_guess;__pyx_n_s_guess2310,89449
+static PyObject *__pyx_n_s_h;__pyx_n_s_h2311,89483
+static PyObject *__pyx_n_s_hi;__pyx_n_s_hi2312,89513
+static PyObject *__pyx_kp_s_home_guillaume_projects_code_py;__pyx_kp_s_home_guillaume_projects_code_py2313,89544
+static PyObject *__pyx_n_s_i;__pyx_n_s_i2314,89605
+static PyObject *__pyx_n_s_id;__pyx_n_s_id2315,89635
+static PyObject *__pyx_n_s_import;__pyx_n_s_import2316,89666
+static PyObject *__pyx_n_s_itemsize;__pyx_n_s_itemsize2317,89701
+static PyObject *__pyx_kp_s_itemsize_0_for_cython_array;__pyx_kp_s_itemsize_0_for_cython_array2318,89738
+static PyObject *__pyx_n_s_lo;__pyx_n_s_lo2319,89795
+static PyObject *__pyx_n_s_main;__pyx_n_s_main2320,89826
+static PyObject *__pyx_n_s_memview;__pyx_n_s_memview2321,89859
+static PyObject *__pyx_n_s_mode;__pyx_n_s_mode2322,89895
+static PyObject *__pyx_n_s_name;__pyx_n_s_name2323,89928
+static PyObject *__pyx_n_s_name_2;__pyx_n_s_name_22324,89961
+static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous;__pyx_kp_u_ndarray_is_not_C_contiguous2325,89996
+static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou;__pyx_kp_u_ndarray_is_not_Fortran_contiguou2326,90053
+static PyObject *__pyx_n_s_ndim;__pyx_n_s_ndim2327,90115
+static PyObject *__pyx_n_s_np;__pyx_n_s_np2328,90148
+static PyObject *__pyx_n_s_nspreads;__pyx_n_s_nspreads2329,90179
+static PyObject *__pyx_n_s_numpy;__pyx_n_s_numpy2330,90216
+static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to;__pyx_kp_s_numpy_core_multiarray_failed_to2331,90250
+static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor;__pyx_kp_s_numpy_core_umath_failed_to_impor2332,90311
+static PyObject *__pyx_n_s_obj;__pyx_n_s_obj2333,90373
+static PyObject *__pyx_n_s_pack;__pyx_n_s_pack2334,90405
+static PyObject *__pyx_n_s_params;__pyx_n_s_params2335,90438
+static PyObject *__pyx_n_s_pv;__pyx_n_s_pv2336,90473
+static PyObject *__pyx_n_s_pv_vec;__pyx_n_s_pv_vec2337,90504
+static PyObject *__pyx_n_s_pyisda_flat_hazard;__pyx_n_s_pyisda_flat_hazard2338,90539
+static PyObject *__pyx_n_s_pyx_getbuffer;__pyx_n_s_pyx_getbuffer2339,90586
+static PyObject *__pyx_n_s_pyx_vtable;__pyx_n_s_pyx_vtable2340,90628
+static PyObject *__pyx_n_s_range;__pyx_n_s_range2341,90667
+static PyObject *__pyx_n_s_recovery_rate;__pyx_n_s_recovery_rate2342,90701
+static PyObject *__pyx_n_s_sc;__pyx_n_s_sc2343,90743
+static PyObject *__pyx_n_s_shape;__pyx_n_s_shape2344,90774
+static PyObject *__pyx_n_s_size;__pyx_n_s_size2345,90808
+static PyObject *__pyx_n_s_spreads;__pyx_n_s_spreads2346,90841
+static PyObject *__pyx_n_s_start;__pyx_n_s_start2347,90877
+static PyObject *__pyx_n_s_start_date;__pyx_n_s_start_date2348,90911
+static PyObject *__pyx_n_s_start_date_c;__pyx_n_s_start_date_c2349,90950
+static PyObject *__pyx_n_s_step;__pyx_n_s_step2350,90991
+static PyObject *__pyx_n_s_step_in_date_c;__pyx_n_s_step_in_date_c2351,91024
+static PyObject *__pyx_n_s_stop;__pyx_n_s_stop2352,91067
+static PyObject *__pyx_kp_s_strided_and_direct;__pyx_kp_s_strided_and_direct2353,91100
+static PyObject *__pyx_kp_s_strided_and_direct_or_indirect;__pyx_kp_s_strided_and_direct_or_indirect2354,91148
+static PyObject *__pyx_kp_s_strided_and_indirect;__pyx_kp_s_strided_and_indirect2355,91208
+static PyObject *__pyx_n_s_strike_vec;__pyx_n_s_strike_vec2356,91258
+static PyObject *__pyx_n_s_struct;__pyx_n_s_struct2357,91297
+static PyObject *__pyx_n_s_stub_type;__pyx_n_s_stub_type2358,91332
+static PyObject *__pyx_n_s_test;__pyx_n_s_test2359,91370
+static PyObject *__pyx_n_s_trade_date;__pyx_n_s_trade_date2360,91403
+static PyObject *__pyx_n_s_trade_date_c;__pyx_n_s_trade_date_c2361,91442
+static PyObject *__pyx_kp_s_unable_to_allocate_array_data;__pyx_kp_s_unable_to_allocate_array_data2362,91483
+static PyObject *__pyx_kp_s_unable_to_allocate_shape_and_str;__pyx_kp_s_unable_to_allocate_shape_and_str2363,91542
+static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd;__pyx_kp_u_unknown_dtype_code_in_numpy_pxd2364,91604
+static PyObject *__pyx_n_s_unpack;__pyx_n_s_unpack2365,91665
+static PyObject *__pyx_n_s_value_date;__pyx_n_s_value_date2366,91700
+static PyObject *__pyx_n_s_value_date_c;__pyx_n_s_value_date_c2367,91739
+static PyObject *__pyx_n_s_yc;__pyx_n_s_yc2368,91780
+static PyObject *__pyx_n_s_zero_upfront;__pyx_n_s_zero_upfront2369,91811
+static PyObject *__pyx_int_0;__pyx_int_02410,98074
+static PyObject *__pyx_int_1;__pyx_int_12411,98104
+static PyObject *__pyx_int_neg_1;__pyx_int_neg_12412,98134
+static PyObject *__pyx_tuple_;__pyx_tuple_2413,98168
+static PyObject *__pyx_tuple__2;__pyx_tuple__22414,98199
+static PyObject *__pyx_tuple__3;__pyx_tuple__32415,98232
+static PyObject *__pyx_tuple__4;__pyx_tuple__42416,98265
+static PyObject *__pyx_tuple__5;__pyx_tuple__52417,98298
+static PyObject *__pyx_tuple__6;__pyx_tuple__62418,98331
+static PyObject *__pyx_tuple__7;__pyx_tuple__72419,98364
+static PyObject *__pyx_tuple__8;__pyx_tuple__82420,98397
+static PyObject *__pyx_tuple__9;__pyx_tuple__92421,98430
+static PyObject *__pyx_slice__21;__pyx_slice__212422,98463
+static PyObject *__pyx_slice__22;__pyx_slice__222423,98497
+static PyObject *__pyx_slice__23;__pyx_slice__232424,98531
+static PyObject *__pyx_tuple__10;__pyx_tuple__102425,98565
+static PyObject *__pyx_tuple__11;__pyx_tuple__112426,98599
+static PyObject *__pyx_tuple__12;__pyx_tuple__122427,98633
+static PyObject *__pyx_tuple__13;__pyx_tuple__132428,98667
+static PyObject *__pyx_tuple__14;__pyx_tuple__142429,98701
+static PyObject *__pyx_tuple__15;__pyx_tuple__152430,98735
+static PyObject *__pyx_tuple__16;__pyx_tuple__162431,98769
+static PyObject *__pyx_tuple__17;__pyx_tuple__172432,98803
+static PyObject *__pyx_tuple__18;__pyx_tuple__182433,98837
+static PyObject *__pyx_tuple__19;__pyx_tuple__192434,98871
+static PyObject *__pyx_tuple__20;__pyx_tuple__202435,98905
+static PyObject *__pyx_tuple__24;__pyx_tuple__242436,98939
+static PyObject *__pyx_tuple__25;__pyx_tuple__252437,98973
+static PyObject *__pyx_tuple__27;__pyx_tuple__272438,99007
+static PyObject *__pyx_tuple__29;__pyx_tuple__292439,99041
+static PyObject *__pyx_tuple__30;__pyx_tuple__302440,99075
+static PyObject *__pyx_tuple__31;__pyx_tuple__312441,99109
+static PyObject *__pyx_tuple__32;__pyx_tuple__322442,99143
+static PyObject *__pyx_tuple__33;__pyx_tuple__332443,99177
+static PyObject *__pyx_codeobj__26;__pyx_codeobj__262444,99211
+static PyObject *__pyx_codeobj__28;__pyx_codeobj__282445,99247
+static char __pyx_doc_6pyisda_11flat_hazard_strike_vec[] = "strike_vec(__Pyx_memviewslice spreads, YieldCurve yc, trade_date, value_date, start_date, end_date, double recovery_rate)\nComputes coupon and default leg for a vector of spreads";__pyx_doc_6pyisda_11flat_hazard_strike_vec2457,99749
+static PyMethodDef __pyx_mdef_6pyisda_11flat_hazard_1strike_vec = {"strike_vec", (PyCFunction)__pyx_pw_6pyisda_11flat_hazard_1strike_vec, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6pyisda_11flat_hazard_strike_vec};__pyx_mdef_6pyisda_11flat_hazard_1strike_vec2458,99990
+static PyObject *__pyx_pw_6pyisda_11flat_hazard_1strike_vec(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_11flat_hazard_1strike_vec2459,100201
+static PyObject *__pyx_pf_6pyisda_11flat_hazard_strike_vec(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_spreads, struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_yc, PyObject *__pyx_v_trade_date, PyObject *__pyx_v_value_date, PyObject *__pyx_v_start_date, PyObject *__pyx_v_end_date, double __pyx_v_recovery_rate) {__pyx_pf_6pyisda_11flat_hazard_strike_vec2565,105388
+static char __pyx_doc_6pyisda_11flat_hazard_2pv_vec[] = "pv_vec(__Pyx_memviewslice spreads, YieldCurve yc, trade_date, value_date, start_date, end_date, double recovery_rate, double fixed_rate)\nComputes vector of cds clean pvs for a vector of spreads";__pyx_doc_6pyisda_11flat_hazard_2pv_vec3066,129592
+static PyMethodDef __pyx_mdef_6pyisda_11flat_hazard_3pv_vec = {"pv_vec", (PyCFunction)__pyx_pw_6pyisda_11flat_hazard_3pv_vec, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6pyisda_11flat_hazard_2pv_vec};__pyx_mdef_6pyisda_11flat_hazard_3pv_vec3067,129846
+static PyObject *__pyx_pw_6pyisda_11flat_hazard_3pv_vec(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_11flat_hazard_3pv_vec3068,130042
+static PyObject *__pyx_pf_6pyisda_11flat_hazard_2pv_vec(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_spreads, struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_yc, PyObject *__pyx_v_trade_date, PyObject *__pyx_v_value_date, PyObject *__pyx_v_start_date, PyObject *__pyx_v_end_date, double __pyx_v_recovery_rate, double __pyx_v_fixed_rate) {__pyx_pf_6pyisda_11flat_hazard_2pv_vec3183,135779
+static CYTHON_INLINE void __pyx_f_7cpython_8datetime_import_datetime(void) {__pyx_f_7cpython_8datetime_import_datetime3766,161246
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_date_new(int __pyx_v_year, int __pyx_v_month, int __pyx_v_day) {__pyx_f_7cpython_8datetime_date_new3799,162319
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_time_new(int __pyx_v_hour, int __pyx_v_minute, int __pyx_v_second, int __pyx_v_microsecond, PyObject *__pyx_v_tz) {__pyx_f_7cpython_8datetime_time_new3846,164183
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_datetime_new(int __pyx_v_year, int __pyx_v_month, int __pyx_v_day, int __pyx_v_hour, int __pyx_v_minute, int __pyx_v_second, int __pyx_v_microsecond, PyObject *__pyx_v_tz) {__pyx_f_7cpython_8datetime_datetime_new3893,166317
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_timedelta_new(int __pyx_v_days, int __pyx_v_seconds, int __pyx_v_useconds) {__pyx_f_7cpython_8datetime_timedelta_new3940,168620
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_time_tzinfo(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_tzinfo3987,170422
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_datetime_tzinfo(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_tzinfo4061,172517
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_year(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_year4135,174610
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_month(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_month4172,175456
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_day(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_day4209,176303
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_year(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_year4246,177148
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_month(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_month4283,178030
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_day(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_day4320,178913
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_hour(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_hour4357,179775
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_minute(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_minute4394,180645
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_second(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_second4431,181533
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_microsecond(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_microsecond4468,182441
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_hour(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_hour4505,183378
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_minute(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_minute4542,184284
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_second(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_second4579,185208
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_microsecond(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_microsecond4616,186152
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_days(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_days4653,187116
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_seconds(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_seconds4690,188037
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_microseconds(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_microseconds4726,189001
+static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_pw_5numpy_7ndarray_1__getbuffer__4762,190404
+static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_pf_5numpy_7ndarray___getbuffer__4773,190861
+static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {__pyx_pw_5numpy_7ndarray_3__releasebuffer__5634,227659
+static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) {__pyx_pf_5numpy_7ndarray_2__releasebuffer__5643,228046
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {__pyx_f_5numpy_PyArray_MultiIterNew15724,231410
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {__pyx_f_5numpy_PyArray_MultiIterNew25771,233008
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {__pyx_f_5numpy_PyArray_MultiIterNew35818,234711
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {__pyx_f_5numpy_PyArray_MultiIterNew45865,236521
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {__pyx_f_5numpy_PyArray_MultiIterNew55912,238437
+static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {__pyx_f_5numpy__util_dtypestring5959,240566
+static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {__pyx_f_5numpy_set_array_base6714,277310
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {__pyx_f_5numpy_get_array_base6810,280550
+static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {__pyx_f_5numpy_import_array6884,282772
+static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {__pyx_f_5numpy_import_umath7015,287363
+static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {__pyx_f_5numpy_import_ufunc7146,291882
+static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_array___cinit__7276,296446
+static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, PyObject *__pyx_v_format, PyObject *__pyx_v_mode, int __pyx_v_allocate_buffer) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__7390,301339
+static CYTHON_UNUSED int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_array_getbuffer8002,323145
+static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(struct __pyx_array_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__8013,323619
+static void __pyx_array___dealloc__(PyObject *__pyx_v_self) {__pyx_array___dealloc__8304,333370
+static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(struct __pyx_array_obj *__pyx_v_self) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__8313,333691
+static PyObject *__pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__8435,337894
+static PyObject *__pyx_pf_15View_dot_MemoryView_5array_7memview___get__(struct __pyx_array_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_5array_7memview___get__8446,338293
+static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *__pyx_v_self) {__pyx_array_get_memview8493,339683
+static PyObject *__pyx_array___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_attr) {__pyx_array___getattr__8572,342468
+static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__getattr__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_attr) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__getattr__8583,342899
+static PyObject *__pyx_array___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item) {__pyx_array___getitem__8637,344617
+static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getitem__8648,345048
+static int __pyx_array___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) {__pyx_array___setitem__8702,346818
+static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__setitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__setitem__8713,347288
+static struct __pyx_array_obj *__pyx_array_new(PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, char *__pyx_v_format, char *__pyx_v_mode, char *__pyx_v_buf) {__pyx_array_new8759,348785
+static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_MemviewEnum___init__8933,355303
+static int __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v_name) {__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__8980,357151
+static PyObject *__pyx_MemviewEnum___repr__(PyObject *__pyx_v_self) {__pyx_MemviewEnum___repr__9022,358333
+static PyObject *__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(struct __pyx_MemviewEnum_obj *__pyx_v_self) {__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__9033,358720
+static void *__pyx_align_pointer(void *__pyx_v_memory, size_t __pyx_v_alignment) {__pyx_align_pointer9073,359841
+static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_memoryview___cinit__9158,362161
+static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_flags, int __pyx_v_dtype_is_object) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__9229,365265
+static void __pyx_memoryview___dealloc__(PyObject *__pyx_v_self) {__pyx_memoryview___dealloc__9525,376135
+static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__9534,376477
+static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index) {__pyx_memoryview_get_item_pointer9713,383953
+static PyObject *__pyx_memoryview___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index) {__pyx_memoryview___getitem__9850,389044
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__9861,389498
+static int __pyx_memoryview___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {__pyx_memoryview___setitem__10040,395488
+static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__10051,395980
+static PyObject *__pyx_memoryview_is_slice(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj) {__pyx_memoryview_is_slice10235,403042
+static PyObject *__pyx_memoryview_setitem_slice_assignment(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src) {__pyx_memoryview_setitem_slice_assignment10446,410484
+static PyObject *__pyx_memoryview_setitem_slice_assign_scalar(struct __pyx_memoryview_obj *__pyx_v_self, struct __pyx_memoryview_obj *__pyx_v_dst, PyObject *__pyx_v_value) {__pyx_memoryview_setitem_slice_assign_scalar10529,414514
+static PyObject *__pyx_memoryview_setitem_indexed(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {__pyx_memoryview_setitem_indexed10815,424363
+static PyObject *__pyx_memoryview_convert_item_to_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp) {__pyx_memoryview_convert_item_to_object10873,426617
+static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value) {__pyx_memoryview_assign_item_from_object11147,436925
+static CYTHON_UNUSED int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_memoryview_getbuffer11385,445933
+static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(struct __pyx_memoryview_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__11396,446428
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__11669,454059
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__11680,454463
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__11752,456925
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__11763,457335
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__11805,458394
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__11816,458806
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__11883,461092
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__11894,461508
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__11994,464952
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__12005,465376
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__12109,468926
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__12120,469336
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__12169,470696
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__12180,471114
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__12229,472507
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__12240,472921
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__12299,474847
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__12310,475257
+static Py_ssize_t __pyx_memoryview___len__(PyObject *__pyx_v_self) {__pyx_memoryview___len__12437,478902
+static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__12448,479289
+static PyObject *__pyx_memoryview___repr__(PyObject *__pyx_v_self) {__pyx_memoryview___repr__12517,481037
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__12528,481429
+static PyObject *__pyx_memoryview___str__(PyObject *__pyx_v_self) {__pyx_memoryview___str__12622,485046
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__12633,485435
+static PyObject *__pyx_memoryview_is_c_contig(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_memoryview_is_c_contig12698,487847
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig12709,488280
+static PyObject *__pyx_memoryview_is_f_contig(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_memoryview_is_f_contig12769,490380
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig12780,490813
+static PyObject *__pyx_memoryview_copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_memoryview_copy12840,492975
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy12851,493387
+static PyObject *__pyx_memoryview_copy_fortran(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_memoryview_copy_fortran12931,496392
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran12942,496828
+static PyObject *__pyx_memoryview_new(PyObject *__pyx_v_o, int __pyx_v_flags, int __pyx_v_dtype_is_object, __Pyx_TypeInfo *__pyx_v_typeinfo) {__pyx_memoryview_new13021,499750
+static CYTHON_INLINE int __pyx_memoryview_check(PyObject *__pyx_v_o) {__pyx_memoryview_check13109,503022
+static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {_unellipsify13148,504086
+static PyObject *assert_direct_dimensions(Py_ssize_t *__pyx_v_suboffsets, int __pyx_v_ndim) {assert_direct_dimensions13607,519964
+static struct __pyx_memoryview_obj *__pyx_memview_slice(struct __pyx_memoryview_obj *__pyx_v_memview, PyObject *__pyx_v_indices) {__pyx_memview_slice13692,522820
+static int __pyx_memoryview_slice_memviewslice(__Pyx_memviewslice *__pyx_v_dst, Py_ssize_t __pyx_v_shape, Py_ssize_t __pyx_v_stride, Py_ssize_t __pyx_v_suboffset, int __pyx_v_dim, int __pyx_v_new_ndim, int *__pyx_v_suboffset_dim, Py_ssize_t __pyx_v_start, Py_ssize_t __pyx_v_stop, Py_ssize_t __pyx_v_step, int __pyx_v_have_start, int __pyx_v_have_stop, int __pyx_v_have_step, int __pyx_v_is_slice) {__pyx_memoryview_slice_memviewslice14269,544579
+static char *__pyx_pybuffer_index(Py_buffer *__pyx_v_view, char *__pyx_v_bufp, Py_ssize_t __pyx_v_index, Py_ssize_t __pyx_v_dim) {__pyx_pybuffer_index15050,566061
+static int __pyx_memslice_transpose(__Pyx_memviewslice *__pyx_v_memslice) {__pyx_memslice_transpose15366,576350
+static void __pyx_memoryviewslice___dealloc__(PyObject *__pyx_v_self) {__pyx_memoryviewslice___dealloc__15537,581621
+static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(struct __pyx_memoryviewslice_obj *__pyx_v_self) {__pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__15546,581983
+static PyObject *__pyx_memoryviewslice_convert_item_to_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp) {__pyx_memoryviewslice_convert_item_to_object15579,582998
+static PyObject *__pyx_memoryviewslice_assign_item_from_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value) {__pyx_memoryviewslice_assign_item_from_object15662,585826
+static PyObject *__pyx_pw_15View_dot_MemoryView_16_memoryviewslice_4base_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_16_memoryviewslice_4base_1__get__15744,588664
+static PyObject *__pyx_pf_15View_dot_MemoryView_16_memoryviewslice_4base___get__(struct __pyx_memoryviewslice_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_16_memoryviewslice_4base___get__15755,589091
+static PyObject *__pyx_memoryview_fromslice(__Pyx_memviewslice __pyx_v_memviewslice, int __pyx_v_ndim, PyObject *(*__pyx_v_to_object_func)(char *), int (*__pyx_v_to_dtype_func)(char *, PyObject *), int __pyx_v_dtype_is_object) {__pyx_memoryview_fromslice15795,590223
+static __Pyx_memviewslice *__pyx_memoryview_get_slice_from_memoryview(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_mslice) {__pyx_memoryview_get_slice_from_memoryview16147,602266
+static void __pyx_memoryview_slice_copy(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_dst) {__pyx_memoryview_slice_copy16247,605595
+static PyObject *__pyx_memoryview_copy_object(struct __pyx_memoryview_obj *__pyx_v_memview) {__pyx_memoryview_copy_object16371,609467
+static PyObject *__pyx_memoryview_copy_object_from_slice(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_memviewslice) {__pyx_memoryview_copy_object_from_slice16428,611432
+static Py_ssize_t abs_py_ssize_t(Py_ssize_t __pyx_v_arg) {abs_py_ssize_t16551,615763
+static char __pyx_get_best_slice_order(__Pyx_memviewslice *__pyx_v_mslice, int __pyx_v_ndim) {__pyx_get_best_slice_order16617,617241
+static void _copy_strided_to_strided(char *__pyx_v_src_data, Py_ssize_t *__pyx_v_src_strides, char *__pyx_v_dst_data, Py_ssize_t *__pyx_v_dst_strides, Py_ssize_t *__pyx_v_src_shape, Py_ssize_t *__pyx_v_dst_shape, int __pyx_v_ndim, size_t __pyx_v_itemsize) {_copy_strided_to_strided16805,622168
+static void copy_strided_to_strided(__Pyx_memviewslice *__pyx_v_src, __Pyx_memviewslice *__pyx_v_dst, int __pyx_v_ndim, size_t __pyx_v_itemsize) {copy_strided_to_strided17039,630445
+static Py_ssize_t __pyx_memoryview_slice_get_size(__Pyx_memviewslice *__pyx_v_src, int __pyx_v_ndim) {__pyx_memoryview_slice_get_size17069,631734
+static Py_ssize_t __pyx_fill_contig_strides_array(Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, Py_ssize_t __pyx_v_stride, int __pyx_v_ndim, char __pyx_v_order) {__pyx_fill_contig_strides_array17139,633654
+static void *__pyx_memoryview_copy_data_to_temp(__Pyx_memviewslice *__pyx_v_src, __Pyx_memviewslice *__pyx_v_tmpslice, char __pyx_v_order, int __pyx_v_ndim) {__pyx_memoryview_copy_data_to_temp17259,637091
+static int __pyx_memoryview_err_extents(int __pyx_v_i, Py_ssize_t __pyx_v_extent1, Py_ssize_t __pyx_v_extent2) {__pyx_memoryview_err_extents17508,644258
+static int __pyx_memoryview_err_dim(PyObject *__pyx_v_error, char *__pyx_v_msg, int __pyx_v_dim) {__pyx_memoryview_err_dim17598,647864
+static int __pyx_memoryview_err(PyObject *__pyx_v_error, char *__pyx_v_msg) {__pyx_memoryview_err17711,652214
+static int __pyx_memoryview_copy_contents(__Pyx_memviewslice __pyx_v_src, __Pyx_memviewslice __pyx_v_dst, int __pyx_v_src_ndim, int __pyx_v_dst_ndim, int __pyx_v_dtype_is_object) {__pyx_memoryview_copy_contents17850,657163
+static void __pyx_memoryview_broadcast_leading(__Pyx_memviewslice *__pyx_v_mslice, int __pyx_v_ndim, int __pyx_v_ndim_other) {__pyx_memoryview_broadcast_leading18424,675325
+static void __pyx_memoryview_refcount_copying(__Pyx_memviewslice *__pyx_v_dst, int __pyx_v_dtype_is_object, int __pyx_v_ndim, int __pyx_v_inc) {__pyx_memoryview_refcount_copying18535,679015
+static void __pyx_memoryview_refcount_objects_in_slice_with_gil(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, int __pyx_v_inc) {__pyx_memoryview_refcount_objects_in_slice_with_gil18585,680734
+static void __pyx_memoryview_refcount_objects_in_slice(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, int __pyx_v_inc) {__pyx_memoryview_refcount_objects_in_slice18624,682347
+static void __pyx_memoryview_slice_assign_scalar(__Pyx_memviewslice *__pyx_v_dst, int __pyx_v_ndim, size_t __pyx_v_itemsize, void *__pyx_v_item, int __pyx_v_dtype_is_object) {__pyx_memoryview_slice_assign_scalar18754,686296
+static void __pyx_memoryview__slice_assign_scalar(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, size_t __pyx_v_itemsize, void *__pyx_v_item) {__pyx_memoryview__slice_assign_scalar18802,688406
+static struct __pyx_vtabstruct_array __pyx_vtable_array;__pyx_vtable_array18921,692135
+static PyObject *__pyx_tp_new_array(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new_array18923,692193
+static void __pyx_tp_dealloc_array(PyObject *o) {__pyx_tp_dealloc_array18943,692835
+static PyObject *__pyx_sq_item_array(PyObject *o, Py_ssize_t i) {__pyx_sq_item_array18962,693408
+static int __pyx_mp_ass_subscript_array(PyObject *o, PyObject *i, PyObject *v) {__pyx_mp_ass_subscript_array18970,693628
+static PyObject *__pyx_tp_getattro_array(PyObject *o, PyObject *n) {__pyx_tp_getattro_array18981,693918
+static PyObject *__pyx_getprop___pyx_array_memview(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_array_memview18990,694171
+static PyMethodDef __pyx_methods_array[] = {__pyx_methods_array18994,694332
+static struct PyGetSetDef __pyx_getsets_array[] = {__pyx_getsets_array18999,694477
+static PySequenceMethods __pyx_tp_as_sequence_array = {__pyx_tp_as_sequence_array19004,694626
+static PyMappingMethods __pyx_tp_as_mapping_array = {__pyx_tp_as_mapping_array19017,694914
+static PyBufferProcs __pyx_tp_as_buffer_array = {__pyx_tp_as_buffer_array19023,695088
+static PyTypeObject __pyx_type___pyx_array = {__pyx_type___pyx_array19040,695457
+static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {__pyx_tp_new_Enum19098,696937
+static void __pyx_tp_dealloc_Enum(PyObject *o) {__pyx_tp_dealloc_Enum19112,697402
+static int __pyx_tp_traverse_Enum(PyObject *o, visitproc v, void *a) {__pyx_tp_traverse_Enum19124,697769
+static int __pyx_tp_clear_Enum(PyObject *o) {__pyx_tp_clear_Enum19133,697999
+static PyMethodDef __pyx_methods_Enum[] = {__pyx_methods_Enum19142,698238
+static PyTypeObject __pyx_type___pyx_MemviewEnum = {__pyx_type___pyx_MemviewEnum19146,698301
+static struct __pyx_vtabstruct_memoryview __pyx_vtable_memoryview;__pyx_vtable_memoryview19203,699781
+static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new_memoryview19205,699849
+static void __pyx_tp_dealloc_memoryview(PyObject *o) {__pyx_tp_dealloc_memoryview19227,700562
+static int __pyx_tp_traverse_memoryview(PyObject *o, visitproc v, void *a) {__pyx_tp_traverse_memoryview19249,701181
+static int __pyx_tp_clear_memoryview(PyObject *o) {__pyx_tp_clear_memoryview19267,701639
+static PyObject *__pyx_sq_item_memoryview(PyObject *o, Py_ssize_t i) {__pyx_sq_item_memoryview19282,702110
+static int __pyx_mp_ass_subscript_memoryview(PyObject *o, PyObject *i, PyObject *v) {__pyx_mp_ass_subscript_memoryview19290,702335
+static PyObject *__pyx_getprop___pyx_memoryview_T(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_T19301,702635
+static PyObject *__pyx_getprop___pyx_memoryview_base(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_base19305,702795
+static PyObject *__pyx_getprop___pyx_memoryview_shape(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_shape19309,702961
+static PyObject *__pyx_getprop___pyx_memoryview_strides(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_strides19313,703129
+static PyObject *__pyx_getprop___pyx_memoryview_suboffsets(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_suboffsets19317,703301
+static PyObject *__pyx_getprop___pyx_memoryview_ndim(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_ndim19321,703480
+static PyObject *__pyx_getprop___pyx_memoryview_itemsize(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_itemsize19325,703646
+static PyObject *__pyx_getprop___pyx_memoryview_nbytes(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_nbytes19329,703820
+static PyObject *__pyx_getprop___pyx_memoryview_size(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_size19333,703990
+static PyMethodDef __pyx_methods_memoryview[] = {__pyx_methods_memoryview19337,704156
+static struct PyGetSetDef __pyx_getsets_memoryview[] = {__pyx_getsets_memoryview19345,704525
+static PySequenceMethods __pyx_tp_as_sequence_memoryview = {__pyx_tp_as_sequence_memoryview19358,705296
+static PyMappingMethods __pyx_tp_as_mapping_memoryview = {__pyx_tp_as_mapping_memoryview19371,705617
+static PyBufferProcs __pyx_tp_as_buffer_memoryview = {__pyx_tp_as_buffer_memoryview19377,705829
+static PyTypeObject __pyx_type___pyx_memoryview = {__pyx_type___pyx_memoryview19394,706208
+static struct __pyx_vtabstruct__memoryviewslice __pyx_vtable__memoryviewslice;__pyx_vtable__memoryviewslice19451,707832
+static PyObject *__pyx_tp_new__memoryviewslice(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new__memoryviewslice19453,707912
+static void __pyx_tp_dealloc__memoryviewslice(PyObject *o) {__pyx_tp_dealloc__memoryviewslice19464,708363
+static int __pyx_tp_traverse__memoryviewslice(PyObject *o, visitproc v, void *a) {__pyx_tp_traverse__memoryviewslice19485,708985
+static int __pyx_tp_clear__memoryviewslice(PyObject *o) {__pyx_tp_clear__memoryviewslice19495,709311
+static PyObject *__pyx_getprop___pyx_memoryviewslice_base(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryviewslice_base19506,709657
+static PyMethodDef __pyx_methods__memoryviewslice[] = {__pyx_methods__memoryviewslice19510,709834
+static struct PyGetSetDef __pyx_getsets__memoryviewslice[] = {__pyx_getsets__memoryviewslice19514,709909
+static PyTypeObject __pyx_type___pyx_memoryviewslice = {__pyx_type___pyx_memoryviewslice19519,710073
+static PyMethodDef __pyx_methods[] = {__pyx_methods19585,711844
+static struct PyModuleDef __pyx_moduledef = {__pyx_moduledef19590,711928
+static __Pyx_StringTabEntry __pyx_string_tab[] = {__pyx_string_tab19607,712303
+static int __Pyx_InitCachedBuiltins(void) {__Pyx_InitCachedBuiltins19719,722860
+static int __Pyx_InitCachedConstants(void) {__Pyx_InitCachedConstants19735,724290
+static int __Pyx_InitGlobals(void) {__Pyx_InitGlobals20089,741658
+PyMODINIT_FUNC initflat_hazard(void)initflat_hazard20101,742189
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {__Pyx_RefNannyImportAPI20480,762439
+static PyObject *__Pyx_GetBuiltinName(PyObject *name) {__Pyx_GetBuiltinName20496,762867
+static void __Pyx_RaiseArgtupleInvalid(__Pyx_RaiseArgtupleInvalid20510,763267
+static void __Pyx_RaiseDoubleKeywordsError(__Pyx_RaiseDoubleKeywordsError20536,764032
+static int __Pyx_ParseOptionalKeywords(__Pyx_ParseOptionalKeywords20550,764441
+static void __Pyx_RaiseArgumentTypeInvalid(const char* name, PyObject *obj, PyTypeObject *type) {__Pyx_RaiseArgumentTypeInvalid20652,768013
+static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,__Pyx_ArgTypeTest20657,768278
+static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {__Pyx_TypeTest20679,768975
+static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {__Pyx_GetModuleGlobalName20692,769403
+static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {__Pyx_PyCFunction_FastCall20711,769868
+static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,__Pyx_PyFunction_FastCallNoKw20730,770746
+static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) {__Pyx_PyFunction_FastCallDict20759,771675
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {__Pyx_PyObject_Call20849,774558
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallMethO20869,775232
+static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx__PyObject_CallOneArg20889,775888
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallOneArg20899,776212
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallOneArg20921,776956
+ static CYTHON_INLINE int __Pyx_IsLittleEndian(void) {__Pyx_IsLittleEndian20932,777275
+static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,__Pyx_BufFmt_Init20936,777394
+static int __Pyx_BufFmt_ParseNumber(const char** ts) {__Pyx_BufFmt_ParseNumber20963,778178
+static int __Pyx_BufFmt_ExpectNumber(const char **ts) {__Pyx_BufFmt_ExpectNumber20978,778510
+static void __Pyx_BufFmt_RaiseUnexpectedChar(char ch) {__Pyx_BufFmt_RaiseUnexpectedChar20985,778791
+static const char* __Pyx_BufFmt_DescribeTypeChar(char ch, int is_complex) {__Pyx_BufFmt_DescribeTypeChar20989,778946
+static size_t __Pyx_BufFmt_TypeCharToStandardSize(char ch, int is_complex) {__Pyx_BufFmt_TypeCharToStandardSize21013,779885
+static size_t __Pyx_BufFmt_TypeCharToNativeSize(char ch, int is_complex) {__Pyx_BufFmt_TypeCharToNativeSize21031,780547
+typedef struct { char c; short x; } __Pyx_st_short;c21050,781244
+typedef struct { char c; short x; } __Pyx_st_short;x21050,781244
+typedef struct { char c; short x; } __Pyx_st_short;__Pyx_st_short21050,781244
+typedef struct { char c; int x; } __Pyx_st_int;c21051,781296
+typedef struct { char c; int x; } __Pyx_st_int;x21051,781296
+typedef struct { char c; int x; } __Pyx_st_int;__Pyx_st_int21051,781296
+typedef struct { char c; long x; } __Pyx_st_long;c21052,781344
+typedef struct { char c; long x; } __Pyx_st_long;x21052,781344
+typedef struct { char c; long x; } __Pyx_st_long;__Pyx_st_long21052,781344
+typedef struct { char c; float x; } __Pyx_st_float;c21053,781394
+typedef struct { char c; float x; } __Pyx_st_float;x21053,781394
+typedef struct { char c; float x; } __Pyx_st_float;__Pyx_st_float21053,781394
+typedef struct { char c; double x; } __Pyx_st_double;c21054,781446
+typedef struct { char c; double x; } __Pyx_st_double;x21054,781446
+typedef struct { char c; double x; } __Pyx_st_double;__Pyx_st_double21054,781446
+typedef struct { char c; long double x; } __Pyx_st_longdouble;c21055,781500
+typedef struct { char c; long double x; } __Pyx_st_longdouble;x21055,781500
+typedef struct { char c; long double x; } __Pyx_st_longdouble;__Pyx_st_longdouble21055,781500
+typedef struct { char c; void *x; } __Pyx_st_void_p;c21056,781563
+typedef struct { char c; void *x; } __Pyx_st_void_p;x21056,781563
+typedef struct { char c; void *x; } __Pyx_st_void_p;__Pyx_st_void_p21056,781563
+typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;c21058,781638
+typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;x21058,781638
+typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;__Pyx_st_longlong21058,781638
+static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, CYTHON_UNUSED int is_complex) {__Pyx_BufFmt_TypeCharToAlignment21060,781707
+typedef struct { short x; char c; } __Pyx_pad_short;x21082,782741
+typedef struct { short x; char c; } __Pyx_pad_short;c21082,782741
+typedef struct { short x; char c; } __Pyx_pad_short;__Pyx_pad_short21082,782741
+typedef struct { int x; char c; } __Pyx_pad_int;x21083,782794
+typedef struct { int x; char c; } __Pyx_pad_int;c21083,782794
+typedef struct { int x; char c; } __Pyx_pad_int;__Pyx_pad_int21083,782794
+typedef struct { long x; char c; } __Pyx_pad_long;x21084,782843
+typedef struct { long x; char c; } __Pyx_pad_long;c21084,782843
+typedef struct { long x; char c; } __Pyx_pad_long;__Pyx_pad_long21084,782843
+typedef struct { float x; char c; } __Pyx_pad_float;x21085,782894
+typedef struct { float x; char c; } __Pyx_pad_float;c21085,782894
+typedef struct { float x; char c; } __Pyx_pad_float;__Pyx_pad_float21085,782894
+typedef struct { double x; char c; } __Pyx_pad_double;x21086,782947
+typedef struct { double x; char c; } __Pyx_pad_double;c21086,782947
+typedef struct { double x; char c; } __Pyx_pad_double;__Pyx_pad_double21086,782947
+typedef struct { long double x; char c; } __Pyx_pad_longdouble;x21087,783002
+typedef struct { long double x; char c; } __Pyx_pad_longdouble;c21087,783002
+typedef struct { long double x; char c; } __Pyx_pad_longdouble;__Pyx_pad_longdouble21087,783002
+typedef struct { void *x; char c; } __Pyx_pad_void_p;x21088,783066
+typedef struct { void *x; char c; } __Pyx_pad_void_p;c21088,783066
+typedef struct { void *x; char c; } __Pyx_pad_void_p;__Pyx_pad_void_p21088,783066
+typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;x21090,783142
+typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;c21090,783142
+typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;__Pyx_pad_longlong21090,783142
+static size_t __Pyx_BufFmt_TypeCharToPadding(char ch, CYTHON_UNUSED int is_complex) {__Pyx_BufFmt_TypeCharToPadding21092,783212
+static char __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) {__Pyx_BufFmt_TypeCharToGroup21110,784062
+static void __Pyx_BufFmt_RaiseExpected(__Pyx_BufFmt_Context* ctx) {__Pyx_BufFmt_RaiseExpected21131,784582
+static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) {__Pyx_BufFmt_ProcessTypeChunk21155,785529
+__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)__pyx_buffmt_parse_array21258,789322
+static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) {__Pyx_BufFmt_CheckString21301,790915
+static CYTHON_INLINE void __Pyx_ZeroBuffer(Py_buffer* buf) {__Pyx_ZeroBuffer21434,794931
+static CYTHON_INLINE int __Pyx_GetBufferAndValidate(__Pyx_GetBufferAndValidate21441,795127
+static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) {__Pyx_SafeReleaseBuffer21475,796308
+static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {__Pyx_ErrRestoreInState21483,796569
+static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx_ErrFetchInState21495,797029
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,__Pyx_Raise21507,797411
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {__Pyx_Raise21558,798891
+__Pyx_init_memviewslice(struct __pyx_memoryview_obj *memview,__Pyx_init_memviewslice21670,802564
+static CYTHON_INLINE void __pyx_fatalerror(const char *fmt, ...) {__pyx_fatalerror21722,804165
+__pyx_add_acquisition_count_locked(__pyx_atomic_int *acquisition_count,__pyx_add_acquisition_count_locked21735,804467
+__pyx_sub_acquisition_count_locked(__pyx_atomic_int *acquisition_count,__pyx_sub_acquisition_count_locked21745,804769
+__Pyx_INC_MEMVIEW(__Pyx_memviewslice *memslice, int have_gil, int lineno)__Pyx_INC_MEMVIEW21755,805072
+static CYTHON_INLINE void __Pyx_XDEC_MEMVIEW(__Pyx_memviewslice *memslice,__Pyx_XDEC_MEMVIEW21775,805807
+ static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {__Pyx_RaiseTooManyValuesError21804,806786
+ static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {__Pyx_RaiseNeedMoreValuesError21810,807041
+ static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {__Pyx_RaiseNoneNotIterableError21817,807322
+static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx__ExceptionSave21823,807536
+static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {__Pyx__ExceptionReset21831,807823
+static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {__Pyx_PyErr_ExceptionMatchesInState21847,808336
+static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx__GetException21857,808678
+ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {__Pyx_PyBytes_Equals21917,810376
+ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {__Pyx_PyUnicode_Equals21955,811691
+ static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t a, Py_ssize_t b) {__Pyx_div_Py_ssize_t22039,814404
+ static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {__Pyx_GetAttr22047,814619
+ static CYTHON_INLINE PyObject* __Pyx_decode_c_string(__Pyx_decode_c_string22060,814959
+static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx__ExceptionSwap22094,816109
+static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {__Pyx_ExceptionSwap22107,816547
+ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {__Pyx_Import22118,816873
+ static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {__Pyx_GetItemInt_Generic22192,819161
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,__Pyx_GetItemInt_List_Fast22199,819363
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,__Pyx_GetItemInt_Tuple_Fast22214,820045
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,__Pyx_GetItemInt_Fast22229,820731
+static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED int inplace) {__Pyx_PyInt_AddObjC22274,822493
+ static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {__Pyx_RaiseUnboundLocalError22389,828133
+ static CYTHON_INLINE long __Pyx_div_long(long a, long b) {__Pyx_div_long22394,828339
+ static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,__Pyx_WriteUnraisable22402,828535
+ static int __Pyx_SetVtable(PyObject *dict, void *vtable) {__Pyx_SetVtable22444,829741
+ static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {__pyx_bisect_code_objects22462,830164
+static PyCodeObject *__pyx_find_code_object(int code_line) {__pyx_find_code_object22483,830803
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {__pyx_insert_code_object22497,831363
+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(__Pyx_CreateCodeObjectForTraceback22545,833159
+static void __Pyx_AddTraceback(const char *funcname, int c_line,__Pyx_AddTraceback22597,834768
+static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) {__Pyx_GetBuffer22623,835698
+static void __Pyx_ReleaseBuffer(Py_buffer *view) {__Pyx_ReleaseBuffer22631,836319
+__pyx_memviewslice_is_contig(const __Pyx_memviewslice mvs,__pyx_memviewslice_is_contig22647,836758
+__pyx_get_array_memory_extents(__Pyx_memviewslice *slice,__pyx_get_array_memory_extents22670,837350
+__pyx_slices_overlap(__Pyx_memviewslice *slice1,__pyx_slices_overlap22694,838053
+__pyx_capsule_create(void *p, CYTHON_UNUSED const char *sig)__pyx_capsule_create22706,838500
+__pyx_typeinfo_cmp(__Pyx_TypeInfo *a, __Pyx_TypeInfo *b)__pyx_typeinfo_cmp22719,838775
+__pyx_check_strides(Py_buffer *buf, int dim, int ndim, int spec)__pyx_check_strides22760,840047
+__pyx_check_suboffsets(Py_buffer *buf, int dim, CYTHON_UNUSED int ndim, int spec)__pyx_check_suboffsets22813,842044
+__pyx_verify_contig(Py_buffer *buf, int ndim, int c_or_f_flag)__pyx_verify_contig22836,842790
+static int __Pyx_ValidateAndInit_memviewslice(__Pyx_ValidateAndInit_memviewslice22867,843754
+ static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_ds_double(PyObject *obj) {__Pyx_PyObject_to_MemoryviewSlice_ds_double22941,846460
+ static CYTHON_INLINE PyObject *__pyx_memview_get_double(const char *itemp) {__pyx_memview_get_double22964,847348
+static CYTHON_INLINE int __pyx_memview_set_double(const char *itemp, PyObject *obj) {__pyx_memview_set_double22967,847500
+ #define __PYX_VERIFY_RETURN_INT(__PYX_VERIFY_RETURN_INT22976,847774
+#define __PYX_VERIFY_RETURN_INT_EXC(__PYX_VERIFY_RETURN_INT_EXC22978,847921
+#define __PYX__VERIFY_RETURN_INT(__PYX__VERIFY_RETURN_INT22980,848062
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_Py_intptr_t(Py_intptr_t value) {__Pyx_PyInt_From_Py_intptr_t22998,848730
+ static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {__pyx_t_float_complex_from_parts23031,850015
+ static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {__pyx_t_float_complex_from_parts23035,850173
+ static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {__pyx_t_float_complex_from_parts23040,850348
+ static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_eq_float23051,850598
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_sum_float23054,850758
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_diff_float23060,851000
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_prod_float23066,851243
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_quot_float23073,851532
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_quot_float23093,852476
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) {__Pyx_c_neg_float23104,852989
+ static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) {__Pyx_c_is_zero_float23110,853190
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) {__Pyx_c_conj_float23113,853320
+ static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) {__Pyx_c_abs_float23120,853532
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_pow_float23127,853811
+ static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {__pyx_t_double_complex_from_parts23186,855945
+ static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {__pyx_t_double_complex_from_parts23190,856108
+ static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {__pyx_t_double_complex_from_parts23195,856288
+ static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_eq_double23206,856543
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_sum_double23209,856706
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_diff_double23215,856953
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_prod_double23221,857201
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_quot_double23228,857495
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_quot_double23248,858449
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) {__Pyx_c_neg_double23259,858969
+ static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) {__Pyx_c_is_zero_double23265,859174
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) {__Pyx_c_conj_double23268,859306
+ static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) {__Pyx_c_abs_double23275,859522
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_pow_double23282,859802
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {__Pyx_PyInt_From_int23339,861888
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value) {__Pyx_PyInt_From_enum__NPY_TYPES23370,863030
+__pyx_memoryview_copy_new_contig(const __Pyx_memviewslice *from_mvs,__pyx_memoryview_copy_new_contig23402,864346
+ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {__Pyx_PyInt_As_long23468,866772
+ static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) {__Pyx_PyInt_As_size_t23657,876598
+ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {__Pyx_PyInt_As_int23846,886618
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {__Pyx_PyInt_From_long24035,896345
+ static CYTHON_INLINE char __Pyx_PyInt_As_char(PyObject *x) {__Pyx_PyInt_As_char24066,897500
+ static int __Pyx_check_binary_version(void) {__Pyx_check_binary_version24255,907334
+#define __PYX_HAVE_RT_ImportModule__PYX_HAVE_RT_ImportModule24272,908032
+static PyObject *__Pyx_ImportModule(const char *name) {__Pyx_ImportModule24273,908067
+#define __PYX_HAVE_RT_ImportType__PYX_HAVE_RT_ImportType24290,908468
+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,__Pyx_ImportType24291,908501
+#define __PYX_HAVE_RT_ImportFunction__PYX_HAVE_RT_ImportFunction24355,910459
+static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {__Pyx_ImportFunction24356,910496
+ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {__Pyx_InitStrings24408,912038
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {__Pyx_PyUnicode_FromString24438,912970
+static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {__Pyx_PyObject_AsString24441,913131
+static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {__Pyx_PyObject_AsStringAndSize24445,913277
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {__Pyx_PyObject_IsTrue24503,915153
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {__Pyx_PyNumber_IntOrLong24508,915350
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {__Pyx_PyIndex_AsSsize_t24559,916498
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {__Pyx_PyInt_FromSize_t24621,918789
+
+pyisda/pyisda/logging.pxd,0
+
+pyisda/pyisda/date.pxd,190
+cdef long dcc(str day_count) except -1dcc7,206
+cdef TDate pydate_to_TDate(c_datetime.date d)pydate_to_TDate47,1597
+cpdef c_datetime.date TDate_to_pydate(TDate d)TDate_to_pydate49,1644
+
+pyisda/pyisda/__init__.py,0
+
+pyisda/pyisda/cdsone.pxd,0
+
+pyisda/pyisda/date.cpp,38648
+#define PY_SSIZE_T_CLEANPY_SSIZE_T_CLEAN20,375
+#define CYTHON_ABI CYTHON_ABI27,704
+ #define offsetof(offsetof30,769
+ #define __stdcall__stdcall34,909
+ #define __cdecl__cdecl37,958
+ #define __fastcall__fastcall40,1008
+ #define DL_IMPORT(DL_IMPORT44,1065
+ #define DL_EXPORT(DL_EXPORT47,1115
+ #define HAVE_LONG_LONGHAVE_LONG_LONG51,1264
+ #define PY_LONG_LONG PY_LONG_LONG55,1328
+ #define Py_HUGE_VAL Py_HUGE_VAL58,1388
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY61,1446
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON62,1483
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON63,1522
+ #undef CYTHON_USE_TYPE_SLOTSCYTHON_USE_TYPE_SLOTS64,1562
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS65,1593
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS66,1627
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS67,1659
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS68,1694
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS69,1731
+ #undef CYTHON_USE_UNICODE_INTERNALSCYTHON_USE_UNICODE_INTERNALS70,1771
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS71,1809
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER72,1850
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER73,1885
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS74,1923
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS75,1960
+ #undef CYTHON_AVOID_BORROWED_REFSCYTHON_AVOID_BORROWED_REFS76,2000
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS77,2036
+ #undef CYTHON_ASSUME_SAFE_MACROSCYTHON_ASSUME_SAFE_MACROS78,2075
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS79,2110
+ #undef CYTHON_UNPACK_METHODSCYTHON_UNPACK_METHODS80,2148
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS81,2179
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE82,2213
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE83,2247
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL84,2284
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL85,2312
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY87,2373
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON88,2410
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON89,2449
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS91,2521
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS93,2566
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS94,2598
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS95,2633
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS96,2670
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS98,2749
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER100,2801
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER101,2836
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS102,2874
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS103,2911
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS105,2988
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS108,3074
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS111,3155
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE113,3200
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE114,3234
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL115,3271
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL116,3299
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY118,3336
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON119,3373
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON120,3412
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS122,3484
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS125,3556
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS126,3590
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS128,3668
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS131,3748
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS132,3787
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS134,3875
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS137,3964
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS140,4054
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER143,4140
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER144,4177
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER146,4261
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS149,4347
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS152,4433
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS155,4514
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE158,4594
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL161,4671
+#define CYTHON_FAST_PYCCALL CYTHON_FAST_PYCCALL165,4754
+ #undef SHIFTSHIFT169,4902
+ #undef BASEBASE170,4917
+ #undef MASKMASK171,4931
+ #define Py_OptimizeFlag Py_OptimizeFlag174,5041
+#define __PYX_BUILD_PY_SSIZE_T __PYX_BUILD_PY_SSIZE_T176,5076
+#define CYTHON_FORMAT_SSIZE_T CYTHON_FORMAT_SSIZE_T177,5111
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME179,5170
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New180,5220
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType182,5394
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME184,5446
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New185,5493
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType187,5668
+ #define Py_TPFLAGS_CHECKTYPES Py_TPFLAGS_CHECKTYPES190,5750
+ #define Py_TPFLAGS_HAVE_INDEX Py_TPFLAGS_HAVE_INDEX193,5821
+ #define Py_TPFLAGS_HAVE_NEWBUFFER Py_TPFLAGS_HAVE_NEWBUFFER196,5896
+ #define Py_TPFLAGS_HAVE_FINALIZE Py_TPFLAGS_HAVE_FINALIZE199,5974
+ #define METH_FASTCALL METH_FASTCALL202,6040
+ typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject **args,__Pyx_PyCFunctionFast203,6069
+ #define __Pyx_PyCFunctionFast __Pyx_PyCFunctionFast206,6238
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check209,6318
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check212,6496
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED215,6606
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY216,6640
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH218,6803
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR219,6869
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE220,6937
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND221,7011
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA222,7071
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ223,7131
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE224,7197
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE225,7272
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED227,7409
+ #define PyUnicode_1BYTE_KIND PyUnicode_1BYTE_KIND228,7443
+ #define PyUnicode_2BYTE_KIND PyUnicode_2BYTE_KIND229,7477
+ #define PyUnicode_4BYTE_KIND PyUnicode_4BYTE_KIND230,7511
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY231,7545
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH232,7591
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR233,7655
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE234,7737
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND235,7829
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA236,7892
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ237,7967
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE238,8053
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE239,8139
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat242,8246
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe243,8309
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat245,8378
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe246,8445
+ #define PyUnicode_Contains(PyUnicode_Contains250,8673
+ #define PyByteArray_Check(PyByteArray_Check253,8802
+ #define PyObject_Format(PyObject_Format256,8944
+ #define PyObject_Malloc(PyObject_Malloc259,9095
+ #define PyObject_Free(PyObject_Free260,9142
+ #define PyObject_Realloc(PyObject_Realloc261,9187
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars264,9273
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber265,9336
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars267,9432
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber268,9500
+#define __Pyx_PyString_FormatSafe(__Pyx_PyString_FormatSafe270,9590
+#define __Pyx_PyUnicode_FormatSafe(__Pyx_PyUnicode_FormatSafe271,9718
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format273,9867
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format275,9935
+ #define PyObject_ASCII(PyObject_ASCII278,10056
+ #define PyBaseString_Type PyBaseString_Type281,10145
+ #define PyStringObject PyStringObject282,10199
+ #define PyString_Type PyString_Type283,10254
+ #define PyString_Check PyString_Check284,10308
+ #define PyString_CheckExact PyString_CheckExact285,10363
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check288,10456
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact289,10517
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check291,10594
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact292,10680
+ #define PySet_CheckExact(PySet_CheckExact295,10813
+#define __Pyx_TypeCheck(__Pyx_TypeCheck297,10889
+#define __Pyx_PyException_Check(__Pyx_PyException_Check298,10970
+ #define PyIntObject PyIntObject300,11071
+ #define PyInt_Type PyInt_Type301,11123
+ #define PyInt_Check(PyInt_Check302,11174
+ #define PyInt_CheckExact(PyInt_CheckExact303,11230
+ #define PyInt_FromString PyInt_FromString304,11291
+ #define PyInt_FromUnicode PyInt_FromUnicode305,11348
+ #define PyInt_FromLong PyInt_FromLong306,11406
+ #define PyInt_FromSize_t PyInt_FromSize_t307,11461
+ #define PyInt_FromSsize_t PyInt_FromSsize_t308,11518
+ #define PyInt_AsLong PyInt_AsLong309,11576
+ #define PyInt_AS_LONG PyInt_AS_LONG310,11629
+ #define PyInt_AsSsize_t PyInt_AsSsize_t311,11683
+ #define PyInt_AsUnsignedLongMask PyInt_AsUnsignedLongMask312,11739
+ #define PyInt_AsUnsignedLongLongMask PyInt_AsUnsignedLongLongMask313,11804
+ #define PyNumber_Int PyNumber_Int314,11873
+ #define PyBoolObject PyBoolObject317,11959
+ #define PyUnicode_InternFromString(PyUnicode_InternFromString321,12109
+ typedef long Py_hash_t;Py_hash_t325,12223
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t326,12249
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t327,12297
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t329,12349
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t330,12400
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New333,12482
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New335,12601
+ #define __Pyx_PyAsyncMethodsStruct __Pyx_PyAsyncMethodsStruct339,12750
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync340,12804
+ unaryfunc am_await;am_await343,12899
+ unaryfunc am_aiter;am_aiter344,12927
+ unaryfunc am_anext;am_anext345,12955
+ } __Pyx_PyAsyncMethodsStruct;__Pyx_PyAsyncMethodsStruct346,12983
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync347,13017
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync350,13130
+ #define CYTHON_RESTRICT CYTHON_RESTRICT354,13226
+ #define CYTHON_RESTRICT CYTHON_RESTRICT356,13313
+ #define CYTHON_RESTRICT CYTHON_RESTRICT358,13418
+ #define CYTHON_RESTRICTCYTHON_RESTRICT360,13463
+# define CYTHON_UNUSED CYTHON_UNUSED366,13643
+# define CYTHON_UNUSEDCYTHON_UNUSED368,13708
+# define CYTHON_UNUSED CYTHON_UNUSED371,13820
+# define CYTHON_UNUSEDCYTHON_UNUSED373,13881
+ template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }CYTHON_MAYBE_UNUSED_VAR378,13980
+# define CYTHON_MAYBE_UNUSED_VAR(CYTHON_MAYBE_UNUSED_VAR380,14056
+# define CYTHON_NCP_UNUSEDCYTHON_NCP_UNUSED385,14180
+# define CYTHON_NCP_UNUSED CYTHON_NCP_UNUSED387,14215
+#define __Pyx_void_to_None(__Pyx_void_to_None390,14272
+ #define CYTHON_INLINE CYTHON_INLINE397,14530
+ #define CYTHON_INLINE CYTHON_INLINE399,14604
+void __Pyx_call_destructor(T& x) {__Pyx_call_destructor403,14674
+class __Pyx_FakeReference {__Pyx_FakeReference407,14744
+ __Pyx_FakeReference() : ptr(NULL) { }__Pyx_FakeReference409,14782
+ __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }__Pyx_FakeReference410,14824
+ T *operator->() { return ptr; }operator ->411,14894
+ T *operator&() { return ptr; }operator &412,14930
+ operator T&() { return *ptr; }operator T&413,14965
+ template<typename U> bool operator ==(U other) { return *ptr == other; }operator ==414,15000
+ template<typename U> bool operator !=(U other) { return *ptr != other; }operator !=415,15077
+ T *ptr;ptr417,15165
+ #define _USE_MATH_DEFINES_USE_MATH_DEFINES421,15223
+#define __PYX_NAN(__PYX_NAN425,15287
+static CYTHON_INLINE float __PYX_NAN() {__PYX_NAN427,15327
+#define __Pyx_truncl __Pyx_truncl434,15496
+#define __Pyx_truncl __Pyx_truncl436,15529
+#define __PYX_ERR(__PYX_ERR440,15566
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide446,15749
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide447,15819
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide449,15902
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide450,15968
+ #define __PYX_EXTERN_C __PYX_EXTERN_C455,16093
+ #define __PYX_EXTERN_C __PYX_EXTERN_C457,16139
+#define __PYX_HAVE__pyisda__date__PYX_HAVE__pyisda__date461,16190
+#define __PYX_HAVE_API__pyisda__date__PYX_HAVE_API__pyisda__date462,16223
+#define CYTHON_WITHOUT_ASSERTIONSCYTHON_WITHOUT_ASSERTIONS480,16635
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;p483,16677
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;s483,16677
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;n483,16677
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;encoding483,16677
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_unicode484,16764
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_str484,16764
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;intern484,16764
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;__Pyx_StringTabEntry484,16764
+#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII __PYX_DEFAULT_STRING_ENCODING_IS_ASCII486,16866
+#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT487,16915
+#define __PYX_DEFAULT_STRING_ENCODING __PYX_DEFAULT_STRING_ENCODING488,16966
+#define __Pyx_PyObject_FromString __Pyx_PyObject_FromString489,17007
+#define __Pyx_PyObject_FromStringAndSize __Pyx_PyObject_FromStringAndSize490,17066
+#define __Pyx_uchar_cast(__Pyx_uchar_cast491,17139
+#define __Pyx_long_cast(__Pyx_long_cast492,17186
+#define __Pyx_fits_Py_ssize_t(__Pyx_fits_Py_ssize_t493,17223
+ #define __Pyx_sst_abs(__Pyx_sst_abs505,17829
+ #define __Pyx_sst_abs(__Pyx_sst_abs507,17912
+ #define __Pyx_sst_abs(__Pyx_sst_abs509,17991
+ #define __Pyx_sst_abs(__Pyx_sst_abs511,18081
+ #define __Pyx_sst_abs(__Pyx_sst_abs513,18192
+ #define __Pyx_sst_abs(__Pyx_sst_abs515,18263
+ #define __Pyx_sst_abs(__Pyx_sst_abs517,18325
+#define __Pyx_PyByteArray_FromString(__Pyx_PyByteArray_FromString521,18547
+#define __Pyx_PyByteArray_FromStringAndSize(__Pyx_PyByteArray_FromStringAndSize522,18657
+#define __Pyx_PyBytes_FromString __Pyx_PyBytes_FromString523,18756
+#define __Pyx_PyBytes_FromStringAndSize __Pyx_PyBytes_FromStringAndSize524,18815
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString527,18978
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize528,19045
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString530,19125
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize531,19194
+#define __Pyx_PyObject_AsSString(__Pyx_PyObject_AsSString533,19277
+#define __Pyx_PyObject_AsUString(__Pyx_PyObject_AsUString534,19360
+#define __Pyx_PyObject_FromCString(__Pyx_PyObject_FromCString535,19445
+#define __Pyx_PyBytes_FromCString(__Pyx_PyBytes_FromCString536,19526
+#define __Pyx_PyByteArray_FromCString(__Pyx_PyByteArray_FromCString537,19606
+#define __Pyx_PyStr_FromCString(__Pyx_PyStr_FromCString538,19694
+#define __Pyx_PyUnicode_FromCString(__Pyx_PyUnicode_FromCString539,19772
+static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)__Pyx_Py_UNICODE_strlen541,19879
+#define __Pyx_Py_UNICODE_strlen __Pyx_Py_UNICODE_strlen548,20054
+#define __Pyx_PyUnicode_FromUnicode(__Pyx_PyUnicode_FromUnicode550,20111
+#define __Pyx_PyUnicode_FromUnicodeAndLength __Pyx_PyUnicode_FromUnicodeAndLength551,20209
+#define __Pyx_PyUnicode_AsUnicode __Pyx_PyUnicode_AsUnicode552,20276
+#define __Pyx_NewRef(__Pyx_NewRef553,20341
+#define __Pyx_Owned_Py_None(__Pyx_Owned_Py_None554,20389
+#define __Pyx_PyBool_FromLong(__Pyx_PyBool_FromLong555,20442
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble561,20821
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble563,20930
+#define __pyx_PyFloat_AsFloat(__pyx_PyFloat_AsFloat565,20991
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int567,21086
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int569,21182
+#define __Pyx_PyNumber_Float(__Pyx_PyNumber_Float571,21277
+static int __Pyx_sys_getdefaultencoding_not_ascii;__Pyx_sys_getdefaultencoding_not_ascii573,21438
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params574,21489
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize619,23218
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize621,23319
+static char* __PYX_DEFAULT_STRING_ENCODING;__PYX_DEFAULT_STRING_ENCODING623,23486
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params624,23530
+ #define likely(likely650,24424
+ #define unlikely(unlikely651,24473
+ #define likely(likely653,24558
+ #define unlikely(unlikely654,24584
+static PyObject *__pyx_m;__pyx_m657,24633
+static PyObject *__pyx_d;__pyx_d658,24659
+static PyObject *__pyx_b;__pyx_b659,24685
+static PyObject *__pyx_empty_tuple;__pyx_empty_tuple660,24711
+static PyObject *__pyx_empty_bytes;__pyx_empty_bytes661,24747
+static PyObject *__pyx_empty_unicode;__pyx_empty_unicode662,24783
+static int __pyx_lineno;__pyx_lineno663,24821
+static int __pyx_clineno = 0;__pyx_clineno664,24846
+static const char * __pyx_cfilenm= __FILE__;__pyx_cfilenm665,24876
+static const char *__pyx_filename;__pyx_filename666,24921
+static const char *__pyx_f[] = {__pyx_f669,24958
+typedef long __pyx_t_6pyisda_4date_TDate;__pyx_t_6pyisda_4date_TDate684,25226
+enum __pyx_t_6pyisda_4date_DCC {__pyx_t_6pyisda_4date_DCC695,25504
+ __pyx_e_6pyisda_4date_ACT_365 = 1L,__pyx_e_6pyisda_4date_ACT_365696,25537
+ __pyx_e_6pyisda_4date_ACT_365F = 2L,__pyx_e_6pyisda_4date_ACT_365F697,25575
+ __pyx_e_6pyisda_4date_ACT_360 = 3L__pyx_e_6pyisda_4date_ACT_360698,25614
+ #define CYTHON_REFNANNY CYTHON_REFNANNY704,25742
+ void (*INCREF)(void*, PyObject*, int);INCREF708,25816
+ void (*DECREF)(void*, PyObject*, int);DECREF709,25859
+ void (*GOTREF)(void*, PyObject*, int);GOTREF710,25902
+ void (*GIVEREF)(void*, PyObject*, int);GIVEREF711,25945
+ void* (*SetupContext)(const char*, int, const char*);SetupContext712,25989
+ void (*FinishContext)(void**);FinishContext713,26047
+ } __Pyx_RefNannyAPIStruct;__Pyx_RefNannyAPIStruct714,26082
+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;__Pyx_RefNanny715,26111
+ #define __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations717,26248
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext719,26333
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext728,26769
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext731,26917
+ #define __Pyx_INCREF(__Pyx_INCREF733,27015
+ #define __Pyx_DECREF(__Pyx_DECREF734,27108
+ #define __Pyx_GOTREF(__Pyx_GOTREF735,27201
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF736,27294
+ #define __Pyx_XINCREF(__Pyx_XINCREF737,27388
+ #define __Pyx_XDECREF(__Pyx_XDECREF738,27467
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF739,27546
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF740,27625
+ #define __Pyx_RefNannyDeclarations__Pyx_RefNannyDeclarations742,27710
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext743,27747
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext744,27803
+ #define __Pyx_INCREF(__Pyx_INCREF745,27843
+ #define __Pyx_DECREF(__Pyx_DECREF746,27882
+ #define __Pyx_GOTREF(__Pyx_GOTREF747,27921
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF748,27947
+ #define __Pyx_XINCREF(__Pyx_XINCREF749,27974
+ #define __Pyx_XDECREF(__Pyx_XDECREF750,28015
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF751,28056
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF752,28083
+#define __Pyx_XDECREF_SET(__Pyx_XDECREF_SET754,28118
+#define __Pyx_DECREF_SET(__Pyx_DECREF_SET758,28249
+#define __Pyx_CLEAR(__Pyx_CLEAR762,28378
+#define __Pyx_XCLEAR(__Pyx_XCLEAR763,28482
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {__Pyx_PyObject_GetAttrStr767,28662
+#define __Pyx_PyObject_GetAttrStr(__Pyx_PyObject_GetAttrStr778,29059
+#define __Pyx_PyThreadState_declare __Pyx_PyThreadState_declare786,29269
+#define __Pyx_PyThreadState_assign __Pyx_PyThreadState_assign787,29335
+#define __Pyx_PyThreadState_declare__Pyx_PyThreadState_declare789,29413
+#define __Pyx_PyThreadState_assign__Pyx_PyThreadState_assign790,29449
+#define __Pyx_ErrRestoreWithState(__Pyx_ErrRestoreWithState795,29551
+#define __Pyx_ErrFetchWithState(__Pyx_ErrFetchWithState796,29665
+#define __Pyx_ErrRestore(__Pyx_ErrRestore797,29777
+#define __Pyx_ErrFetch(__Pyx_ErrFetch798,29875
+#define __Pyx_ErrRestoreWithState(__Pyx_ErrRestoreWithState802,30220
+#define __Pyx_ErrFetchWithState(__Pyx_ErrFetchWithState803,30303
+#define __Pyx_ErrRestore(__Pyx_ErrRestore804,30382
+#define __Pyx_ErrFetch(__Pyx_ErrFetch805,30456
+#define __Pyx_PyObject_Call(__Pyx_PyObject_Call820,31032
+#define __Pyx_PyInt_EqObjC(__Pyx_PyInt_EqObjC827,31264
+#define __Pyx_PyCFunction_FastCall(__Pyx_PyCFunction_FastCall835,31545
+#define __Pyx_PyFunction_FastCall(__Pyx_PyFunction_FastCall840,31680
+#define __Pyx_PyFunction_FastCallDict(__Pyx_PyFunction_FastCallDict845,31952
+ PyCodeObject* code_object;code_object874,32959
+ int code_line;code_line875,32990
+} __Pyx_CodeObjectCacheEntry;__Pyx_CodeObjectCacheEntry876,33009
+struct __Pyx_CodeObjectCache {__Pyx_CodeObjectCache877,33039
+ int count;count878,33070
+ int max_count;max_count879,33085
+ __Pyx_CodeObjectCacheEntry* entries;entries880,33104
+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};__pyx_code_cache882,33148
+ #define __Pyx_PyIdentifier_FromString(__Pyx_PyIdentifier_FromString912,34247
+ #define __Pyx_PyIdentifier_FromString(__Pyx_PyIdentifier_FromString914,34319
+static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;__pyx_ptype_7cpython_4type_type933,34842
+static PyTypeObject *__pyx_ptype_7cpython_4bool_bool = 0;__pyx_ptype_7cpython_4bool_bool966,35662
+static PyTypeObject *__pyx_ptype_7cpython_7complex_complex = 0;__pyx_ptype_7cpython_7complex_complex975,35911
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_date = 0;__pyx_ptype_7cpython_8datetime_date1014,36906
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_time = 0;__pyx_ptype_7cpython_8datetime_time1015,36968
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_datetime = 0;__pyx_ptype_7cpython_8datetime_datetime1016,37030
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_timedelta = 0;__pyx_ptype_7cpython_8datetime_timedelta1017,37096
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_tzinfo = 0;__pyx_ptype_7cpython_8datetime_tzinfo1018,37163
+#define __Pyx_MODULE_NAME __Pyx_MODULE_NAME1024,37579
+int __pyx_module_is_main_pyisda__date = 0;__pyx_module_is_main_pyisda__date1025,37619
+static PyObject *__pyx_builtin_ValueError;__pyx_builtin_ValueError1028,37701
+static const char __pyx_k_s[] = "s";__pyx_k_s1029,37744
+static const char __pyx_k_day[] = "day";__pyx_k_day1030,37781
+static const char __pyx_k_main[] = "__main__";__pyx_k_main1031,37822
+static const char __pyx_k_test[] = "__test__";__pyx_k_test1032,37869
+static const char __pyx_k_year[] = "year";__pyx_k_year1033,37916
+static const char __pyx_k_month[] = "month";__pyx_k_month1034,37959
+static const char __pyx_k_utf_8[] = "utf-8";__pyx_k_utf_81035,38004
+static const char __pyx_k_encode[] = "encode";__pyx_k_encode1036,38049
+static const char __pyx_k_format[] = "format";__pyx_k_format1037,38096
+static const char __pyx_k_import[] = "__import__";__pyx_k_import1038,38143
+static const char __pyx_k_c_string[] = "c_string";__pyx_k_c_string1039,38194
+static const char __pyx_k_datetime[] = "datetime";__pyx_k_datetime1040,38245
+static const char __pyx_k_day_count[] = "day_count";__pyx_k_day_count1041,38296
+static const char __pyx_k_ValueError[] = "ValueError";__pyx_k_ValueError1042,38349
+static const char __pyx_k_pyisda_date[] = "pyisda.date";__pyx_k_pyisda_date1043,38404
+static const char __pyx_k_dcc_tostring[] = "dcc_tostring";__pyx_k_dcc_tostring1044,38461
+static const char __pyx_k_0_is_not_a_valid_day_count[] = "{0} is not a valid day count";__pyx_k_0_is_not_a_valid_day_count1045,38520
+static const char __pyx_k_home_guillaume_projects_code_py[] = "/home/guillaume/projects/code/python/pyisda/pyisda/date.pyx";__pyx_k_home_guillaume_projects_code_py1046,38609
+static PyObject *__pyx_kp_s_0_is_not_a_valid_day_count;__pyx_kp_s_0_is_not_a_valid_day_count1047,38734
+static PyObject *__pyx_n_s_ValueError;__pyx_n_s_ValueError1048,38790
+static PyObject *__pyx_n_s_c_string;__pyx_n_s_c_string1049,38829
+static PyObject *__pyx_n_s_datetime;__pyx_n_s_datetime1050,38866
+static PyObject *__pyx_n_s_day;__pyx_n_s_day1051,38903
+static PyObject *__pyx_n_s_day_count;__pyx_n_s_day_count1052,38935
+static PyObject *__pyx_n_s_dcc_tostring;__pyx_n_s_dcc_tostring1053,38973
+static PyObject *__pyx_n_s_encode;__pyx_n_s_encode1054,39014
+static PyObject *__pyx_n_s_format;__pyx_n_s_format1055,39049
+static PyObject *__pyx_kp_s_home_guillaume_projects_code_py;__pyx_kp_s_home_guillaume_projects_code_py1056,39084
+static PyObject *__pyx_n_s_import;__pyx_n_s_import1057,39145
+static PyObject *__pyx_n_s_main;__pyx_n_s_main1058,39180
+static PyObject *__pyx_n_s_month;__pyx_n_s_month1059,39213
+static PyObject *__pyx_n_s_pyisda_date;__pyx_n_s_pyisda_date1060,39247
+static PyObject *__pyx_n_s_s;__pyx_n_s_s1061,39287
+static PyObject *__pyx_n_s_test;__pyx_n_s_test1062,39317
+static PyObject *__pyx_kp_s_utf_8;__pyx_kp_s_utf_81063,39350
+static PyObject *__pyx_n_s_year;__pyx_n_s_year1064,39385
+static PyObject *__pyx_int_0;__pyx_int_01067,39689
+static PyObject *__pyx_tuple_;__pyx_tuple_1068,39719
+static PyObject *__pyx_tuple__2;__pyx_tuple__21069,39750
+static PyObject *__pyx_codeobj__3;__pyx_codeobj__31070,39783
+static __pyx_t_6pyisda_4date_TDate __pyx_f_6pyisda_4date_pydate_to_TDate(PyDateTime_Date *__pyx_v_d) {__pyx_f_6pyisda_4date_pydate_to_TDate1080,40033
+static PyDateTime_Date *__pyx_f_6pyisda_4date_TDate_to_pydate(__pyx_t_6pyisda_4date_TDate __pyx_v_d, CYTHON_UNUSED int __pyx_skip_dispatch) {__pyx_f_6pyisda_4date_TDate_to_pydate1138,42557
+static char __pyx_doc_6pyisda_4date_TDate_to_pydate[] = "TDate_to_pydate(TDate d) -> date";__pyx_doc_6pyisda_4date_TDate_to_pydate1203,45002
+static PyObject *__pyx_pw_6pyisda_4date_1TDate_to_pydate(PyObject *__pyx_self, PyObject *__pyx_arg_d) {__pyx_pw_6pyisda_4date_1TDate_to_pydate1204,45094
+static PyObject *__pyx_pf_6pyisda_4date_TDate_to_pydate(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_6pyisda_4date_TDate __pyx_v_d) {__pyx_pf_6pyisda_4date_TDate_to_pydate1225,45957
+static long __pyx_f_6pyisda_4date_dcc(PyObject *__pyx_v_day_count) {__pyx_f_6pyisda_4date_dcc1256,47003
+static char __pyx_doc_6pyisda_4date_2dcc_tostring[] = "dcc_tostring(long day_count)";__pyx_doc_6pyisda_4date_2dcc_tostring1439,53982
+static PyMethodDef __pyx_mdef_6pyisda_4date_3dcc_tostring = {"dcc_tostring", (PyCFunction)__pyx_pw_6pyisda_4date_3dcc_tostring, METH_O, __pyx_doc_6pyisda_4date_2dcc_tostring};__pyx_mdef_6pyisda_4date_3dcc_tostring1440,54068
+static PyObject *__pyx_pw_6pyisda_4date_3dcc_tostring(PyObject *__pyx_self, PyObject *__pyx_arg_day_count) {__pyx_pw_6pyisda_4date_3dcc_tostring1441,54244
+static PyObject *__pyx_pf_6pyisda_4date_2dcc_tostring(CYTHON_UNUSED PyObject *__pyx_self, long __pyx_v_day_count) {__pyx_pf_6pyisda_4date_2dcc_tostring1462,55106
+static CYTHON_INLINE void __pyx_f_7cpython_8datetime_import_datetime(void) {__pyx_f_7cpython_8datetime_import_datetime1564,58222
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_date_new(int __pyx_v_year, int __pyx_v_month, int __pyx_v_day) {__pyx_f_7cpython_8datetime_date_new1597,59295
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_time_new(int __pyx_v_hour, int __pyx_v_minute, int __pyx_v_second, int __pyx_v_microsecond, PyObject *__pyx_v_tz) {__pyx_f_7cpython_8datetime_time_new1644,61159
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_datetime_new(int __pyx_v_year, int __pyx_v_month, int __pyx_v_day, int __pyx_v_hour, int __pyx_v_minute, int __pyx_v_second, int __pyx_v_microsecond, PyObject *__pyx_v_tz) {__pyx_f_7cpython_8datetime_datetime_new1691,63293
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_timedelta_new(int __pyx_v_days, int __pyx_v_seconds, int __pyx_v_useconds) {__pyx_f_7cpython_8datetime_timedelta_new1738,65596
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_time_tzinfo(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_tzinfo1785,67398
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_datetime_tzinfo(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_tzinfo1859,69493
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_year(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_year1933,71586
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_month(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_month1970,72432
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_day(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_day2007,73279
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_year(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_year2044,74124
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_month(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_month2081,75006
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_day(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_day2118,75889
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_hour(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_hour2155,76751
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_minute(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_minute2192,77621
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_second(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_second2229,78509
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_microsecond(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_microsecond2266,79417
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_hour(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_hour2303,80354
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_minute(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_minute2340,81260
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_second(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_second2377,82184
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_microsecond(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_microsecond2414,83128
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_days(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_days2451,84092
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_seconds(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_seconds2488,85013
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_microseconds(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_microseconds2524,85977
+static PyMethodDef __pyx_methods[] = {__pyx_methods2550,86745
+static struct PyModuleDef __pyx_moduledef = {__pyx_moduledef2556,86955
+static __Pyx_StringTabEntry __pyx_string_tab[] = {__pyx_string_tab2573,87323
+static int __Pyx_InitCachedBuiltins(void) {__Pyx_InitCachedBuiltins2594,88907
+static int __Pyx_InitCachedConstants(void) {__Pyx_InitCachedConstants2601,89135
+static int __Pyx_InitGlobals(void) {__Pyx_InitGlobals2634,90668
+PyMODINIT_FUNC initdate(void)initdate2644,90993
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {__Pyx_RefNannyImportAPI2824,99576
+static PyObject *__Pyx_GetBuiltinName(PyObject *name) {__Pyx_GetBuiltinName2840,100004
+static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {__Pyx_ErrRestoreInState2855,100430
+static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx_ErrFetchInState2867,100890
+static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,__Pyx_WriteUnraisable2878,101251
+static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {__Pyx_TypeTest2920,102449
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {__Pyx_PyObject_Call2934,102902
+static PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED int inplace) {__Pyx_PyInt_EqObjC2954,103565
+static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {__Pyx_PyCFunction_FastCall3039,106990
+static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,__Pyx_PyFunction_FastCallNoKw3058,107866
+static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) {__Pyx_PyFunction_FastCallDict3087,108795
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallMethO3177,111681
+static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx__PyObject_CallOneArg3197,112335
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallOneArg3207,112659
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallOneArg3229,113403
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,__Pyx_Raise3241,113746
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {__Pyx_Raise3292,115226
+ static CYTHON_INLINE PyObject* __Pyx_decode_c_string(__Pyx_decode_c_string3403,118879
+ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {__Pyx_Import3436,119977
+ static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {__pyx_bisect_code_objects3510,122264
+static PyCodeObject *__pyx_find_code_object(int code_line) {__pyx_find_code_object3531,122897
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {__pyx_insert_code_object3545,123457
+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(__Pyx_CreateCodeObjectForTraceback3593,125247
+static void __Pyx_AddTraceback(const char *funcname, int c_line,__Pyx_AddTraceback3645,126856
+ #define __PYX_VERIFY_RETURN_INT(__PYX_VERIFY_RETURN_INT3671,127784
+#define __PYX_VERIFY_RETURN_INT_EXC(__PYX_VERIFY_RETURN_INT_EXC3673,127925
+#define __PYX__VERIFY_RETURN_INT(__PYX__VERIFY_RETURN_INT3675,128066
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {__Pyx_PyInt_From_int3693,128734
+ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {__Pyx_PyInt_As_long3724,129872
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {__Pyx_PyInt_From_long3913,139690
+ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {__Pyx_PyInt_As_int3944,140839
+ static int __Pyx_check_binary_version(void) {__Pyx_check_binary_version4133,150570
+ static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {__Pyx_ExportFunction4149,151219
+#define __PYX_HAVE_RT_ImportModule__PYX_HAVE_RT_ImportModule4187,152150
+static PyObject *__Pyx_ImportModule(const char *name) {__Pyx_ImportModule4188,152185
+#define __PYX_HAVE_RT_ImportType__PYX_HAVE_RT_ImportType4205,152580
+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,__Pyx_ImportType4206,152613
+ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {__Pyx_InitStrings4269,154521
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {__Pyx_PyUnicode_FromString4299,155447
+static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {__Pyx_PyObject_AsString4302,155608
+static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {__Pyx_PyObject_AsStringAndSize4306,155754
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {__Pyx_PyObject_IsTrue4364,157630
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {__Pyx_PyNumber_IntOrLong4369,157827
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {__Pyx_PyIndex_AsSsize_t4420,158975
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {__Pyx_PyInt_FromSize_t4482,161266
+
+pyisda/pyisda/logging.pyx,244
+def enable_logging():enable_logging3,53
+def disable_logging():disable_logging11,239
+def set_logging_file(str file_name, TBoolean append = True):set_logging_file15,312
+def log_message(str msg):log_message22,554
+def flush():flush27,679
+
+pyisda/pyisda/cdsone.cpp,46617
+#define PY_SSIZE_T_CLEANPY_SSIZE_T_CLEAN20,377
+#define CYTHON_ABI CYTHON_ABI27,706
+ #define offsetof(offsetof30,771
+ #define __stdcall__stdcall34,911
+ #define __cdecl__cdecl37,960
+ #define __fastcall__fastcall40,1010
+ #define DL_IMPORT(DL_IMPORT44,1067
+ #define DL_EXPORT(DL_EXPORT47,1117
+ #define HAVE_LONG_LONGHAVE_LONG_LONG51,1266
+ #define PY_LONG_LONG PY_LONG_LONG55,1330
+ #define Py_HUGE_VAL Py_HUGE_VAL58,1390
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY61,1448
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON62,1485
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON63,1524
+ #undef CYTHON_USE_TYPE_SLOTSCYTHON_USE_TYPE_SLOTS64,1564
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS65,1595
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS66,1629
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS67,1661
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS68,1696
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS69,1733
+ #undef CYTHON_USE_UNICODE_INTERNALSCYTHON_USE_UNICODE_INTERNALS70,1773
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS71,1811
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER72,1852
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER73,1887
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS74,1925
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS75,1962
+ #undef CYTHON_AVOID_BORROWED_REFSCYTHON_AVOID_BORROWED_REFS76,2002
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS77,2038
+ #undef CYTHON_ASSUME_SAFE_MACROSCYTHON_ASSUME_SAFE_MACROS78,2077
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS79,2112
+ #undef CYTHON_UNPACK_METHODSCYTHON_UNPACK_METHODS80,2150
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS81,2181
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE82,2215
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE83,2249
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL84,2286
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL85,2314
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY87,2375
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON88,2412
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON89,2451
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS91,2523
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS93,2568
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS94,2600
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS95,2635
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS96,2672
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS98,2751
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER100,2803
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER101,2838
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS102,2876
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS103,2913
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS105,2990
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS108,3076
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS111,3157
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE113,3202
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE114,3236
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL115,3273
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL116,3301
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY118,3338
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON119,3375
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON120,3414
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS122,3486
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS125,3558
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS126,3592
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS128,3670
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS131,3750
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS132,3789
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS134,3877
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS137,3966
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS140,4056
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER143,4142
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER144,4179
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER146,4263
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS149,4349
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS152,4435
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS155,4516
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE158,4596
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL161,4673
+#define CYTHON_FAST_PYCCALL CYTHON_FAST_PYCCALL165,4756
+ #undef SHIFTSHIFT169,4904
+ #undef BASEBASE170,4919
+ #undef MASKMASK171,4933
+ #define Py_OptimizeFlag Py_OptimizeFlag174,5043
+#define __PYX_BUILD_PY_SSIZE_T __PYX_BUILD_PY_SSIZE_T176,5078
+#define CYTHON_FORMAT_SSIZE_T CYTHON_FORMAT_SSIZE_T177,5113
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME179,5172
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New180,5222
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType182,5396
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME184,5448
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New185,5495
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType187,5670
+ #define Py_TPFLAGS_CHECKTYPES Py_TPFLAGS_CHECKTYPES190,5752
+ #define Py_TPFLAGS_HAVE_INDEX Py_TPFLAGS_HAVE_INDEX193,5823
+ #define Py_TPFLAGS_HAVE_NEWBUFFER Py_TPFLAGS_HAVE_NEWBUFFER196,5898
+ #define Py_TPFLAGS_HAVE_FINALIZE Py_TPFLAGS_HAVE_FINALIZE199,5976
+ #define METH_FASTCALL METH_FASTCALL202,6042
+ typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject **args,__Pyx_PyCFunctionFast203,6071
+ #define __Pyx_PyCFunctionFast __Pyx_PyCFunctionFast206,6240
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check209,6320
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check212,6498
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED215,6608
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY216,6642
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH218,6805
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR219,6871
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE220,6939
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND221,7013
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA222,7073
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ223,7133
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE224,7199
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE225,7274
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED227,7411
+ #define PyUnicode_1BYTE_KIND PyUnicode_1BYTE_KIND228,7445
+ #define PyUnicode_2BYTE_KIND PyUnicode_2BYTE_KIND229,7479
+ #define PyUnicode_4BYTE_KIND PyUnicode_4BYTE_KIND230,7513
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY231,7547
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH232,7593
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR233,7657
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE234,7739
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND235,7831
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA236,7894
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ237,7969
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE238,8055
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE239,8141
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat242,8248
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe243,8311
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat245,8380
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe246,8447
+ #define PyUnicode_Contains(PyUnicode_Contains250,8675
+ #define PyByteArray_Check(PyByteArray_Check253,8804
+ #define PyObject_Format(PyObject_Format256,8946
+ #define PyObject_Malloc(PyObject_Malloc259,9097
+ #define PyObject_Free(PyObject_Free260,9144
+ #define PyObject_Realloc(PyObject_Realloc261,9189
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars264,9275
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber265,9338
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars267,9434
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber268,9502
+#define __Pyx_PyString_FormatSafe(__Pyx_PyString_FormatSafe270,9592
+#define __Pyx_PyUnicode_FormatSafe(__Pyx_PyUnicode_FormatSafe271,9720
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format273,9869
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format275,9937
+ #define PyObject_ASCII(PyObject_ASCII278,10058
+ #define PyBaseString_Type PyBaseString_Type281,10147
+ #define PyStringObject PyStringObject282,10201
+ #define PyString_Type PyString_Type283,10256
+ #define PyString_Check PyString_Check284,10310
+ #define PyString_CheckExact PyString_CheckExact285,10365
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check288,10458
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact289,10519
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check291,10596
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact292,10682
+ #define PySet_CheckExact(PySet_CheckExact295,10815
+#define __Pyx_TypeCheck(__Pyx_TypeCheck297,10891
+#define __Pyx_PyException_Check(__Pyx_PyException_Check298,10972
+ #define PyIntObject PyIntObject300,11073
+ #define PyInt_Type PyInt_Type301,11125
+ #define PyInt_Check(PyInt_Check302,11176
+ #define PyInt_CheckExact(PyInt_CheckExact303,11232
+ #define PyInt_FromString PyInt_FromString304,11293
+ #define PyInt_FromUnicode PyInt_FromUnicode305,11350
+ #define PyInt_FromLong PyInt_FromLong306,11408
+ #define PyInt_FromSize_t PyInt_FromSize_t307,11463
+ #define PyInt_FromSsize_t PyInt_FromSsize_t308,11520
+ #define PyInt_AsLong PyInt_AsLong309,11578
+ #define PyInt_AS_LONG PyInt_AS_LONG310,11631
+ #define PyInt_AsSsize_t PyInt_AsSsize_t311,11685
+ #define PyInt_AsUnsignedLongMask PyInt_AsUnsignedLongMask312,11741
+ #define PyInt_AsUnsignedLongLongMask PyInt_AsUnsignedLongLongMask313,11806
+ #define PyNumber_Int PyNumber_Int314,11875
+ #define PyBoolObject PyBoolObject317,11961
+ #define PyUnicode_InternFromString(PyUnicode_InternFromString321,12111
+ typedef long Py_hash_t;Py_hash_t325,12225
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t326,12251
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t327,12299
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t329,12351
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t330,12402
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New333,12484
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New335,12603
+ #define __Pyx_PyAsyncMethodsStruct __Pyx_PyAsyncMethodsStruct339,12752
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync340,12806
+ unaryfunc am_await;am_await343,12901
+ unaryfunc am_aiter;am_aiter344,12929
+ unaryfunc am_anext;am_anext345,12957
+ } __Pyx_PyAsyncMethodsStruct;__Pyx_PyAsyncMethodsStruct346,12985
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync347,13019
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync350,13132
+ #define CYTHON_RESTRICT CYTHON_RESTRICT354,13228
+ #define CYTHON_RESTRICT CYTHON_RESTRICT356,13315
+ #define CYTHON_RESTRICT CYTHON_RESTRICT358,13420
+ #define CYTHON_RESTRICTCYTHON_RESTRICT360,13465
+# define CYTHON_UNUSED CYTHON_UNUSED366,13645
+# define CYTHON_UNUSEDCYTHON_UNUSED368,13710
+# define CYTHON_UNUSED CYTHON_UNUSED371,13822
+# define CYTHON_UNUSEDCYTHON_UNUSED373,13883
+ template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }CYTHON_MAYBE_UNUSED_VAR378,13982
+# define CYTHON_MAYBE_UNUSED_VAR(CYTHON_MAYBE_UNUSED_VAR380,14058
+# define CYTHON_NCP_UNUSEDCYTHON_NCP_UNUSED385,14182
+# define CYTHON_NCP_UNUSED CYTHON_NCP_UNUSED387,14217
+#define __Pyx_void_to_None(__Pyx_void_to_None390,14274
+ #define CYTHON_INLINE CYTHON_INLINE397,14532
+ #define CYTHON_INLINE CYTHON_INLINE399,14606
+void __Pyx_call_destructor(T& x) {__Pyx_call_destructor403,14676
+class __Pyx_FakeReference {__Pyx_FakeReference407,14746
+ __Pyx_FakeReference() : ptr(NULL) { }__Pyx_FakeReference409,14784
+ __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }__Pyx_FakeReference410,14826
+ T *operator->() { return ptr; }operator ->411,14896
+ T *operator&() { return ptr; }operator &412,14932
+ operator T&() { return *ptr; }operator T&413,14967
+ template<typename U> bool operator ==(U other) { return *ptr == other; }operator ==414,15002
+ template<typename U> bool operator !=(U other) { return *ptr != other; }operator !=415,15079
+ T *ptr;ptr417,15167
+ #define _USE_MATH_DEFINES_USE_MATH_DEFINES421,15225
+#define __PYX_NAN(__PYX_NAN425,15289
+static CYTHON_INLINE float __PYX_NAN() {__PYX_NAN427,15329
+#define __Pyx_truncl __Pyx_truncl434,15498
+#define __Pyx_truncl __Pyx_truncl436,15531
+#define __PYX_ERR(__PYX_ERR440,15568
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide446,15751
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide447,15821
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide449,15904
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide450,15970
+ #define __PYX_EXTERN_C __PYX_EXTERN_C455,16095
+ #define __PYX_EXTERN_C __PYX_EXTERN_C457,16141
+#define __PYX_HAVE__pyisda__cdsone__PYX_HAVE__pyisda__cdsone461,16192
+#define __PYX_HAVE_API__pyisda__cdsone__PYX_HAVE_API__pyisda__cdsone462,16227
+#define CYTHON_WITHOUT_ASSERTIONSCYTHON_WITHOUT_ASSERTIONS497,17033
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;p500,17075
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;s500,17075
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;n500,17075
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;encoding500,17075
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_unicode501,17162
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_str501,17162
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;intern501,17162
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;__Pyx_StringTabEntry501,17162
+#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII __PYX_DEFAULT_STRING_ENCODING_IS_ASCII503,17264
+#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT504,17313
+#define __PYX_DEFAULT_STRING_ENCODING __PYX_DEFAULT_STRING_ENCODING505,17364
+#define __Pyx_PyObject_FromString __Pyx_PyObject_FromString506,17405
+#define __Pyx_PyObject_FromStringAndSize __Pyx_PyObject_FromStringAndSize507,17464
+#define __Pyx_uchar_cast(__Pyx_uchar_cast508,17537
+#define __Pyx_long_cast(__Pyx_long_cast509,17584
+#define __Pyx_fits_Py_ssize_t(__Pyx_fits_Py_ssize_t510,17621
+ #define __Pyx_sst_abs(__Pyx_sst_abs522,18227
+ #define __Pyx_sst_abs(__Pyx_sst_abs524,18310
+ #define __Pyx_sst_abs(__Pyx_sst_abs526,18389
+ #define __Pyx_sst_abs(__Pyx_sst_abs528,18479
+ #define __Pyx_sst_abs(__Pyx_sst_abs530,18590
+ #define __Pyx_sst_abs(__Pyx_sst_abs532,18661
+ #define __Pyx_sst_abs(__Pyx_sst_abs534,18723
+#define __Pyx_PyByteArray_FromString(__Pyx_PyByteArray_FromString538,18945
+#define __Pyx_PyByteArray_FromStringAndSize(__Pyx_PyByteArray_FromStringAndSize539,19055
+#define __Pyx_PyBytes_FromString __Pyx_PyBytes_FromString540,19154
+#define __Pyx_PyBytes_FromStringAndSize __Pyx_PyBytes_FromStringAndSize541,19213
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString544,19376
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize545,19443
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString547,19523
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize548,19592
+#define __Pyx_PyObject_AsSString(__Pyx_PyObject_AsSString550,19675
+#define __Pyx_PyObject_AsUString(__Pyx_PyObject_AsUString551,19758
+#define __Pyx_PyObject_FromCString(__Pyx_PyObject_FromCString552,19843
+#define __Pyx_PyBytes_FromCString(__Pyx_PyBytes_FromCString553,19924
+#define __Pyx_PyByteArray_FromCString(__Pyx_PyByteArray_FromCString554,20004
+#define __Pyx_PyStr_FromCString(__Pyx_PyStr_FromCString555,20092
+#define __Pyx_PyUnicode_FromCString(__Pyx_PyUnicode_FromCString556,20170
+static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)__Pyx_Py_UNICODE_strlen558,20277
+#define __Pyx_Py_UNICODE_strlen __Pyx_Py_UNICODE_strlen565,20452
+#define __Pyx_PyUnicode_FromUnicode(__Pyx_PyUnicode_FromUnicode567,20509
+#define __Pyx_PyUnicode_FromUnicodeAndLength __Pyx_PyUnicode_FromUnicodeAndLength568,20607
+#define __Pyx_PyUnicode_AsUnicode __Pyx_PyUnicode_AsUnicode569,20674
+#define __Pyx_NewRef(__Pyx_NewRef570,20739
+#define __Pyx_Owned_Py_None(__Pyx_Owned_Py_None571,20787
+#define __Pyx_PyBool_FromLong(__Pyx_PyBool_FromLong572,20840
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble578,21219
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble580,21328
+#define __pyx_PyFloat_AsFloat(__pyx_PyFloat_AsFloat582,21389
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int584,21484
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int586,21580
+#define __Pyx_PyNumber_Float(__Pyx_PyNumber_Float588,21675
+static int __Pyx_sys_getdefaultencoding_not_ascii;__Pyx_sys_getdefaultencoding_not_ascii590,21836
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params591,21887
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize636,23616
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize638,23717
+static char* __PYX_DEFAULT_STRING_ENCODING;__PYX_DEFAULT_STRING_ENCODING640,23884
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params641,23928
+ #define likely(likely667,24822
+ #define unlikely(unlikely668,24871
+ #define likely(likely670,24956
+ #define unlikely(unlikely671,24982
+static PyObject *__pyx_m;__pyx_m674,25031
+static PyObject *__pyx_d;__pyx_d675,25057
+static PyObject *__pyx_b;__pyx_b676,25083
+static PyObject *__pyx_empty_tuple;__pyx_empty_tuple677,25109
+static PyObject *__pyx_empty_bytes;__pyx_empty_bytes678,25145
+static PyObject *__pyx_empty_unicode;__pyx_empty_unicode679,25181
+static int __pyx_lineno;__pyx_lineno680,25219
+static int __pyx_clineno = 0;__pyx_clineno681,25244
+static const char * __pyx_cfilenm= __FILE__;__pyx_cfilenm682,25274
+static const char *__pyx_filename;__pyx_filename683,25319
+static const char *__pyx_f[] = {__pyx_f686,25356
+typedef long __pyx_t_6pyisda_4date_TDate;__pyx_t_6pyisda_4date_TDate703,25662
+typedef int __pyx_t_6pyisda_4legs_TBoolean;__pyx_t_6pyisda_4legs_TBoolean712,25849
+enum __pyx_t_6pyisda_4date_DCC {__pyx_t_6pyisda_4date_DCC728,26335
+ __pyx_e_6pyisda_4date_ACT_365 = 1L,__pyx_e_6pyisda_4date_ACT_365729,26368
+ __pyx_e_6pyisda_4date_ACT_365F = 2L,__pyx_e_6pyisda_4date_ACT_365F730,26406
+ __pyx_e_6pyisda_4date_ACT_360 = 3L__pyx_e_6pyisda_4date_ACT_360731,26445
+enum __pyx_t_6pyisda_5curve_Basis {__pyx_t_6pyisda_5curve_Basis741,26761
+ __pyx_e_6pyisda_5curve_CONTINUOUS = 0x1388,__pyx_e_6pyisda_5curve_CONTINUOUS742,26797
+ __pyx_e_6pyisda_5curve_DISCOUNT_RATE = 0x200,__pyx_e_6pyisda_5curve_DISCOUNT_RATE743,26843
+ __pyx_e_6pyisda_5curve_SIMPLE_BASIS = 0,__pyx_e_6pyisda_5curve_SIMPLE_BASIS744,26891
+ __pyx_e_6pyisda_5curve_ANNUAL_BASIS = 1,__pyx_e_6pyisda_5curve_ANNUAL_BASIS745,26934
+ __pyx_e_6pyisda_5curve_DISCOUNT_FACTOR = -2L__pyx_e_6pyisda_5curve_DISCOUNT_FACTOR746,26977
+struct __pyx_obj_6pyisda_4legs_ContingentLeg {__pyx_obj_6pyisda_4legs_ContingentLeg756,27190
+ TContingentLeg *_thisptr;_thisptr758,27253
+struct __pyx_obj_6pyisda_4legs_FeeLeg {__pyx_obj_6pyisda_4legs_FeeLeg768,27397
+ TFeeLeg *_thisptr;_thisptr770,27453
+struct __pyx_obj_6pyisda_5curve_Curve {__pyx_obj_6pyisda_5curve_Curve781,27628
+ std::shared_ptr<TCurve> _thisptr;_thisptr783,27684
+struct __pyx_obj_6pyisda_5curve_YieldCurve {__pyx_obj_6pyisda_5curve_YieldCurve794,27908
+ struct __pyx_obj_6pyisda_5curve_Curve __pyx_base;__pyx_base795,27953
+ TDate *_dates;_dates796,28005
+ size_t _ninstr;_ninstr797,28022
+struct __pyx_obj_6pyisda_5curve_SpreadCurve {__pyx_obj_6pyisda_5curve_SpreadCurve808,28178
+ struct __pyx_obj_6pyisda_5curve_Curve __pyx_base;__pyx_base809,28224
+ #define CYTHON_REFNANNY CYTHON_REFNANNY816,28368
+ void (*INCREF)(void*, PyObject*, int);INCREF820,28442
+ void (*DECREF)(void*, PyObject*, int);DECREF821,28485
+ void (*GOTREF)(void*, PyObject*, int);GOTREF822,28528
+ void (*GIVEREF)(void*, PyObject*, int);GIVEREF823,28571
+ void* (*SetupContext)(const char*, int, const char*);SetupContext824,28615
+ void (*FinishContext)(void**);FinishContext825,28673
+ } __Pyx_RefNannyAPIStruct;__Pyx_RefNannyAPIStruct826,28708
+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;__Pyx_RefNanny827,28737
+ #define __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations829,28874
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext831,28959
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext840,29395
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext843,29543
+ #define __Pyx_INCREF(__Pyx_INCREF845,29641
+ #define __Pyx_DECREF(__Pyx_DECREF846,29734
+ #define __Pyx_GOTREF(__Pyx_GOTREF847,29827
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF848,29920
+ #define __Pyx_XINCREF(__Pyx_XINCREF849,30014
+ #define __Pyx_XDECREF(__Pyx_XDECREF850,30093
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF851,30172
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF852,30251
+ #define __Pyx_RefNannyDeclarations__Pyx_RefNannyDeclarations854,30336
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext855,30373
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext856,30429
+ #define __Pyx_INCREF(__Pyx_INCREF857,30469
+ #define __Pyx_DECREF(__Pyx_DECREF858,30508
+ #define __Pyx_GOTREF(__Pyx_GOTREF859,30547
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF860,30573
+ #define __Pyx_XINCREF(__Pyx_XINCREF861,30600
+ #define __Pyx_XDECREF(__Pyx_XDECREF862,30641
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF863,30682
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF864,30709
+#define __Pyx_XDECREF_SET(__Pyx_XDECREF_SET866,30744
+#define __Pyx_DECREF_SET(__Pyx_DECREF_SET870,30875
+#define __Pyx_CLEAR(__Pyx_CLEAR874,31004
+#define __Pyx_XCLEAR(__Pyx_XCLEAR875,31108
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {__Pyx_PyObject_GetAttrStr879,31288
+#define __Pyx_PyObject_GetAttrStr(__Pyx_PyObject_GetAttrStr890,31685
+#define __Pyx_PyObject_Call(__Pyx_PyObject_Call919,32751
+#define __Pyx_PyThreadState_declare __Pyx_PyThreadState_declare924,32889
+#define __Pyx_PyThreadState_assign __Pyx_PyThreadState_assign925,32955
+#define __Pyx_PyThreadState_declare__Pyx_PyThreadState_declare927,33033
+#define __Pyx_PyThreadState_assign__Pyx_PyThreadState_assign928,33069
+#define __Pyx_ErrRestoreWithState(__Pyx_ErrRestoreWithState933,33171
+#define __Pyx_ErrFetchWithState(__Pyx_ErrFetchWithState934,33285
+#define __Pyx_ErrRestore(__Pyx_ErrRestore935,33397
+#define __Pyx_ErrFetch(__Pyx_ErrFetch936,33495
+#define __Pyx_ErrRestoreWithState(__Pyx_ErrRestoreWithState940,33840
+#define __Pyx_ErrFetchWithState(__Pyx_ErrFetchWithState941,33923
+#define __Pyx_ErrRestore(__Pyx_ErrRestore942,34002
+#define __Pyx_ErrFetch(__Pyx_ErrFetch943,34076
+ PyCodeObject* code_object;code_object951,34316
+ int code_line;code_line952,34347
+} __Pyx_CodeObjectCacheEntry;__Pyx_CodeObjectCacheEntry953,34366
+struct __Pyx_CodeObjectCache {__Pyx_CodeObjectCache954,34396
+ int count;count955,34427
+ int max_count;max_count956,34442
+ __Pyx_CodeObjectCacheEntry* entries;entries957,34461
+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};__pyx_code_cache959,34505
+ #define __Pyx_PyIdentifier_FromString(__Pyx_PyIdentifier_FromString989,35529
+ #define __Pyx_PyIdentifier_FromString(__Pyx_PyIdentifier_FromString991,35601
+static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;__pyx_ptype_7cpython_4type_type1013,36260
+static PyTypeObject *__pyx_ptype_7cpython_4bool_bool = 0;__pyx_ptype_7cpython_4bool_bool1046,37080
+static PyTypeObject *__pyx_ptype_7cpython_7complex_complex = 0;__pyx_ptype_7cpython_7complex_complex1055,37329
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_date = 0;__pyx_ptype_7cpython_8datetime_date1094,38324
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_time = 0;__pyx_ptype_7cpython_8datetime_time1095,38386
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_datetime = 0;__pyx_ptype_7cpython_8datetime_datetime1096,38448
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_timedelta = 0;__pyx_ptype_7cpython_8datetime_timedelta1097,38514
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_tzinfo = 0;__pyx_ptype_7cpython_8datetime_tzinfo1098,38581
+static long (*__pyx_f_6pyisda_4date_dcc)(PyObject *); /*proto*/__pyx_f_6pyisda_4date_dcc1101,38691
+static __pyx_t_6pyisda_4date_TDate (*__pyx_f_6pyisda_4date_pydate_to_TDate)(PyDateTime_Date *); /*proto*/__pyx_f_6pyisda_4date_pydate_to_TDate1102,38755
+static PyTypeObject *__pyx_ptype_6pyisda_4legs_ContingentLeg = 0;__pyx_ptype_6pyisda_4legs_ContingentLeg1105,38907
+static PyTypeObject *__pyx_ptype_6pyisda_4legs_FeeLeg = 0;__pyx_ptype_6pyisda_4legs_FeeLeg1106,38973
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_Curve = 0;__pyx_ptype_6pyisda_5curve_Curve1113,39168
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_YieldCurve = 0;__pyx_ptype_6pyisda_5curve_YieldCurve1114,39227
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_SpreadCurve = 0;__pyx_ptype_6pyisda_5curve_SpreadCurve1115,39291
+static int __pyx_v_6pyisda_6cdsone_SUCCESS;__pyx_v_6pyisda_6cdsone_SUCCESS1118,39404
+#define __Pyx_MODULE_NAME __Pyx_MODULE_NAME1119,39448
+int __pyx_module_is_main_pyisda__cdsone = 0;__pyx_module_is_main_pyisda__cdsone1120,39490
+static PyObject *__pyx_builtin_ValueError;__pyx_builtin_ValueError1123,39576
+static const char __pyx_k_yc[] = "yc";__pyx_k_yc1124,39619
+static const char __pyx_k_ivl[] = "ivl";__pyx_k_ivl1125,39658
+static const char __pyx_k_date[] = "date";__pyx_k_date1126,39699
+static const char __pyx_k_main[] = "__main__";__pyx_k_main1127,39742
+static const char __pyx_k_stub[] = "stub";__pyx_k_stub1128,39789
+static const char __pyx_k_test[] = "__test__";__pyx_k_test1129,39832
+static const char __pyx_k_today[] = "today";__pyx_k_today1130,39879
+static const char __pyx_k_result[] = "result";__pyx_k_result1131,39924
+static const char __pyx_k_spread[] = "spread";__pyx_k_spread1132,39971
+static const char __pyx_k_ACT_360[] = "ACT/360";__pyx_k_ACT_3601133,40018
+static const char __pyx_k_routine[] = "routine";__pyx_k_routine1134,40067
+static const char __pyx_k_upfront[] = "upfront";__pyx_k_upfront1135,40116
+static const char __pyx_k_end_date[] = "end_date";__pyx_k_end_date1136,40165
+static const char __pyx_k_ValueError[] = "ValueError";__pyx_k_ValueError1137,40216
+static const char __pyx_k_end_date_c[] = "end_date_c";__pyx_k_end_date_c1138,40271
+static const char __pyx_k_start_date[] = "start_date";__pyx_k_start_date1139,40326
+static const char __pyx_k_value_date[] = "value_date";__pyx_k_value_date1140,40381
+static const char __pyx_k_coupon_rate[] = "coupon_rate";__pyx_k_coupon_rate1141,40436
+static const char __pyx_k_stepin_date[] = "stepin_date";__pyx_k_stepin_date1142,40493
+static const char __pyx_k_start_date_c[] = "start_date_c";__pyx_k_start_date_c1143,40550
+static const char __pyx_k_value_date_c[] = "value_date_c";__pyx_k_value_date_c1144,40609
+static const char __pyx_k_pyisda_cdsone[] = "pyisda.cdsone";__pyx_k_pyisda_cdsone1145,40668
+static const char __pyx_k_recovery_rate[] = "recovery_rate";__pyx_k_recovery_rate1146,40729
+static const char __pyx_k_stepin_date_c[] = "stepin_date_c";__pyx_k_stepin_date_c1147,40790
+static const char __pyx_k_upfront_charge[] = "upfront_charge";__pyx_k_upfront_charge1148,40851
+static const char __pyx_k_can_t_convert_stub[] = "can't convert stub";__pyx_k_can_t_convert_stub1149,40914
+static const char __pyx_k_computation_failed[] = "computation failed";__pyx_k_computation_failed1150,40985
+static const char __pyx_k_spread_from_upfront[] = "spread_from_upfront";__pyx_k_spread_from_upfront1151,41056
+static const char __pyx_k_benchmark_start_date[] = "benchmark_start_date";__pyx_k_benchmark_start_date1152,41129
+static const char __pyx_k_pay_accrued_at_start[] = "pay_accrued_at_start";__pyx_k_pay_accrued_at_start1153,41204
+static const char __pyx_k_benchmark_start_date_c[] = "benchmark_start_date_c";__pyx_k_benchmark_start_date_c1154,41279
+static const char __pyx_k_pay_accrued_on_default[] = "pay_accrued_on_default";__pyx_k_pay_accrued_on_default1155,41358
+static const char __pyx_k_can_t_convert_to_date_interval[] = "can't convert to date interval";__pyx_k_can_t_convert_to_date_interval1156,41437
+static const char __pyx_k_home_guillaume_projects_code_py[] = "/home/guillaume/projects/code/python/pyisda/pyisda/cdsone.pyx";__pyx_k_home_guillaume_projects_code_py1157,41532
+static PyObject *__pyx_kp_s_ACT_360;__pyx_kp_s_ACT_3601158,41659
+static PyObject *__pyx_n_s_ValueError;__pyx_n_s_ValueError1159,41696
+static PyObject *__pyx_n_s_benchmark_start_date;__pyx_n_s_benchmark_start_date1160,41735
+static PyObject *__pyx_n_s_benchmark_start_date_c;__pyx_n_s_benchmark_start_date_c1161,41784
+static PyObject *__pyx_kp_s_can_t_convert_stub;__pyx_kp_s_can_t_convert_stub1162,41835
+static PyObject *__pyx_kp_s_can_t_convert_to_date_interval;__pyx_kp_s_can_t_convert_to_date_interval1163,41883
+static PyObject *__pyx_kp_s_computation_failed;__pyx_kp_s_computation_failed1164,41943
+static PyObject *__pyx_n_s_coupon_rate;__pyx_n_s_coupon_rate1165,41991
+static PyObject *__pyx_n_s_date;__pyx_n_s_date1166,42031
+static PyObject *__pyx_n_s_end_date;__pyx_n_s_end_date1167,42064
+static PyObject *__pyx_n_s_end_date_c;__pyx_n_s_end_date_c1168,42101
+static PyObject *__pyx_kp_s_home_guillaume_projects_code_py;__pyx_kp_s_home_guillaume_projects_code_py1169,42140
+static PyObject *__pyx_n_s_ivl;__pyx_n_s_ivl1170,42201
+static PyObject *__pyx_n_s_main;__pyx_n_s_main1171,42233
+static PyObject *__pyx_n_s_pay_accrued_at_start;__pyx_n_s_pay_accrued_at_start1172,42266
+static PyObject *__pyx_n_s_pay_accrued_on_default;__pyx_n_s_pay_accrued_on_default1173,42315
+static PyObject *__pyx_n_s_pyisda_cdsone;__pyx_n_s_pyisda_cdsone1174,42366
+static PyObject *__pyx_n_s_recovery_rate;__pyx_n_s_recovery_rate1175,42408
+static PyObject *__pyx_n_s_result;__pyx_n_s_result1176,42450
+static PyObject *__pyx_n_s_routine;__pyx_n_s_routine1177,42485
+static PyObject *__pyx_n_s_spread;__pyx_n_s_spread1178,42521
+static PyObject *__pyx_n_s_spread_from_upfront;__pyx_n_s_spread_from_upfront1179,42556
+static PyObject *__pyx_n_s_start_date;__pyx_n_s_start_date1180,42604
+static PyObject *__pyx_n_s_start_date_c;__pyx_n_s_start_date_c1181,42643
+static PyObject *__pyx_n_s_stepin_date;__pyx_n_s_stepin_date1182,42684
+static PyObject *__pyx_n_s_stepin_date_c;__pyx_n_s_stepin_date_c1183,42724
+static PyObject *__pyx_n_s_stub;__pyx_n_s_stub1184,42766
+static PyObject *__pyx_n_s_test;__pyx_n_s_test1185,42799
+static PyObject *__pyx_n_s_today;__pyx_n_s_today1186,42832
+static PyObject *__pyx_n_s_upfront;__pyx_n_s_upfront1187,42866
+static PyObject *__pyx_n_s_upfront_charge;__pyx_n_s_upfront_charge1188,42902
+static PyObject *__pyx_n_s_value_date;__pyx_n_s_value_date1189,42945
+static PyObject *__pyx_n_s_value_date_c;__pyx_n_s_value_date_c1190,42984
+static PyObject *__pyx_n_s_yc;__pyx_n_s_yc1191,43025
+static PyObject *__pyx_tuple_;__pyx_tuple_1194,44075
+static PyObject *__pyx_tuple__2;__pyx_tuple__21195,44106
+static PyObject *__pyx_tuple__3;__pyx_tuple__31196,44139
+static PyObject *__pyx_tuple__4;__pyx_tuple__41197,44172
+static PyObject *__pyx_tuple__5;__pyx_tuple__51198,44205
+static PyObject *__pyx_tuple__6;__pyx_tuple__61199,44238
+static PyObject *__pyx_tuple__7;__pyx_tuple__71200,44271
+static PyObject *__pyx_tuple__9;__pyx_tuple__91201,44304
+static PyObject *__pyx_codeobj__8;__pyx_codeobj__81202,44337
+static PyObject *__pyx_codeobj__10;__pyx_codeobj__101203,44372
+static char __pyx_doc_6pyisda_6cdsone_upfront_charge[] = "upfront_charge(date, value_date, benchmark_start_date, stepin_date, start_date, end_date, double coupon_rate, YieldCurve yc, double spread, double recovery_rate, TBoolean pay_accrued_at_start=True, TBoolean pay_accrued_on_default=True)\n\n Computes the fair upfront payment for a cds based on the fair spread.\n\n Parameters\n ----------\n date : :class:`datetime.date`\n today's date\n value_date : :class:`datetime.date`\n the date when cash is assumed to change hands.\n benchmark_start_date : :class:`datetime.date`\n should be same as `start_date`, not sure why there are two parameters.\n stepin_date : :class:`datetime.date`\n effective start of protection, typically `date` + 1\n start_date : :class:`datetime.date`\n beginning of cds, typically most recent IMM date before `date`\n end_date : :class:`datetime.date`\n last date of the cds\n coupon_rate : double\n cds fixed coupon.\n yc : :class:`~pyisda.cuve.YieldCurve`\n Yield curve\n spread : double\n cds running spread\n recovery_rate : double\n assumed recovery rate\n pay_accrued_at_start : bool, optional\n do we pay accrued from `start_date` to `date` (True means clean)\n pay_accrued_on_default : bool, optional\n in case of default do we pay current accrued on default or at maturity.\n ";__pyx_doc_6pyisda_6cdsone_upfront_charge1215,44828
+static PyMethodDef __pyx_mdef_6pyisda_6cdsone_1upfront_charge = {"upfront_charge", (PyCFunction)__pyx_pw_6pyisda_6cdsone_1upfront_charge, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6pyisda_6cdsone_upfront_charge};__pyx_mdef_6pyisda_6cdsone_1upfront_charge1216,46279
+static PyObject *__pyx_pw_6pyisda_6cdsone_1upfront_charge(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_6cdsone_1upfront_charge1217,46488
+static PyObject *__pyx_pf_6pyisda_6cdsone_upfront_charge(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_date, PyObject *__pyx_v_value_date, PyObject *__pyx_v_benchmark_start_date, PyObject *__pyx_v_stepin_date, PyObject *__pyx_v_start_date, PyObject *__pyx_v_end_date, double __pyx_v_coupon_rate, struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_yc, double __pyx_v_spread, double __pyx_v_recovery_rate, TBoolean __pyx_v_pay_accrued_at_start, TBoolean __pyx_v_pay_accrued_on_default) {__pyx_pf_6pyisda_6cdsone_upfront_charge1402,55604
+static char __pyx_doc_6pyisda_6cdsone_2spread_from_upfront[] = "spread_from_upfront(date, value_date, benchmark_start_date, stepin_date, start_date, end_date, double coupon_rate, YieldCurve yc, double upfront, double recovery_rate, TBoolean pay_accrued_at_start=True, TBoolean pay_accrued_on_default=True)\nComputes the equivalent fair spread for a cds with upfront+running.\n\n Parameters\n ----------\n date : :class:`datetime.date`\n today's date\n value_date : :class:`datetime.date`\n the date when cash is assumed to change hands.\n benchmark_start_date : :class:`datetime.date`\n should be same as `start_date`, not sure why there are two parameters.\n stepin_date : :class:`datetime.date`\n effective start of protection, typically `date` + 1\n start_date : :class:`datetime.date`\n beginning of cds, typically most recent IMM date before `date`\n end_date : :class:`datetime.date`\n last date of the cds\n coupon_rate : double\n cds fixed coupon.\n yc : :class:`~pyisda.cuve.YieldCurve`\n Yield curve\n upfront : double\n cds upfront\n recovery_rate : double\n assumed recovery rate\n pay_accrued_at_start : bool, optional\n do we pay accrued from `start_date` to `date`\n pay_accrued_on_default : bool, optional\n in case of default do we pay current accrued on default or at maturity.\n\n ";__pyx_doc_6pyisda_6cdsone_2spread_from_upfront1647,67958
+static PyMethodDef __pyx_mdef_6pyisda_6cdsone_3spread_from_upfront = {"spread_from_upfront", (PyCFunction)__pyx_pw_6pyisda_6cdsone_3spread_from_upfront, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6pyisda_6cdsone_2spread_from_upfront};__pyx_mdef_6pyisda_6cdsone_3spread_from_upfront1648,69390
+static PyObject *__pyx_pw_6pyisda_6cdsone_3spread_from_upfront(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_6cdsone_3spread_from_upfront1649,69620
+static PyObject *__pyx_pf_6pyisda_6cdsone_2spread_from_upfront(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_date, PyObject *__pyx_v_value_date, PyObject *__pyx_v_benchmark_start_date, PyObject *__pyx_v_stepin_date, PyObject *__pyx_v_start_date, PyObject *__pyx_v_end_date, double __pyx_v_coupon_rate, struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_yc, double __pyx_v_upfront, double __pyx_v_recovery_rate, TBoolean __pyx_v_pay_accrued_at_start, TBoolean __pyx_v_pay_accrued_on_default) {__pyx_pf_6pyisda_6cdsone_2spread_from_upfront1834,78971
+static CYTHON_INLINE void __pyx_f_7cpython_8datetime_import_datetime(void) {__pyx_f_7cpython_8datetime_import_datetime2075,90965
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_date_new(int __pyx_v_year, int __pyx_v_month, int __pyx_v_day) {__pyx_f_7cpython_8datetime_date_new2108,92038
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_time_new(int __pyx_v_hour, int __pyx_v_minute, int __pyx_v_second, int __pyx_v_microsecond, PyObject *__pyx_v_tz) {__pyx_f_7cpython_8datetime_time_new2155,93902
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_datetime_new(int __pyx_v_year, int __pyx_v_month, int __pyx_v_day, int __pyx_v_hour, int __pyx_v_minute, int __pyx_v_second, int __pyx_v_microsecond, PyObject *__pyx_v_tz) {__pyx_f_7cpython_8datetime_datetime_new2202,96036
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_timedelta_new(int __pyx_v_days, int __pyx_v_seconds, int __pyx_v_useconds) {__pyx_f_7cpython_8datetime_timedelta_new2249,98339
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_time_tzinfo(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_tzinfo2296,100141
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_datetime_tzinfo(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_tzinfo2370,102236
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_year(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_year2444,104329
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_month(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_month2481,105175
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_day(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_day2518,106022
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_year(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_year2555,106867
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_month(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_month2592,107749
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_day(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_day2629,108632
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_hour(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_hour2666,109494
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_minute(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_minute2703,110364
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_second(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_second2740,111252
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_microsecond(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_microsecond2777,112160
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_hour(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_hour2814,113097
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_minute(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_minute2851,114003
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_second(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_second2888,114927
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_microsecond(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_microsecond2925,115871
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_days(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_days2962,116835
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_seconds(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_seconds2999,117756
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_microseconds(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_microseconds3035,118720
+static PyMethodDef __pyx_methods[] = {__pyx_methods3061,119488
+static struct PyModuleDef __pyx_moduledef = {__pyx_moduledef3066,119572
+static __Pyx_StringTabEntry __pyx_string_tab[] = {__pyx_string_tab3083,119942
+static int __Pyx_InitCachedBuiltins(void) {__Pyx_InitCachedBuiltins3120,123181
+static int __Pyx_InitCachedConstants(void) {__Pyx_InitCachedConstants3127,123409
+static int __Pyx_InitGlobals(void) {__Pyx_InitGlobals3225,129301
+PyMODINIT_FUNC initcdsone(void)initcdsone3234,129533
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {__Pyx_RefNannyImportAPI3424,139504
+static PyObject *__Pyx_GetBuiltinName(PyObject *name) {__Pyx_GetBuiltinName3440,139932
+static void __Pyx_RaiseArgtupleInvalid(__Pyx_RaiseArgtupleInvalid3454,140332
+static void __Pyx_RaiseDoubleKeywordsError(__Pyx_RaiseDoubleKeywordsError3480,141097
+static int __Pyx_ParseOptionalKeywords(__Pyx_ParseOptionalKeywords3494,141506
+static void __Pyx_RaiseArgumentTypeInvalid(const char* name, PyObject *obj, PyTypeObject *type) {__Pyx_RaiseArgumentTypeInvalid3596,145078
+static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,__Pyx_ArgTypeTest3601,145343
+static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {__Pyx_TypeTest3623,146040
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {__Pyx_PyObject_Call3637,146493
+static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {__Pyx_ErrRestoreInState3657,147162
+static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx_ErrFetchInState3669,147622
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,__Pyx_Raise3681,147998
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {__Pyx_Raise3732,149478
+ static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {__pyx_bisect_code_objects3843,153131
+static PyCodeObject *__pyx_find_code_object(int code_line) {__pyx_find_code_object3864,153762
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {__pyx_insert_code_object3878,154322
+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(__Pyx_CreateCodeObjectForTraceback3926,156110
+static void __Pyx_AddTraceback(const char *funcname, int c_line,__Pyx_AddTraceback3978,157719
+ #define __PYX_VERIFY_RETURN_INT(__PYX_VERIFY_RETURN_INT4004,158647
+#define __PYX_VERIFY_RETURN_INT_EXC(__PYX_VERIFY_RETURN_INT_EXC4006,158786
+#define __PYX__VERIFY_RETURN_INT(__PYX__VERIFY_RETURN_INT4008,158927
+ static CYTHON_INLINE TBoolean __Pyx_PyInt_As_TBoolean(PyObject *x) {__Pyx_PyInt_As_TBoolean4026,159597
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {__Pyx_PyInt_From_long4215,169801
+ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {__Pyx_PyInt_As_long4246,170948
+ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {__Pyx_PyInt_As_int4435,180766
+ static int __Pyx_check_binary_version(void) {__Pyx_check_binary_version4624,190495
+#define __PYX_HAVE_RT_ImportModule__PYX_HAVE_RT_ImportModule4641,191177
+static PyObject *__Pyx_ImportModule(const char *name) {__Pyx_ImportModule4642,191212
+#define __PYX_HAVE_RT_ImportType__PYX_HAVE_RT_ImportType4659,191605
+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,__Pyx_ImportType4660,191638
+#define __PYX_HAVE_RT_ImportFunction__PYX_HAVE_RT_ImportFunction4724,193588
+static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {__Pyx_ImportFunction4725,193625
+ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {__Pyx_InitStrings4777,195167
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {__Pyx_PyUnicode_FromString4807,196091
+static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {__Pyx_PyObject_AsString4810,196252
+static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {__Pyx_PyObject_AsStringAndSize4814,196398
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {__Pyx_PyObject_IsTrue4872,198274
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {__Pyx_PyNumber_IntOrLong4877,198471
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {__Pyx_PyIndex_AsSsize_t4928,199619
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {__Pyx_PyInt_FromSize_t4990,201910
+
+pyisda/pyisda/version.cpp,27866
+#define PY_SSIZE_T_CLEANPY_SSIZE_T_CLEAN20,378
+#define CYTHON_ABI CYTHON_ABI27,707
+ #define offsetof(offsetof30,772
+ #define __stdcall__stdcall34,912
+ #define __cdecl__cdecl37,961
+ #define __fastcall__fastcall40,1011
+ #define DL_IMPORT(DL_IMPORT44,1068
+ #define DL_EXPORT(DL_EXPORT47,1118
+ #define HAVE_LONG_LONGHAVE_LONG_LONG51,1267
+ #define PY_LONG_LONG PY_LONG_LONG55,1331
+ #define Py_HUGE_VAL Py_HUGE_VAL58,1391
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY61,1449
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON62,1486
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON63,1525
+ #undef CYTHON_USE_TYPE_SLOTSCYTHON_USE_TYPE_SLOTS64,1565
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS65,1596
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS66,1630
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS67,1662
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS68,1697
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS69,1734
+ #undef CYTHON_USE_UNICODE_INTERNALSCYTHON_USE_UNICODE_INTERNALS70,1774
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS71,1812
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER72,1853
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER73,1888
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS74,1926
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS75,1963
+ #undef CYTHON_AVOID_BORROWED_REFSCYTHON_AVOID_BORROWED_REFS76,2003
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS77,2039
+ #undef CYTHON_ASSUME_SAFE_MACROSCYTHON_ASSUME_SAFE_MACROS78,2078
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS79,2113
+ #undef CYTHON_UNPACK_METHODSCYTHON_UNPACK_METHODS80,2151
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS81,2182
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE82,2216
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE83,2250
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL84,2287
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL85,2315
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY87,2376
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON88,2413
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON89,2452
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS91,2524
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS93,2569
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS94,2601
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS95,2636
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS96,2673
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS98,2752
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER100,2804
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER101,2839
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS102,2877
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS103,2914
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS105,2991
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS108,3077
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS111,3158
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE113,3203
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE114,3237
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL115,3274
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL116,3302
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY118,3339
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON119,3376
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON120,3415
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS122,3487
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS125,3559
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS126,3593
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS128,3671
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS131,3751
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS132,3790
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS134,3878
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS137,3967
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS140,4057
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER143,4143
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER144,4180
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER146,4264
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS149,4350
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS152,4436
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS155,4517
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE158,4597
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL161,4674
+#define CYTHON_FAST_PYCCALL CYTHON_FAST_PYCCALL165,4757
+ #undef SHIFTSHIFT169,4905
+ #undef BASEBASE170,4920
+ #undef MASKMASK171,4934
+ #define Py_OptimizeFlag Py_OptimizeFlag174,5044
+#define __PYX_BUILD_PY_SSIZE_T __PYX_BUILD_PY_SSIZE_T176,5079
+#define CYTHON_FORMAT_SSIZE_T CYTHON_FORMAT_SSIZE_T177,5114
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME179,5173
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New180,5223
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType182,5397
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME184,5449
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New185,5496
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType187,5671
+ #define Py_TPFLAGS_CHECKTYPES Py_TPFLAGS_CHECKTYPES190,5753
+ #define Py_TPFLAGS_HAVE_INDEX Py_TPFLAGS_HAVE_INDEX193,5824
+ #define Py_TPFLAGS_HAVE_NEWBUFFER Py_TPFLAGS_HAVE_NEWBUFFER196,5899
+ #define Py_TPFLAGS_HAVE_FINALIZE Py_TPFLAGS_HAVE_FINALIZE199,5977
+ #define METH_FASTCALL METH_FASTCALL202,6043
+ typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject **args,__Pyx_PyCFunctionFast203,6072
+ #define __Pyx_PyCFunctionFast __Pyx_PyCFunctionFast206,6241
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check209,6321
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check212,6499
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED215,6609
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY216,6643
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH218,6806
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR219,6872
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE220,6940
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND221,7014
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA222,7074
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ223,7134
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE224,7200
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE225,7275
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED227,7412
+ #define PyUnicode_1BYTE_KIND PyUnicode_1BYTE_KIND228,7446
+ #define PyUnicode_2BYTE_KIND PyUnicode_2BYTE_KIND229,7480
+ #define PyUnicode_4BYTE_KIND PyUnicode_4BYTE_KIND230,7514
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY231,7548
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH232,7594
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR233,7658
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE234,7740
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND235,7832
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA236,7895
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ237,7970
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE238,8056
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE239,8142
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat242,8249
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe243,8312
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat245,8381
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe246,8448
+ #define PyUnicode_Contains(PyUnicode_Contains250,8676
+ #define PyByteArray_Check(PyByteArray_Check253,8805
+ #define PyObject_Format(PyObject_Format256,8947
+ #define PyObject_Malloc(PyObject_Malloc259,9098
+ #define PyObject_Free(PyObject_Free260,9145
+ #define PyObject_Realloc(PyObject_Realloc261,9190
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars264,9276
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber265,9339
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars267,9435
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber268,9503
+#define __Pyx_PyString_FormatSafe(__Pyx_PyString_FormatSafe270,9593
+#define __Pyx_PyUnicode_FormatSafe(__Pyx_PyUnicode_FormatSafe271,9721
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format273,9870
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format275,9938
+ #define PyObject_ASCII(PyObject_ASCII278,10059
+ #define PyBaseString_Type PyBaseString_Type281,10148
+ #define PyStringObject PyStringObject282,10202
+ #define PyString_Type PyString_Type283,10257
+ #define PyString_Check PyString_Check284,10311
+ #define PyString_CheckExact PyString_CheckExact285,10366
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check288,10459
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact289,10520
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check291,10597
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact292,10683
+ #define PySet_CheckExact(PySet_CheckExact295,10816
+#define __Pyx_TypeCheck(__Pyx_TypeCheck297,10892
+#define __Pyx_PyException_Check(__Pyx_PyException_Check298,10973
+ #define PyIntObject PyIntObject300,11074
+ #define PyInt_Type PyInt_Type301,11126
+ #define PyInt_Check(PyInt_Check302,11177
+ #define PyInt_CheckExact(PyInt_CheckExact303,11233
+ #define PyInt_FromString PyInt_FromString304,11294
+ #define PyInt_FromUnicode PyInt_FromUnicode305,11351
+ #define PyInt_FromLong PyInt_FromLong306,11409
+ #define PyInt_FromSize_t PyInt_FromSize_t307,11464
+ #define PyInt_FromSsize_t PyInt_FromSsize_t308,11521
+ #define PyInt_AsLong PyInt_AsLong309,11579
+ #define PyInt_AS_LONG PyInt_AS_LONG310,11632
+ #define PyInt_AsSsize_t PyInt_AsSsize_t311,11686
+ #define PyInt_AsUnsignedLongMask PyInt_AsUnsignedLongMask312,11742
+ #define PyInt_AsUnsignedLongLongMask PyInt_AsUnsignedLongLongMask313,11807
+ #define PyNumber_Int PyNumber_Int314,11876
+ #define PyBoolObject PyBoolObject317,11962
+ #define PyUnicode_InternFromString(PyUnicode_InternFromString321,12112
+ typedef long Py_hash_t;Py_hash_t325,12226
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t326,12252
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t327,12300
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t329,12352
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t330,12403
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New333,12485
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New335,12604
+ #define __Pyx_PyAsyncMethodsStruct __Pyx_PyAsyncMethodsStruct339,12753
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync340,12807
+ unaryfunc am_await;am_await343,12902
+ unaryfunc am_aiter;am_aiter344,12930
+ unaryfunc am_anext;am_anext345,12958
+ } __Pyx_PyAsyncMethodsStruct;__Pyx_PyAsyncMethodsStruct346,12986
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync347,13020
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync350,13133
+ #define CYTHON_RESTRICT CYTHON_RESTRICT354,13229
+ #define CYTHON_RESTRICT CYTHON_RESTRICT356,13316
+ #define CYTHON_RESTRICT CYTHON_RESTRICT358,13421
+ #define CYTHON_RESTRICTCYTHON_RESTRICT360,13466
+# define CYTHON_UNUSED CYTHON_UNUSED366,13646
+# define CYTHON_UNUSEDCYTHON_UNUSED368,13711
+# define CYTHON_UNUSED CYTHON_UNUSED371,13823
+# define CYTHON_UNUSEDCYTHON_UNUSED373,13884
+ template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }CYTHON_MAYBE_UNUSED_VAR378,13983
+# define CYTHON_MAYBE_UNUSED_VAR(CYTHON_MAYBE_UNUSED_VAR380,14059
+# define CYTHON_NCP_UNUSEDCYTHON_NCP_UNUSED385,14183
+# define CYTHON_NCP_UNUSED CYTHON_NCP_UNUSED387,14218
+#define __Pyx_void_to_None(__Pyx_void_to_None390,14275
+ #define CYTHON_INLINE CYTHON_INLINE397,14533
+ #define CYTHON_INLINE CYTHON_INLINE399,14607
+void __Pyx_call_destructor(T& x) {__Pyx_call_destructor403,14677
+class __Pyx_FakeReference {__Pyx_FakeReference407,14747
+ __Pyx_FakeReference() : ptr(NULL) { }__Pyx_FakeReference409,14785
+ __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }__Pyx_FakeReference410,14827
+ T *operator->() { return ptr; }operator ->411,14897
+ T *operator&() { return ptr; }operator &412,14933
+ operator T&() { return *ptr; }operator T&413,14968
+ template<typename U> bool operator ==(U other) { return *ptr == other; }operator ==414,15003
+ template<typename U> bool operator !=(U other) { return *ptr != other; }operator !=415,15080
+ T *ptr;ptr417,15168
+ #define _USE_MATH_DEFINES_USE_MATH_DEFINES421,15226
+#define __PYX_NAN(__PYX_NAN425,15290
+static CYTHON_INLINE float __PYX_NAN() {__PYX_NAN427,15330
+#define __Pyx_truncl __Pyx_truncl434,15499
+#define __Pyx_truncl __Pyx_truncl436,15532
+#define __PYX_ERR(__PYX_ERR440,15569
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide446,15752
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide447,15822
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide449,15905
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide450,15971
+ #define __PYX_EXTERN_C __PYX_EXTERN_C455,16096
+ #define __PYX_EXTERN_C __PYX_EXTERN_C457,16142
+#define __PYX_HAVE__pyisda__version__PYX_HAVE__pyisda__version461,16193
+#define __PYX_HAVE_API__pyisda__version__PYX_HAVE_API__pyisda__version462,16229
+#define CYTHON_WITHOUT_ASSERTIONSCYTHON_WITHOUT_ASSERTIONS469,16381
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;p472,16423
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;s472,16423
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;n472,16423
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;encoding472,16423
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_unicode473,16510
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_str473,16510
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;intern473,16510
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;__Pyx_StringTabEntry473,16510
+#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII __PYX_DEFAULT_STRING_ENCODING_IS_ASCII475,16612
+#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT476,16661
+#define __PYX_DEFAULT_STRING_ENCODING __PYX_DEFAULT_STRING_ENCODING477,16712
+#define __Pyx_PyObject_FromString __Pyx_PyObject_FromString478,16753
+#define __Pyx_PyObject_FromStringAndSize __Pyx_PyObject_FromStringAndSize479,16812
+#define __Pyx_uchar_cast(__Pyx_uchar_cast480,16885
+#define __Pyx_long_cast(__Pyx_long_cast481,16932
+#define __Pyx_fits_Py_ssize_t(__Pyx_fits_Py_ssize_t482,16969
+ #define __Pyx_sst_abs(__Pyx_sst_abs494,17575
+ #define __Pyx_sst_abs(__Pyx_sst_abs496,17658
+ #define __Pyx_sst_abs(__Pyx_sst_abs498,17737
+ #define __Pyx_sst_abs(__Pyx_sst_abs500,17827
+ #define __Pyx_sst_abs(__Pyx_sst_abs502,17938
+ #define __Pyx_sst_abs(__Pyx_sst_abs504,18009
+ #define __Pyx_sst_abs(__Pyx_sst_abs506,18071
+#define __Pyx_PyByteArray_FromString(__Pyx_PyByteArray_FromString510,18293
+#define __Pyx_PyByteArray_FromStringAndSize(__Pyx_PyByteArray_FromStringAndSize511,18403
+#define __Pyx_PyBytes_FromString __Pyx_PyBytes_FromString512,18502
+#define __Pyx_PyBytes_FromStringAndSize __Pyx_PyBytes_FromStringAndSize513,18561
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString516,18724
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize517,18791
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString519,18871
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize520,18940
+#define __Pyx_PyObject_AsSString(__Pyx_PyObject_AsSString522,19023
+#define __Pyx_PyObject_AsUString(__Pyx_PyObject_AsUString523,19106
+#define __Pyx_PyObject_FromCString(__Pyx_PyObject_FromCString524,19191
+#define __Pyx_PyBytes_FromCString(__Pyx_PyBytes_FromCString525,19272
+#define __Pyx_PyByteArray_FromCString(__Pyx_PyByteArray_FromCString526,19352
+#define __Pyx_PyStr_FromCString(__Pyx_PyStr_FromCString527,19440
+#define __Pyx_PyUnicode_FromCString(__Pyx_PyUnicode_FromCString528,19518
+static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)__Pyx_Py_UNICODE_strlen530,19625
+#define __Pyx_Py_UNICODE_strlen __Pyx_Py_UNICODE_strlen537,19800
+#define __Pyx_PyUnicode_FromUnicode(__Pyx_PyUnicode_FromUnicode539,19857
+#define __Pyx_PyUnicode_FromUnicodeAndLength __Pyx_PyUnicode_FromUnicodeAndLength540,19955
+#define __Pyx_PyUnicode_AsUnicode __Pyx_PyUnicode_AsUnicode541,20022
+#define __Pyx_NewRef(__Pyx_NewRef542,20087
+#define __Pyx_Owned_Py_None(__Pyx_Owned_Py_None543,20135
+#define __Pyx_PyBool_FromLong(__Pyx_PyBool_FromLong544,20188
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble550,20567
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble552,20676
+#define __pyx_PyFloat_AsFloat(__pyx_PyFloat_AsFloat554,20737
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int556,20832
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int558,20928
+#define __Pyx_PyNumber_Float(__Pyx_PyNumber_Float560,21023
+static int __Pyx_sys_getdefaultencoding_not_ascii;__Pyx_sys_getdefaultencoding_not_ascii562,21184
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params563,21235
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize608,22964
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize610,23065
+static char* __PYX_DEFAULT_STRING_ENCODING;__PYX_DEFAULT_STRING_ENCODING612,23232
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params613,23276
+ #define likely(likely639,24170
+ #define unlikely(unlikely640,24219
+ #define likely(likely642,24304
+ #define unlikely(unlikely643,24330
+static PyObject *__pyx_m;__pyx_m646,24379
+static PyObject *__pyx_d;__pyx_d647,24405
+static PyObject *__pyx_b;__pyx_b648,24431
+static PyObject *__pyx_empty_tuple;__pyx_empty_tuple649,24457
+static PyObject *__pyx_empty_bytes;__pyx_empty_bytes650,24493
+static PyObject *__pyx_empty_unicode;__pyx_empty_unicode651,24529
+static int __pyx_lineno;__pyx_lineno652,24567
+static int __pyx_clineno = 0;__pyx_clineno653,24592
+static const char * __pyx_cfilenm= __FILE__;__pyx_cfilenm654,24622
+static const char *__pyx_filename;__pyx_filename655,24667
+static const char *__pyx_f[] = {__pyx_f658,24704
+ #define CYTHON_REFNANNY CYTHON_REFNANNY667,24883
+ void (*INCREF)(void*, PyObject*, int);INCREF671,24957
+ void (*DECREF)(void*, PyObject*, int);DECREF672,25000
+ void (*GOTREF)(void*, PyObject*, int);GOTREF673,25043
+ void (*GIVEREF)(void*, PyObject*, int);GIVEREF674,25086
+ void* (*SetupContext)(const char*, int, const char*);SetupContext675,25130
+ void (*FinishContext)(void**);FinishContext676,25188
+ } __Pyx_RefNannyAPIStruct;__Pyx_RefNannyAPIStruct677,25223
+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;__Pyx_RefNanny678,25252
+ #define __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations680,25389
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext682,25474
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext691,25910
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext694,26058
+ #define __Pyx_INCREF(__Pyx_INCREF696,26156
+ #define __Pyx_DECREF(__Pyx_DECREF697,26249
+ #define __Pyx_GOTREF(__Pyx_GOTREF698,26342
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF699,26435
+ #define __Pyx_XINCREF(__Pyx_XINCREF700,26529
+ #define __Pyx_XDECREF(__Pyx_XDECREF701,26608
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF702,26687
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF703,26766
+ #define __Pyx_RefNannyDeclarations__Pyx_RefNannyDeclarations705,26851
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext706,26888
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext707,26944
+ #define __Pyx_INCREF(__Pyx_INCREF708,26984
+ #define __Pyx_DECREF(__Pyx_DECREF709,27023
+ #define __Pyx_GOTREF(__Pyx_GOTREF710,27062
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF711,27088
+ #define __Pyx_XINCREF(__Pyx_XINCREF712,27115
+ #define __Pyx_XDECREF(__Pyx_XDECREF713,27156
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF714,27197
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF715,27224
+#define __Pyx_XDECREF_SET(__Pyx_XDECREF_SET717,27259
+#define __Pyx_DECREF_SET(__Pyx_DECREF_SET721,27390
+#define __Pyx_CLEAR(__Pyx_CLEAR725,27519
+#define __Pyx_XCLEAR(__Pyx_XCLEAR726,27623
+static CYTHON_INLINE PyObject* __Pyx_decode_bytes(__Pyx_decode_bytes735,28075
+ PyCodeObject* code_object;code_object746,28523
+ int code_line;code_line747,28554
+} __Pyx_CodeObjectCacheEntry;__Pyx_CodeObjectCacheEntry748,28573
+struct __Pyx_CodeObjectCache {__Pyx_CodeObjectCache749,28603
+ int count;count750,28634
+ int max_count;max_count751,28649
+ __Pyx_CodeObjectCacheEntry* entries;entries752,28668
+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};__pyx_code_cache754,28712
+static PyObject* __pyx_print = 0;__pyx_print766,29303
+static PyObject* __pyx_print_kwargs = 0;__pyx_print_kwargs767,29337
+#define __Pyx_MODULE_NAME __Pyx_MODULE_NAME790,29924
+int __pyx_module_is_main_pyisda__version = 0;__pyx_module_is_main_pyisda__version791,29967
+static const char __pyx_k_end[] = "end";__pyx_k_end794,30055
+static const char __pyx_k_file[] = "file";__pyx_k_file795,30096
+static const char __pyx_k_main[] = "__main__";__pyx_k_main796,30139
+static const char __pyx_k_test[] = "__test__";__pyx_k_test797,30186
+static const char __pyx_k_print[] = "print";__pyx_k_print798,30233
+static const char __pyx_k_version[] = "version";__pyx_k_version799,30278
+static const char __pyx_k_c_version[] = "c_version";__pyx_k_c_version800,30327
+static const char __pyx_k_pyisda_version[] = "pyisda.version";__pyx_k_pyisda_version801,30380
+static const char __pyx_k_version_string[] = "version_string";__pyx_k_version_string802,30443
+static const char __pyx_k_can_t_get_version[] = "can't get version";__pyx_k_can_t_get_version803,30506
+static const char __pyx_k_home_guillaume_projects_code_py[] = "/home/guillaume/projects/code/python/pyisda/pyisda/version.pyx";__pyx_k_home_guillaume_projects_code_py804,30575
+static PyObject *__pyx_n_s_c_version;__pyx_n_s_c_version805,30703
+static PyObject *__pyx_kp_s_can_t_get_version;__pyx_kp_s_can_t_get_version806,30741
+static PyObject *__pyx_n_s_end;__pyx_n_s_end807,30788
+static PyObject *__pyx_n_s_file;__pyx_n_s_file808,30820
+static PyObject *__pyx_kp_s_home_guillaume_projects_code_py;__pyx_kp_s_home_guillaume_projects_code_py809,30853
+static PyObject *__pyx_n_s_main;__pyx_n_s_main810,30914
+static PyObject *__pyx_n_s_print;__pyx_n_s_print811,30947
+static PyObject *__pyx_n_s_pyisda_version;__pyx_n_s_pyisda_version812,30981
+static PyObject *__pyx_n_s_test;__pyx_n_s_test813,31024
+static PyObject *__pyx_n_s_version;__pyx_n_s_version814,31057
+static PyObject *__pyx_n_s_version_string;__pyx_n_s_version_string815,31093
+static PyObject *__pyx_tuple_;__pyx_tuple_817,31236
+static PyObject *__pyx_codeobj__2;__pyx_codeobj__2818,31267
+static char __pyx_doc_6pyisda_7version_version[] = "version()";__pyx_doc_6pyisda_7version_version830,31640
+static PyMethodDef __pyx_mdef_6pyisda_7version_1version = {"version", (PyCFunction)__pyx_pw_6pyisda_7version_1version, METH_NOARGS, __pyx_doc_6pyisda_7version_version};__pyx_mdef_6pyisda_7version_1version831,31704
+static PyObject *__pyx_pw_6pyisda_7version_1version(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {__pyx_pw_6pyisda_7version_1version832,31873
+static PyObject *__pyx_pf_6pyisda_7version_version(CYTHON_UNUSED PyObject *__pyx_self) {__pyx_pf_6pyisda_7version_version843,32230
+static PyMethodDef __pyx_methods[] = {__pyx_methods923,34922
+static struct PyModuleDef __pyx_moduledef = {__pyx_moduledef928,35006
+static __Pyx_StringTabEntry __pyx_string_tab[] = {__pyx_string_tab945,35377
+static int __Pyx_InitCachedBuiltins(void) {__Pyx_InitCachedBuiltins959,36420
+static int __Pyx_InitCachedConstants(void) {__Pyx_InitCachedConstants963,36479
+static int __Pyx_InitGlobals(void) {__Pyx_InitGlobals985,37456
+PyMODINIT_FUNC initversion(void)initversion994,37689
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {__Pyx_RefNannyImportAPI1131,43075
+static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes(__Pyx_decode_c_bytes1147,43503
+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {__pyx_bisect_code_objects1174,44361
+static PyCodeObject *__pyx_find_code_object(int code_line) {__pyx_find_code_object1195,44990
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {__pyx_insert_code_object1209,45550
+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(__Pyx_CreateCodeObjectForTraceback1257,47336
+static void __Pyx_AddTraceback(const char *funcname, int c_line,__Pyx_AddTraceback1309,48945
+static PyObject *__Pyx_GetStdout(void) {__Pyx_GetStdout1336,49916
+static int __Pyx_Print(PyObject* f, PyObject *arg_tuple, int newline) {__Pyx_Print1343,50110
+static int __Pyx_Print(PyObject* stream, PyObject *arg_tuple, int newline) {__Pyx_Print1385,51284
+static int __Pyx_PrintOne(PyObject* f, PyObject *o) {__Pyx_PrintOne1442,53100
+static int __Pyx_PrintOne(PyObject* stream, PyObject *o) {__Pyx_PrintOne1466,53702
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {__Pyx_PyInt_From_long1478,53981
+#define __PYX_VERIFY_RETURN_INT(__PYX_VERIFY_RETURN_INT1509,55132
+#define __PYX_VERIFY_RETURN_INT_EXC(__PYX_VERIFY_RETURN_INT_EXC1511,55269
+#define __PYX__VERIFY_RETURN_INT(__PYX__VERIFY_RETURN_INT1513,55410
+static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {__Pyx_PyInt_As_long1531,56080
+static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {__Pyx_PyInt_As_int1720,65896
+static int __Pyx_check_binary_version(void) {__Pyx_check_binary_version1909,75623
+static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {__Pyx_InitStrings1925,76265
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {__Pyx_PyUnicode_FromString1955,77187
+static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {__Pyx_PyObject_AsString1958,77348
+static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {__Pyx_PyObject_AsStringAndSize1962,77494
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {__Pyx_PyObject_IsTrue2020,79370
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {__Pyx_PyNumber_IntOrLong2025,79567
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {__Pyx_PyIndex_AsSsize_t2076,80715
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {__Pyx_PyInt_FromSize_t2138,83006
+
+pyisda/pyisda/legs.cpp,50279
+#define PY_SSIZE_T_CLEANPY_SSIZE_T_CLEAN20,375
+#define CYTHON_ABI CYTHON_ABI27,704
+ #define offsetof(offsetof30,769
+ #define __stdcall__stdcall34,909
+ #define __cdecl__cdecl37,958
+ #define __fastcall__fastcall40,1008
+ #define DL_IMPORT(DL_IMPORT44,1065
+ #define DL_EXPORT(DL_EXPORT47,1115
+ #define HAVE_LONG_LONGHAVE_LONG_LONG51,1264
+ #define PY_LONG_LONG PY_LONG_LONG55,1328
+ #define Py_HUGE_VAL Py_HUGE_VAL58,1388
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY61,1446
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON62,1483
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON63,1522
+ #undef CYTHON_USE_TYPE_SLOTSCYTHON_USE_TYPE_SLOTS64,1562
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS65,1593
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS66,1627
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS67,1659
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS68,1694
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS69,1731
+ #undef CYTHON_USE_UNICODE_INTERNALSCYTHON_USE_UNICODE_INTERNALS70,1771
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS71,1809
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER72,1850
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER73,1885
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS74,1923
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS75,1960
+ #undef CYTHON_AVOID_BORROWED_REFSCYTHON_AVOID_BORROWED_REFS76,2000
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS77,2036
+ #undef CYTHON_ASSUME_SAFE_MACROSCYTHON_ASSUME_SAFE_MACROS78,2075
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS79,2110
+ #undef CYTHON_UNPACK_METHODSCYTHON_UNPACK_METHODS80,2148
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS81,2179
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE82,2213
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE83,2247
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL84,2284
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL85,2312
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY87,2373
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON88,2410
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON89,2449
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS91,2521
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS93,2566
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS94,2598
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS95,2633
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS96,2670
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS98,2749
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER100,2801
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER101,2836
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS102,2874
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS103,2911
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS105,2988
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS108,3074
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS111,3155
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE113,3200
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE114,3234
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL115,3271
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL116,3299
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY118,3336
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON119,3373
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON120,3412
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS122,3484
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS125,3556
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS126,3590
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS128,3668
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS131,3748
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS132,3787
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS134,3875
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS137,3964
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS140,4054
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER143,4140
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER144,4177
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER146,4261
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS149,4347
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS152,4433
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS155,4514
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE158,4594
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL161,4671
+#define CYTHON_FAST_PYCCALL CYTHON_FAST_PYCCALL165,4754
+ #undef SHIFTSHIFT169,4902
+ #undef BASEBASE170,4917
+ #undef MASKMASK171,4931
+ #define Py_OptimizeFlag Py_OptimizeFlag174,5041
+#define __PYX_BUILD_PY_SSIZE_T __PYX_BUILD_PY_SSIZE_T176,5076
+#define CYTHON_FORMAT_SSIZE_T CYTHON_FORMAT_SSIZE_T177,5111
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME179,5170
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New180,5220
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType182,5394
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME184,5446
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New185,5493
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType187,5668
+ #define Py_TPFLAGS_CHECKTYPES Py_TPFLAGS_CHECKTYPES190,5750
+ #define Py_TPFLAGS_HAVE_INDEX Py_TPFLAGS_HAVE_INDEX193,5821
+ #define Py_TPFLAGS_HAVE_NEWBUFFER Py_TPFLAGS_HAVE_NEWBUFFER196,5896
+ #define Py_TPFLAGS_HAVE_FINALIZE Py_TPFLAGS_HAVE_FINALIZE199,5974
+ #define METH_FASTCALL METH_FASTCALL202,6040
+ typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject **args,__Pyx_PyCFunctionFast203,6069
+ #define __Pyx_PyCFunctionFast __Pyx_PyCFunctionFast206,6238
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check209,6318
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check212,6496
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED215,6606
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY216,6640
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH218,6803
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR219,6869
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE220,6937
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND221,7011
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA222,7071
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ223,7131
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE224,7197
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE225,7272
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED227,7409
+ #define PyUnicode_1BYTE_KIND PyUnicode_1BYTE_KIND228,7443
+ #define PyUnicode_2BYTE_KIND PyUnicode_2BYTE_KIND229,7477
+ #define PyUnicode_4BYTE_KIND PyUnicode_4BYTE_KIND230,7511
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY231,7545
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH232,7591
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR233,7655
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE234,7737
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND235,7829
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA236,7892
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ237,7967
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE238,8053
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE239,8139
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat242,8246
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe243,8309
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat245,8378
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe246,8445
+ #define PyUnicode_Contains(PyUnicode_Contains250,8673
+ #define PyByteArray_Check(PyByteArray_Check253,8802
+ #define PyObject_Format(PyObject_Format256,8944
+ #define PyObject_Malloc(PyObject_Malloc259,9095
+ #define PyObject_Free(PyObject_Free260,9142
+ #define PyObject_Realloc(PyObject_Realloc261,9187
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars264,9273
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber265,9336
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars267,9432
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber268,9500
+#define __Pyx_PyString_FormatSafe(__Pyx_PyString_FormatSafe270,9590
+#define __Pyx_PyUnicode_FormatSafe(__Pyx_PyUnicode_FormatSafe271,9718
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format273,9867
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format275,9935
+ #define PyObject_ASCII(PyObject_ASCII278,10056
+ #define PyBaseString_Type PyBaseString_Type281,10145
+ #define PyStringObject PyStringObject282,10199
+ #define PyString_Type PyString_Type283,10254
+ #define PyString_Check PyString_Check284,10308
+ #define PyString_CheckExact PyString_CheckExact285,10363
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check288,10456
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact289,10517
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check291,10594
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact292,10680
+ #define PySet_CheckExact(PySet_CheckExact295,10813
+#define __Pyx_TypeCheck(__Pyx_TypeCheck297,10889
+#define __Pyx_PyException_Check(__Pyx_PyException_Check298,10970
+ #define PyIntObject PyIntObject300,11071
+ #define PyInt_Type PyInt_Type301,11123
+ #define PyInt_Check(PyInt_Check302,11174
+ #define PyInt_CheckExact(PyInt_CheckExact303,11230
+ #define PyInt_FromString PyInt_FromString304,11291
+ #define PyInt_FromUnicode PyInt_FromUnicode305,11348
+ #define PyInt_FromLong PyInt_FromLong306,11406
+ #define PyInt_FromSize_t PyInt_FromSize_t307,11461
+ #define PyInt_FromSsize_t PyInt_FromSsize_t308,11518
+ #define PyInt_AsLong PyInt_AsLong309,11576
+ #define PyInt_AS_LONG PyInt_AS_LONG310,11629
+ #define PyInt_AsSsize_t PyInt_AsSsize_t311,11683
+ #define PyInt_AsUnsignedLongMask PyInt_AsUnsignedLongMask312,11739
+ #define PyInt_AsUnsignedLongLongMask PyInt_AsUnsignedLongLongMask313,11804
+ #define PyNumber_Int PyNumber_Int314,11873
+ #define PyBoolObject PyBoolObject317,11959
+ #define PyUnicode_InternFromString(PyUnicode_InternFromString321,12109
+ typedef long Py_hash_t;Py_hash_t325,12223
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t326,12249
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t327,12297
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t329,12349
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t330,12400
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New333,12482
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New335,12601
+ #define __Pyx_PyAsyncMethodsStruct __Pyx_PyAsyncMethodsStruct339,12750
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync340,12804
+ unaryfunc am_await;am_await343,12899
+ unaryfunc am_aiter;am_aiter344,12927
+ unaryfunc am_anext;am_anext345,12955
+ } __Pyx_PyAsyncMethodsStruct;__Pyx_PyAsyncMethodsStruct346,12983
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync347,13017
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync350,13130
+ #define CYTHON_RESTRICT CYTHON_RESTRICT354,13226
+ #define CYTHON_RESTRICT CYTHON_RESTRICT356,13313
+ #define CYTHON_RESTRICT CYTHON_RESTRICT358,13418
+ #define CYTHON_RESTRICTCYTHON_RESTRICT360,13463
+# define CYTHON_UNUSED CYTHON_UNUSED366,13643
+# define CYTHON_UNUSEDCYTHON_UNUSED368,13708
+# define CYTHON_UNUSED CYTHON_UNUSED371,13820
+# define CYTHON_UNUSEDCYTHON_UNUSED373,13881
+ template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }CYTHON_MAYBE_UNUSED_VAR378,13980
+# define CYTHON_MAYBE_UNUSED_VAR(CYTHON_MAYBE_UNUSED_VAR380,14056
+# define CYTHON_NCP_UNUSEDCYTHON_NCP_UNUSED385,14180
+# define CYTHON_NCP_UNUSED CYTHON_NCP_UNUSED387,14215
+#define __Pyx_void_to_None(__Pyx_void_to_None390,14272
+ #define CYTHON_INLINE CYTHON_INLINE397,14530
+ #define CYTHON_INLINE CYTHON_INLINE399,14604
+void __Pyx_call_destructor(T& x) {__Pyx_call_destructor403,14674
+class __Pyx_FakeReference {__Pyx_FakeReference407,14744
+ __Pyx_FakeReference() : ptr(NULL) { }__Pyx_FakeReference409,14782
+ __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }__Pyx_FakeReference410,14824
+ T *operator->() { return ptr; }operator ->411,14894
+ T *operator&() { return ptr; }operator &412,14930
+ operator T&() { return *ptr; }operator T&413,14965
+ template<typename U> bool operator ==(U other) { return *ptr == other; }operator ==414,15000
+ template<typename U> bool operator !=(U other) { return *ptr != other; }operator !=415,15077
+ T *ptr;ptr417,15165
+ #define _USE_MATH_DEFINES_USE_MATH_DEFINES421,15223
+#define __PYX_NAN(__PYX_NAN425,15287
+static CYTHON_INLINE float __PYX_NAN() {__PYX_NAN427,15327
+#define __Pyx_truncl __Pyx_truncl434,15496
+#define __Pyx_truncl __Pyx_truncl436,15529
+#define __PYX_ERR(__PYX_ERR440,15566
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide446,15749
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide447,15819
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide449,15902
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide450,15968
+ #define __PYX_EXTERN_C __PYX_EXTERN_C455,16093
+ #define __PYX_EXTERN_C __PYX_EXTERN_C457,16139
+#define __PYX_HAVE__pyisda__legs__PYX_HAVE__pyisda__legs461,16190
+#define __PYX_HAVE_API__pyisda__legs__PYX_HAVE_API__pyisda__legs462,16223
+#define CYTHON_WITHOUT_ASSERTIONSCYTHON_WITHOUT_ASSERTIONS498,17047
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;p501,17089
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;s501,17089
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;n501,17089
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;encoding501,17089
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_unicode502,17176
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_str502,17176
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;intern502,17176
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;__Pyx_StringTabEntry502,17176
+#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII __PYX_DEFAULT_STRING_ENCODING_IS_ASCII504,17278
+#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT505,17327
+#define __PYX_DEFAULT_STRING_ENCODING __PYX_DEFAULT_STRING_ENCODING506,17378
+#define __Pyx_PyObject_FromString __Pyx_PyObject_FromString507,17419
+#define __Pyx_PyObject_FromStringAndSize __Pyx_PyObject_FromStringAndSize508,17478
+#define __Pyx_uchar_cast(__Pyx_uchar_cast509,17551
+#define __Pyx_long_cast(__Pyx_long_cast510,17598
+#define __Pyx_fits_Py_ssize_t(__Pyx_fits_Py_ssize_t511,17635
+ #define __Pyx_sst_abs(__Pyx_sst_abs523,18241
+ #define __Pyx_sst_abs(__Pyx_sst_abs525,18324
+ #define __Pyx_sst_abs(__Pyx_sst_abs527,18403
+ #define __Pyx_sst_abs(__Pyx_sst_abs529,18493
+ #define __Pyx_sst_abs(__Pyx_sst_abs531,18604
+ #define __Pyx_sst_abs(__Pyx_sst_abs533,18675
+ #define __Pyx_sst_abs(__Pyx_sst_abs535,18737
+#define __Pyx_PyByteArray_FromString(__Pyx_PyByteArray_FromString539,18959
+#define __Pyx_PyByteArray_FromStringAndSize(__Pyx_PyByteArray_FromStringAndSize540,19069
+#define __Pyx_PyBytes_FromString __Pyx_PyBytes_FromString541,19168
+#define __Pyx_PyBytes_FromStringAndSize __Pyx_PyBytes_FromStringAndSize542,19227
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString545,19390
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize546,19457
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString548,19537
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize549,19606
+#define __Pyx_PyObject_AsSString(__Pyx_PyObject_AsSString551,19689
+#define __Pyx_PyObject_AsUString(__Pyx_PyObject_AsUString552,19772
+#define __Pyx_PyObject_FromCString(__Pyx_PyObject_FromCString553,19857
+#define __Pyx_PyBytes_FromCString(__Pyx_PyBytes_FromCString554,19938
+#define __Pyx_PyByteArray_FromCString(__Pyx_PyByteArray_FromCString555,20018
+#define __Pyx_PyStr_FromCString(__Pyx_PyStr_FromCString556,20106
+#define __Pyx_PyUnicode_FromCString(__Pyx_PyUnicode_FromCString557,20184
+static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)__Pyx_Py_UNICODE_strlen559,20291
+#define __Pyx_Py_UNICODE_strlen __Pyx_Py_UNICODE_strlen566,20466
+#define __Pyx_PyUnicode_FromUnicode(__Pyx_PyUnicode_FromUnicode568,20523
+#define __Pyx_PyUnicode_FromUnicodeAndLength __Pyx_PyUnicode_FromUnicodeAndLength569,20621
+#define __Pyx_PyUnicode_AsUnicode __Pyx_PyUnicode_AsUnicode570,20688
+#define __Pyx_NewRef(__Pyx_NewRef571,20753
+#define __Pyx_Owned_Py_None(__Pyx_Owned_Py_None572,20801
+#define __Pyx_PyBool_FromLong(__Pyx_PyBool_FromLong573,20854
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble579,21233
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble581,21342
+#define __pyx_PyFloat_AsFloat(__pyx_PyFloat_AsFloat583,21403
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int585,21498
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int587,21594
+#define __Pyx_PyNumber_Float(__Pyx_PyNumber_Float589,21689
+static int __Pyx_sys_getdefaultencoding_not_ascii;__Pyx_sys_getdefaultencoding_not_ascii591,21850
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params592,21901
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize637,23630
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize639,23731
+static char* __PYX_DEFAULT_STRING_ENCODING;__PYX_DEFAULT_STRING_ENCODING641,23898
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params642,23942
+ #define likely(likely668,24836
+ #define unlikely(unlikely669,24885
+ #define likely(likely671,24970
+ #define unlikely(unlikely672,24996
+static PyObject *__pyx_m;__pyx_m675,25045
+static PyObject *__pyx_d;__pyx_d676,25071
+static PyObject *__pyx_b;__pyx_b677,25097
+static PyObject *__pyx_empty_tuple;__pyx_empty_tuple678,25123
+static PyObject *__pyx_empty_bytes;__pyx_empty_bytes679,25159
+static PyObject *__pyx_empty_unicode;__pyx_empty_unicode680,25195
+static int __pyx_lineno;__pyx_lineno681,25233
+static int __pyx_clineno = 0;__pyx_clineno682,25258
+static const char * __pyx_cfilenm= __FILE__;__pyx_cfilenm683,25288
+static const char *__pyx_filename;__pyx_filename684,25333
+static const char *__pyx_f[] = {__pyx_f687,25370
+typedef long __pyx_t_6pyisda_4date_TDate;__pyx_t_6pyisda_4date_TDate703,25653
+typedef int __pyx_t_6pyisda_4legs_TBoolean;__pyx_t_6pyisda_4legs_TBoolean712,25847
+enum __pyx_t_6pyisda_4date_DCC {__pyx_t_6pyisda_4date_DCC728,26333
+ __pyx_e_6pyisda_4date_ACT_365 = 1L,__pyx_e_6pyisda_4date_ACT_365729,26366
+ __pyx_e_6pyisda_4date_ACT_365F = 2L,__pyx_e_6pyisda_4date_ACT_365F730,26404
+ __pyx_e_6pyisda_4date_ACT_360 = 3L__pyx_e_6pyisda_4date_ACT_360731,26443
+enum __pyx_t_6pyisda_5curve_Basis {__pyx_t_6pyisda_5curve_Basis741,26759
+ __pyx_e_6pyisda_5curve_CONTINUOUS = 0x1388,__pyx_e_6pyisda_5curve_CONTINUOUS742,26795
+ __pyx_e_6pyisda_5curve_DISCOUNT_RATE = 0x200,__pyx_e_6pyisda_5curve_DISCOUNT_RATE743,26841
+ __pyx_e_6pyisda_5curve_SIMPLE_BASIS = 0,__pyx_e_6pyisda_5curve_SIMPLE_BASIS744,26889
+ __pyx_e_6pyisda_5curve_ANNUAL_BASIS = 1,__pyx_e_6pyisda_5curve_ANNUAL_BASIS745,26932
+ __pyx_e_6pyisda_5curve_DISCOUNT_FACTOR = -2L__pyx_e_6pyisda_5curve_DISCOUNT_FACTOR746,26975
+struct __pyx_obj_6pyisda_5curve_Curve {__pyx_obj_6pyisda_5curve_Curve756,27175
+ std::shared_ptr<TCurve> _thisptr;_thisptr758,27231
+struct __pyx_obj_6pyisda_5curve_YieldCurve {__pyx_obj_6pyisda_5curve_YieldCurve769,27455
+ struct __pyx_obj_6pyisda_5curve_Curve __pyx_base;__pyx_base770,27500
+ TDate *_dates;_dates771,27552
+ size_t _ninstr;_ninstr772,27569
+struct __pyx_obj_6pyisda_5curve_SpreadCurve {__pyx_obj_6pyisda_5curve_SpreadCurve783,27725
+ struct __pyx_obj_6pyisda_5curve_Curve __pyx_base;__pyx_base784,27771
+struct __pyx_obj_6pyisda_4legs_ContingentLeg {__pyx_obj_6pyisda_4legs_ContingentLeg795,27997
+ TContingentLeg *_thisptr;_thisptr797,28060
+struct __pyx_obj_6pyisda_4legs_FeeLeg {__pyx_obj_6pyisda_4legs_FeeLeg807,28211
+ TFeeLeg *_thisptr;_thisptr809,28267
+ #define CYTHON_REFNANNY CYTHON_REFNANNY816,28380
+ void (*INCREF)(void*, PyObject*, int);INCREF820,28454
+ void (*DECREF)(void*, PyObject*, int);DECREF821,28497
+ void (*GOTREF)(void*, PyObject*, int);GOTREF822,28540
+ void (*GIVEREF)(void*, PyObject*, int);GIVEREF823,28583
+ void* (*SetupContext)(const char*, int, const char*);SetupContext824,28627
+ void (*FinishContext)(void**);FinishContext825,28685
+ } __Pyx_RefNannyAPIStruct;__Pyx_RefNannyAPIStruct826,28720
+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;__Pyx_RefNanny827,28749
+ #define __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations829,28886
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext831,28971
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext840,29407
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext843,29555
+ #define __Pyx_INCREF(__Pyx_INCREF845,29653
+ #define __Pyx_DECREF(__Pyx_DECREF846,29746
+ #define __Pyx_GOTREF(__Pyx_GOTREF847,29839
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF848,29932
+ #define __Pyx_XINCREF(__Pyx_XINCREF849,30026
+ #define __Pyx_XDECREF(__Pyx_XDECREF850,30105
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF851,30184
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF852,30263
+ #define __Pyx_RefNannyDeclarations__Pyx_RefNannyDeclarations854,30348
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext855,30385
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext856,30441
+ #define __Pyx_INCREF(__Pyx_INCREF857,30481
+ #define __Pyx_DECREF(__Pyx_DECREF858,30520
+ #define __Pyx_GOTREF(__Pyx_GOTREF859,30559
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF860,30585
+ #define __Pyx_XINCREF(__Pyx_XINCREF861,30612
+ #define __Pyx_XDECREF(__Pyx_XDECREF862,30653
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF863,30694
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF864,30721
+#define __Pyx_XDECREF_SET(__Pyx_XDECREF_SET866,30756
+#define __Pyx_DECREF_SET(__Pyx_DECREF_SET870,30887
+#define __Pyx_CLEAR(__Pyx_CLEAR874,31016
+#define __Pyx_XCLEAR(__Pyx_XCLEAR875,31120
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {__Pyx_PyObject_GetAttrStr879,31300
+#define __Pyx_PyObject_GetAttrStr(__Pyx_PyObject_GetAttrStr890,31697
+#define __Pyx_PyThreadState_declare __Pyx_PyThreadState_declare913,32506
+#define __Pyx_PyThreadState_assign __Pyx_PyThreadState_assign914,32572
+#define __Pyx_PyThreadState_declare__Pyx_PyThreadState_declare916,32650
+#define __Pyx_PyThreadState_assign__Pyx_PyThreadState_assign917,32686
+#define __Pyx_ErrRestoreWithState(__Pyx_ErrRestoreWithState922,32788
+#define __Pyx_ErrFetchWithState(__Pyx_ErrFetchWithState923,32902
+#define __Pyx_ErrRestore(__Pyx_ErrRestore924,33014
+#define __Pyx_ErrFetch(__Pyx_ErrFetch925,33112
+#define __Pyx_ErrRestoreWithState(__Pyx_ErrRestoreWithState929,33457
+#define __Pyx_ErrFetchWithState(__Pyx_ErrFetchWithState930,33540
+#define __Pyx_ErrRestore(__Pyx_ErrRestore931,33619
+#define __Pyx_ErrFetch(__Pyx_ErrFetch932,33693
+#define __Pyx_PyObject_Call(__Pyx_PyObject_Call946,34203
+#define __Pyx_PyCFunction_FastCall(__Pyx_PyCFunction_FastCall956,34562
+#define __Pyx_PyFunction_FastCall(__Pyx_PyFunction_FastCall961,34697
+#define __Pyx_PyFunction_FastCallDict(__Pyx_PyFunction_FastCallDict966,34969
+static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {__Pyx_PyList_Append980,35464
+#define __Pyx_PyList_Append(__Pyx_PyList_Append992,35853
+ PyCodeObject* code_object;code_object1003,36150
+ int code_line;code_line1004,36181
+} __Pyx_CodeObjectCacheEntry;__Pyx_CodeObjectCacheEntry1005,36200
+struct __Pyx_CodeObjectCache {__Pyx_CodeObjectCache1006,36230
+ int count;count1007,36261
+ int max_count;max_count1008,36276
+ __Pyx_CodeObjectCacheEntry* entries;entries1009,36295
+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};__pyx_code_cache1011,36339
+ #define __Pyx_PyIdentifier_FromString(__Pyx_PyIdentifier_FromString1044,37445
+ #define __Pyx_PyIdentifier_FromString(__Pyx_PyIdentifier_FromString1046,37517
+static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;__pyx_ptype_7cpython_4type_type1068,38176
+static PyTypeObject *__pyx_ptype_7cpython_4bool_bool = 0;__pyx_ptype_7cpython_4bool_bool1101,38996
+static PyTypeObject *__pyx_ptype_7cpython_7complex_complex = 0;__pyx_ptype_7cpython_7complex_complex1110,39245
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_date = 0;__pyx_ptype_7cpython_8datetime_date1149,40240
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_time = 0;__pyx_ptype_7cpython_8datetime_time1150,40302
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_datetime = 0;__pyx_ptype_7cpython_8datetime_datetime1151,40364
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_timedelta = 0;__pyx_ptype_7cpython_8datetime_timedelta1152,40430
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_tzinfo = 0;__pyx_ptype_7cpython_8datetime_tzinfo1153,40497
+static long (*__pyx_f_6pyisda_4date_dcc)(PyObject *); /*proto*/__pyx_f_6pyisda_4date_dcc1156,40607
+static __pyx_t_6pyisda_4date_TDate (*__pyx_f_6pyisda_4date_pydate_to_TDate)(PyDateTime_Date *); /*proto*/__pyx_f_6pyisda_4date_pydate_to_TDate1157,40671
+static PyDateTime_Date *(*__pyx_f_6pyisda_4date_TDate_to_pydate)(__pyx_t_6pyisda_4date_TDate, int __pyx_skip_dispatch); /*proto*/__pyx_f_6pyisda_4date_TDate_to_pydate1158,40777
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_Curve = 0;__pyx_ptype_6pyisda_5curve_Curve1165,41043
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_YieldCurve = 0;__pyx_ptype_6pyisda_5curve_YieldCurve1166,41102
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_SpreadCurve = 0;__pyx_ptype_6pyisda_5curve_SpreadCurve1167,41166
+static PyTypeObject *__pyx_ptype_6pyisda_4legs_ContingentLeg = 0;__pyx_ptype_6pyisda_4legs_ContingentLeg1174,41371
+static PyTypeObject *__pyx_ptype_6pyisda_4legs_FeeLeg = 0;__pyx_ptype_6pyisda_4legs_FeeLeg1175,41437
+#define __Pyx_MODULE_NAME __Pyx_MODULE_NAME1176,41496
+int __pyx_module_is_main_pyisda__legs = 0;__pyx_module_is_main_pyisda__legs1177,41536
+static PyObject *__pyx_builtin_ValueError;__pyx_builtin_ValueError1180,41618
+static PyObject *__pyx_builtin_range;__pyx_builtin_range1181,41661
+static const char __pyx_k_sc[] = "sc";__pyx_k_sc1182,41699
+static const char __pyx_k_yc[] = "yc";__pyx_k_yc1183,41738
+static const char __pyx_k_date[] = "date";__pyx_k_date1184,41777
+static const char __pyx_k_main[] = "__main__";__pyx_k_main1185,41820
+static const char __pyx_k_test[] = "__test__";__pyx_k_test1186,41867
+static const char __pyx_k_class[] = "__class__";__pyx_k_class1187,41914
+static const char __pyx_k_range[] = "range";__pyx_k_range1188,41963
+static const char __pyx_k_today[] = "today";__pyx_k_today1189,42008
+static const char __pyx_k_import[] = "__import__";__pyx_k_import1190,42053
+static const char __pyx_k_ACT_360[] = "ACT/360";__pyx_k_ACT_3601191,42104
+static const char __pyx_k_end_date[] = "end_date";__pyx_k_end_date1192,42153
+static const char __pyx_k_notional[] = "notional";__pyx_k_notional1193,42204
+static const char __pyx_k_pay_dates[] = "pay_dates";__pyx_k_pay_dates1194,42255
+static const char __pyx_k_ValueError[] = "ValueError";__pyx_k_ValueError1195,42308
+static const char __pyx_k_start_date[] = "start_date";__pyx_k_start_date1196,42363
+static const char __pyx_k_value_date[] = "value_date";__pyx_k_value_date1197,42418
+static const char __pyx_k_coupon_rate[] = "coupon_rate";__pyx_k_coupon_rate1198,42473
+static const char __pyx_k_payment_dcc[] = "payment_dcc";__pyx_k_payment_dcc1199,42530
+static const char __pyx_k_dcc_tostring[] = "dcc_tostring";__pyx_k_dcc_tostring1200,42587
+static const char __pyx_k_step_in_date[] = "step_in_date";__pyx_k_step_in_date1201,42646
+static const char __pyx_k_acc_end_dates[] = "acc_end_dates";__pyx_k_acc_end_dates1202,42705
+static const char __pyx_k_protect_start[] = "protect_start";__pyx_k_protect_start1203,42766
+static const char __pyx_k_recovery_rate[] = "recovery_rate";__pyx_k_recovery_rate1204,42827
+static const char __pyx_k_acc_start_dates[] = "acc_start_dates";__pyx_k_acc_start_dates1205,42888
+static const char __pyx_k_can_t_convert_stub[] = "can't convert stub";__pyx_k_can_t_convert_stub1206,42953
+static const char __pyx_k_pay_accrued_at_start[] = "pay_accrued_at_start";__pyx_k_pay_accrued_at_start1207,43024
+static const char __pyx_k_pay_accrued_on_default[] = "pay_accrued_on_default";__pyx_k_pay_accrued_on_default1208,43099
+static PyObject *__pyx_kp_s_ACT_360;__pyx_kp_s_ACT_3601209,43178
+static PyObject *__pyx_n_s_ValueError;__pyx_n_s_ValueError1210,43215
+static PyObject *__pyx_n_s_acc_end_dates;__pyx_n_s_acc_end_dates1211,43254
+static PyObject *__pyx_n_s_acc_start_dates;__pyx_n_s_acc_start_dates1212,43296
+static PyObject *__pyx_kp_s_can_t_convert_stub;__pyx_kp_s_can_t_convert_stub1213,43340
+static PyObject *__pyx_n_s_class;__pyx_n_s_class1214,43388
+static PyObject *__pyx_n_s_coupon_rate;__pyx_n_s_coupon_rate1215,43422
+static PyObject *__pyx_n_s_date;__pyx_n_s_date1216,43462
+static PyObject *__pyx_n_s_dcc_tostring;__pyx_n_s_dcc_tostring1217,43495
+static PyObject *__pyx_n_s_end_date;__pyx_n_s_end_date1218,43536
+static PyObject *__pyx_n_s_import;__pyx_n_s_import1219,43573
+static PyObject *__pyx_n_s_main;__pyx_n_s_main1220,43608
+static PyObject *__pyx_n_s_notional;__pyx_n_s_notional1221,43641
+static PyObject *__pyx_n_s_pay_accrued_at_start;__pyx_n_s_pay_accrued_at_start1222,43678
+static PyObject *__pyx_n_s_pay_accrued_on_default;__pyx_n_s_pay_accrued_on_default1223,43727
+static PyObject *__pyx_n_s_pay_dates;__pyx_n_s_pay_dates1224,43778
+static PyObject *__pyx_n_s_payment_dcc;__pyx_n_s_payment_dcc1225,43816
+static PyObject *__pyx_n_s_protect_start;__pyx_n_s_protect_start1226,43856
+static PyObject *__pyx_n_s_range;__pyx_n_s_range1227,43898
+static PyObject *__pyx_n_s_recovery_rate;__pyx_n_s_recovery_rate1228,43932
+static PyObject *__pyx_n_s_sc;__pyx_n_s_sc1229,43974
+static PyObject *__pyx_n_s_start_date;__pyx_n_s_start_date1230,44005
+static PyObject *__pyx_n_s_step_in_date;__pyx_n_s_step_in_date1231,44044
+static PyObject *__pyx_n_s_test;__pyx_n_s_test1232,44085
+static PyObject *__pyx_n_s_today;__pyx_n_s_today1233,44118
+static PyObject *__pyx_n_s_value_date;__pyx_n_s_value_date1234,44152
+static PyObject *__pyx_n_s_yc;__pyx_n_s_yc1235,44191
+static PyObject *__pyx_tuple_;__pyx_tuple_1251,46915
+static int __pyx_pw_6pyisda_4legs_13ContingentLeg_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_4legs_13ContingentLeg_1__cinit__1263,47298
+static int __pyx_pf_6pyisda_4legs_13ContingentLeg___cinit__(struct __pyx_obj_6pyisda_4legs_ContingentLeg *__pyx_v_self, PyObject *__pyx_v_start_date, PyObject *__pyx_v_end_date, double __pyx_v_notional, int __pyx_v_protect_start) {__pyx_pf_6pyisda_4legs_13ContingentLeg___cinit__1359,51382
+static void __pyx_pw_6pyisda_4legs_13ContingentLeg_3__dealloc__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_4legs_13ContingentLeg_3__dealloc__1450,55061
+static void __pyx_pf_6pyisda_4legs_13ContingentLeg_2__dealloc__(struct __pyx_obj_6pyisda_4legs_ContingentLeg *__pyx_v_self) {__pyx_pf_6pyisda_4legs_13ContingentLeg_2__dealloc__1459,55421
+static char __pyx_doc_6pyisda_4legs_13ContingentLeg_4__reduce__[] = "ContingentLeg.__reduce__(self)";__pyx_doc_6pyisda_4legs_13ContingentLeg_4__reduce__1514,57011
+static PyObject *__pyx_pw_6pyisda_4legs_13ContingentLeg_5__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_pw_6pyisda_4legs_13ContingentLeg_5__reduce__1515,57113
+static PyObject *__pyx_pf_6pyisda_4legs_13ContingentLeg_4__reduce__(struct __pyx_obj_6pyisda_4legs_ContingentLeg *__pyx_v_self) {__pyx_pf_6pyisda_4legs_13ContingentLeg_4__reduce__1526,57560
+static Py_hash_t __pyx_pw_6pyisda_4legs_13ContingentLeg_7__hash__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_4legs_13ContingentLeg_7__hash__1655,62956
+static Py_hash_t __pyx_pf_6pyisda_4legs_13ContingentLeg_6__hash__(struct __pyx_obj_6pyisda_4legs_ContingentLeg *__pyx_v_self) {__pyx_pf_6pyisda_4legs_13ContingentLeg_6__hash__1666,63361
+static char __pyx_doc_6pyisda_4legs_13ContingentLeg_8pv[] = "ContingentLeg.pv(self, today, step_in_date, value_date, YieldCurve yc, SpreadCurve sc, double recovery_rate)\n\n Present Value of the ContingentLeg cashflows.\n\n Parameters\n ----------\n today : :class:`datetime.date`\n step_in_date : :class:`datetime.date`\n date at which protection starts (usually `today` + 1)\n value_date : :class:`datetime.date`\n date at which cashflows are exchanged (usually `today` + 3 business days)\n yc : :class:`~pyisda.curve.YieldCurve`\n sc : :class:`~pyisda.curve.SpreadCurve`\n recovery_rate : float\n ";__pyx_doc_6pyisda_4legs_13ContingentLeg_8pv1776,67648
+static PyObject *__pyx_pw_6pyisda_4legs_13ContingentLeg_9pv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_4legs_13ContingentLeg_9pv1777,68341
+static PyObject *__pyx_pf_6pyisda_4legs_13ContingentLeg_8pv(struct __pyx_obj_6pyisda_4legs_ContingentLeg *__pyx_v_self, PyObject *__pyx_v_today, PyObject *__pyx_v_step_in_date, PyObject *__pyx_v_value_date, struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_yc, struct __pyx_obj_6pyisda_5curve_SpreadCurve *__pyx_v_sc, double __pyx_v_recovery_rate) {__pyx_pf_6pyisda_4legs_13ContingentLeg_8pv1875,73096
+static int __pyx_pw_6pyisda_4legs_6FeeLeg_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_4legs_6FeeLeg_1__cinit__1998,78656
+static int __pyx_pf_6pyisda_4legs_6FeeLeg___cinit__(struct __pyx_obj_6pyisda_4legs_FeeLeg *__pyx_v_self, PyObject *__pyx_v_start_date, PyObject *__pyx_v_end_date, int __pyx_v_pay_accrued_on_default, double __pyx_v_notional, double __pyx_v_coupon_rate, PyObject *__pyx_v_payment_dcc, int __pyx_v_protect_start) {__pyx_pf_6pyisda_4legs_6FeeLeg___cinit__2127,84873
+static char __pyx_doc_6pyisda_4legs_6FeeLeg_2__reduce__[] = "FeeLeg.__reduce__(self)";__pyx_doc_6pyisda_4legs_6FeeLeg_2__reduce__2263,90713
+static PyObject *__pyx_pw_6pyisda_4legs_6FeeLeg_3__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_pw_6pyisda_4legs_6FeeLeg_3__reduce__2264,90800
+static PyObject *__pyx_pf_6pyisda_4legs_6FeeLeg_2__reduce__(struct __pyx_obj_6pyisda_4legs_FeeLeg *__pyx_v_self) {__pyx_pf_6pyisda_4legs_6FeeLeg_2__reduce__2275,91224
+static Py_hash_t __pyx_pw_6pyisda_4legs_6FeeLeg_5__hash__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_4legs_6FeeLeg_5__hash__2493,100731
+static Py_hash_t __pyx_pf_6pyisda_4legs_6FeeLeg_4__hash__(struct __pyx_obj_6pyisda_4legs_FeeLeg *__pyx_v_self) {__pyx_pf_6pyisda_4legs_6FeeLeg_4__hash__2504,101113
+static char __pyx_doc_6pyisda_4legs_6FeeLeg_6inspect[] = "FeeLeg.inspect(self)\nconvenience method to study the C struct";__pyx_doc_6pyisda_4legs_6FeeLeg_6inspect2659,107253
+static PyObject *__pyx_pw_6pyisda_4legs_6FeeLeg_7inspect(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_pw_6pyisda_4legs_6FeeLeg_7inspect2660,107376
+static PyObject *__pyx_pf_6pyisda_4legs_6FeeLeg_6inspect(struct __pyx_obj_6pyisda_4legs_FeeLeg *__pyx_v_self) {__pyx_pf_6pyisda_4legs_6FeeLeg_6inspect2671,107791
+static PyObject *__pyx_pw_6pyisda_4legs_6FeeLeg_9cashflows_1__get__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_4legs_6FeeLeg_9cashflows_1__get__2833,114838
+static PyObject *__pyx_pf_6pyisda_4legs_6FeeLeg_9cashflows___get__(struct __pyx_obj_6pyisda_4legs_FeeLeg *__pyx_v_self) {__pyx_pf_6pyisda_4legs_6FeeLeg_9cashflows___get__2844,115242
+static char __pyx_doc_6pyisda_4legs_6FeeLeg_8pv[] = "FeeLeg.pv(self, today, step_in_date, value_date, YieldCurve yc, SpreadCurve sc, bool pay_accrued_at_start)\n\n Present Value of FeeLeg cashflows.\n\n Parameters\n ----------\n today : :class:`datetime.date`\n step_in_date : :class:`datetime.date`\n date at which protection starts (usually `today` + 1)\n value_date : :class:`datetime.date`\n date at which cashflows are exchanged (usually `today` + 3 business days)\n yc : :class:`~pyisda.curve.YieldCurve`\n sc : :class:`~pyisda.curve.SpreadCurve`\n pay_accrued_at_start : bool\n True means clean\n\n ";__pyx_doc_6pyisda_4legs_6FeeLeg_8pv2967,119557
+static PyObject *__pyx_pw_6pyisda_4legs_6FeeLeg_9pv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_4legs_6FeeLeg_9pv2968,120266
+static PyObject *__pyx_pf_6pyisda_4legs_6FeeLeg_8pv(struct __pyx_obj_6pyisda_4legs_FeeLeg *__pyx_v_self, PyObject *__pyx_v_today, PyObject *__pyx_v_step_in_date, PyObject *__pyx_v_value_date, struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_yc, struct __pyx_obj_6pyisda_5curve_SpreadCurve *__pyx_v_sc, int __pyx_v_pay_accrued_at_start) {__pyx_pf_6pyisda_4legs_6FeeLeg_8pv3066,125036
+static char __pyx_doc_6pyisda_4legs_6FeeLeg_10accrued[] = "FeeLeg.accrued(self, today)\nAccrued amount as of today\n\n Parameters\n ----------\n today : :class:`datetime.date`\n\n Return\n ------\n float\n ";__pyx_doc_6pyisda_4legs_6FeeLeg_10accrued3189,130383
+static PyObject *__pyx_pw_6pyisda_4legs_6FeeLeg_11accrued(PyObject *__pyx_v_self, PyObject *__pyx_v_today) {__pyx_pw_6pyisda_4legs_6FeeLeg_11accrued3190,130641
+static PyObject *__pyx_pf_6pyisda_4legs_6FeeLeg_10accrued(struct __pyx_obj_6pyisda_4legs_FeeLeg *__pyx_v_self, PyObject *__pyx_v_today) {__pyx_pf_6pyisda_4legs_6FeeLeg_10accrued3201,131080
+static void __pyx_pw_6pyisda_4legs_6FeeLeg_13__dealloc__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_4legs_6FeeLeg_13__dealloc__3261,133042
+static void __pyx_pf_6pyisda_4legs_6FeeLeg_12__dealloc__(struct __pyx_obj_6pyisda_4legs_FeeLeg *__pyx_v_self) {__pyx_pf_6pyisda_4legs_6FeeLeg_12__dealloc__3270,133381
+static CYTHON_INLINE void __pyx_f_7cpython_8datetime_import_datetime(void) {__pyx_f_7cpython_8datetime_import_datetime3319,134767
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_date_new(int __pyx_v_year, int __pyx_v_month, int __pyx_v_day) {__pyx_f_7cpython_8datetime_date_new3352,135840
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_time_new(int __pyx_v_hour, int __pyx_v_minute, int __pyx_v_second, int __pyx_v_microsecond, PyObject *__pyx_v_tz) {__pyx_f_7cpython_8datetime_time_new3399,137704
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_datetime_new(int __pyx_v_year, int __pyx_v_month, int __pyx_v_day, int __pyx_v_hour, int __pyx_v_minute, int __pyx_v_second, int __pyx_v_microsecond, PyObject *__pyx_v_tz) {__pyx_f_7cpython_8datetime_datetime_new3446,139838
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_timedelta_new(int __pyx_v_days, int __pyx_v_seconds, int __pyx_v_useconds) {__pyx_f_7cpython_8datetime_timedelta_new3493,142141
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_time_tzinfo(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_tzinfo3540,143943
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_datetime_tzinfo(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_tzinfo3614,146038
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_year(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_year3688,148131
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_month(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_month3725,148977
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_day(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_day3762,149824
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_year(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_year3799,150669
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_month(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_month3836,151551
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_day(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_day3873,152434
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_hour(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_hour3910,153296
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_minute(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_minute3947,154166
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_second(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_second3984,155054
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_microsecond(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_microsecond4021,155962
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_hour(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_hour4058,156899
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_minute(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_minute4095,157805
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_second(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_second4132,158729
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_microsecond(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_microsecond4169,159673
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_days(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_days4206,160637
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_seconds(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_seconds4243,161558
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_microseconds(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_microseconds4279,162522
+static PyObject *__pyx_tp_new_6pyisda_4legs_ContingentLeg(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new_6pyisda_4legs_ContingentLeg4305,163290
+static void __pyx_tp_dealloc_6pyisda_4legs_ContingentLeg(PyObject *o) {__pyx_tp_dealloc_6pyisda_4legs_ContingentLeg4320,163766
+static PyMethodDef __pyx_methods_6pyisda_4legs_ContingentLeg[] = {__pyx_methods_6pyisda_4legs_ContingentLeg4337,164286
+static PyTypeObject __pyx_type_6pyisda_4legs_ContingentLeg = {__pyx_type_6pyisda_4legs_ContingentLeg4343,164661
+static PyObject *__pyx_tp_new_6pyisda_4legs_FeeLeg(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new_6pyisda_4legs_FeeLeg4401,166462
+static void __pyx_tp_dealloc_6pyisda_4legs_FeeLeg(PyObject *o) {__pyx_tp_dealloc_6pyisda_4legs_FeeLeg4416,166923
+static PyObject *__pyx_getprop_6pyisda_4legs_6FeeLeg_cashflows(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop_6pyisda_4legs_6FeeLeg_cashflows4433,167429
+static PyMethodDef __pyx_methods_6pyisda_4legs_FeeLeg[] = {__pyx_methods_6pyisda_4legs_FeeLeg4437,167597
+static struct PyGetSetDef __pyx_getsets_6pyisda_4legs_FeeLeg[] = {__pyx_getsets_6pyisda_4legs_FeeLeg4445,168178
+static PyTypeObject __pyx_type_6pyisda_4legs_FeeLeg = {__pyx_type_6pyisda_4legs_FeeLeg4450,168374
+static PyMethodDef __pyx_methods[] = {__pyx_methods4508,170451
+static struct PyModuleDef __pyx_moduledef = {__pyx_moduledef4513,170535
+static __Pyx_StringTabEntry __pyx_string_tab[] = {__pyx_string_tab4530,170903
+static int __Pyx_InitCachedBuiltins(void) {__Pyx_InitCachedBuiltins4560,173299
+static int __Pyx_InitCachedConstants(void) {__Pyx_InitCachedConstants4568,173650
+static int __Pyx_InitGlobals(void) {__Pyx_InitGlobals4589,174352
+PyMODINIT_FUNC initlegs(void)initlegs4598,174582
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {__Pyx_RefNannyImportAPI4785,184629
+static PyObject *__Pyx_GetBuiltinName(PyObject *name) {__Pyx_GetBuiltinName4801,185057
+static void __Pyx_RaiseArgtupleInvalid(__Pyx_RaiseArgtupleInvalid4815,185457
+static void __Pyx_RaiseDoubleKeywordsError(__Pyx_RaiseDoubleKeywordsError4841,186222
+static int __Pyx_ParseOptionalKeywords(__Pyx_ParseOptionalKeywords4855,186631
+static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {__Pyx_TypeTest4957,190203
+static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {__Pyx_ErrRestoreInState4971,190658
+static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx_ErrFetchInState4983,191118
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,__Pyx_Raise4995,191494
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {__Pyx_Raise5046,192974
+ static void __Pyx_RaiseArgumentTypeInvalid(const char* name, PyObject *obj, PyTypeObject *type) {__Pyx_RaiseArgumentTypeInvalid5157,196623
+static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,__Pyx_ArgTypeTest5162,196890
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {__Pyx_PyObject_Call5185,197622
+ static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {__Pyx_GetModuleGlobalName5204,198264
+static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {__Pyx_PyCFunction_FastCall5223,198733
+static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,__Pyx_PyFunction_FastCallNoKw5242,199613
+static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) {__Pyx_PyFunction_FastCallDict5271,200542
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallMethO5361,203432
+static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx__PyObject_CallOneArg5381,204090
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallOneArg5391,204414
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallOneArg5413,205158
+ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {__Pyx_Import5424,205466
+ static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {__Pyx_ImportFrom5498,207750
+ static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {__pyx_bisect_code_objects5512,208228
+static PyCodeObject *__pyx_find_code_object(int code_line) {__pyx_find_code_object5533,208863
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {__pyx_insert_code_object5547,209423
+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(__Pyx_CreateCodeObjectForTraceback5595,211215
+static void __Pyx_AddTraceback(const char *funcname, int c_line,__Pyx_AddTraceback5647,212824
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {__Pyx_PyInt_From_int5673,213744
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {__Pyx_PyInt_From_long5704,214882
+ #define __PYX_VERIFY_RETURN_INT(__PYX_VERIFY_RETURN_INT5735,216039
+#define __PYX_VERIFY_RETURN_INT_EXC(__PYX_VERIFY_RETURN_INT_EXC5737,216182
+#define __PYX__VERIFY_RETURN_INT(__PYX__VERIFY_RETURN_INT5739,216323
+ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {__Pyx_PyInt_As_long5757,216993
+ static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) {__Pyx_PyInt_As_size_t5946,226815
+ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {__Pyx_PyInt_As_int6135,236831
+ static int __Pyx_check_binary_version(void) {__Pyx_check_binary_version6324,246564
+#define __PYX_HAVE_RT_ImportModule__PYX_HAVE_RT_ImportModule6341,247254
+static PyObject *__Pyx_ImportModule(const char *name) {__Pyx_ImportModule6342,247289
+#define __PYX_HAVE_RT_ImportType__PYX_HAVE_RT_ImportType6359,247686
+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,__Pyx_ImportType6360,247719
+#define __PYX_HAVE_RT_ImportFunction__PYX_HAVE_RT_ImportFunction6424,249673
+static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {__Pyx_ImportFunction6425,249710
+ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {__Pyx_InitStrings6477,251252
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {__Pyx_PyUnicode_FromString6507,252180
+static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {__Pyx_PyObject_AsString6510,252341
+static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {__Pyx_PyObject_AsStringAndSize6514,252487
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {__Pyx_PyObject_IsTrue6572,254363
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {__Pyx_PyNumber_IntOrLong6577,254560
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {__Pyx_PyIndex_AsSsize_t6628,255708
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {__Pyx_PyInt_FromSize_t6690,257999
+
+pyisda/pyisda/curve.cpp,166363
+#define PY_SSIZE_T_CLEANPY_SSIZE_T_CLEAN23,558
+#define CYTHON_ABI CYTHON_ABI30,887
+ #define offsetof(offsetof33,952
+ #define __stdcall__stdcall37,1092
+ #define __cdecl__cdecl40,1141
+ #define __fastcall__fastcall43,1191
+ #define DL_IMPORT(DL_IMPORT47,1248
+ #define DL_EXPORT(DL_EXPORT50,1298
+ #define HAVE_LONG_LONGHAVE_LONG_LONG54,1447
+ #define PY_LONG_LONG PY_LONG_LONG58,1511
+ #define Py_HUGE_VAL Py_HUGE_VAL61,1571
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY64,1629
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON65,1666
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON66,1705
+ #undef CYTHON_USE_TYPE_SLOTSCYTHON_USE_TYPE_SLOTS67,1745
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS68,1776
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS69,1810
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS70,1842
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS71,1877
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS72,1914
+ #undef CYTHON_USE_UNICODE_INTERNALSCYTHON_USE_UNICODE_INTERNALS73,1954
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS74,1992
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER75,2033
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER76,2068
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS77,2106
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS78,2143
+ #undef CYTHON_AVOID_BORROWED_REFSCYTHON_AVOID_BORROWED_REFS79,2183
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS80,2219
+ #undef CYTHON_ASSUME_SAFE_MACROSCYTHON_ASSUME_SAFE_MACROS81,2258
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS82,2293
+ #undef CYTHON_UNPACK_METHODSCYTHON_UNPACK_METHODS83,2331
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS84,2362
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE85,2396
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE86,2430
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL87,2467
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL88,2495
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY90,2556
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON91,2593
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON92,2632
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS94,2704
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS96,2749
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS97,2781
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS98,2816
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS99,2853
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS101,2932
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER103,2984
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER104,3019
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS105,3057
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS106,3094
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS108,3171
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS111,3257
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS114,3338
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE116,3383
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE117,3417
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL118,3454
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL119,3482
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY121,3519
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON122,3556
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON123,3595
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS125,3667
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS128,3739
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS129,3773
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS131,3851
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS134,3931
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS135,3970
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS137,4058
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS140,4147
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS143,4237
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER146,4323
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER147,4360
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER149,4444
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS152,4530
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS155,4616
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS158,4697
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE161,4777
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL164,4854
+#define CYTHON_FAST_PYCCALL CYTHON_FAST_PYCCALL168,4937
+ #undef SHIFTSHIFT172,5085
+ #undef BASEBASE173,5100
+ #undef MASKMASK174,5114
+ #define Py_OptimizeFlag Py_OptimizeFlag177,5224
+#define __PYX_BUILD_PY_SSIZE_T __PYX_BUILD_PY_SSIZE_T179,5259
+#define CYTHON_FORMAT_SSIZE_T CYTHON_FORMAT_SSIZE_T180,5294
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME182,5353
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New183,5403
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType185,5577
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME187,5629
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New188,5676
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType190,5851
+ #define Py_TPFLAGS_CHECKTYPES Py_TPFLAGS_CHECKTYPES193,5933
+ #define Py_TPFLAGS_HAVE_INDEX Py_TPFLAGS_HAVE_INDEX196,6004
+ #define Py_TPFLAGS_HAVE_NEWBUFFER Py_TPFLAGS_HAVE_NEWBUFFER199,6079
+ #define Py_TPFLAGS_HAVE_FINALIZE Py_TPFLAGS_HAVE_FINALIZE202,6157
+ #define METH_FASTCALL METH_FASTCALL205,6223
+ typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject **args,__Pyx_PyCFunctionFast206,6252
+ #define __Pyx_PyCFunctionFast __Pyx_PyCFunctionFast209,6421
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check212,6501
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check215,6679
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED218,6789
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY219,6823
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH221,6986
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR222,7052
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE223,7120
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND224,7194
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA225,7254
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ226,7314
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE227,7380
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE228,7455
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED230,7592
+ #define PyUnicode_1BYTE_KIND PyUnicode_1BYTE_KIND231,7626
+ #define PyUnicode_2BYTE_KIND PyUnicode_2BYTE_KIND232,7660
+ #define PyUnicode_4BYTE_KIND PyUnicode_4BYTE_KIND233,7694
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY234,7728
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH235,7774
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR236,7838
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE237,7920
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND238,8012
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA239,8075
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ240,8150
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE241,8236
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE242,8322
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat245,8429
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe246,8492
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat248,8561
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe249,8628
+ #define PyUnicode_Contains(PyUnicode_Contains253,8856
+ #define PyByteArray_Check(PyByteArray_Check256,8985
+ #define PyObject_Format(PyObject_Format259,9127
+ #define PyObject_Malloc(PyObject_Malloc262,9278
+ #define PyObject_Free(PyObject_Free263,9325
+ #define PyObject_Realloc(PyObject_Realloc264,9370
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars267,9456
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber268,9519
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars270,9615
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber271,9683
+#define __Pyx_PyString_FormatSafe(__Pyx_PyString_FormatSafe273,9773
+#define __Pyx_PyUnicode_FormatSafe(__Pyx_PyUnicode_FormatSafe274,9901
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format276,10050
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format278,10118
+ #define PyObject_ASCII(PyObject_ASCII281,10239
+ #define PyBaseString_Type PyBaseString_Type284,10328
+ #define PyStringObject PyStringObject285,10382
+ #define PyString_Type PyString_Type286,10437
+ #define PyString_Check PyString_Check287,10491
+ #define PyString_CheckExact PyString_CheckExact288,10546
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check291,10639
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact292,10700
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check294,10777
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact295,10863
+ #define PySet_CheckExact(PySet_CheckExact298,10996
+#define __Pyx_TypeCheck(__Pyx_TypeCheck300,11072
+#define __Pyx_PyException_Check(__Pyx_PyException_Check301,11153
+ #define PyIntObject PyIntObject303,11254
+ #define PyInt_Type PyInt_Type304,11306
+ #define PyInt_Check(PyInt_Check305,11357
+ #define PyInt_CheckExact(PyInt_CheckExact306,11413
+ #define PyInt_FromString PyInt_FromString307,11474
+ #define PyInt_FromUnicode PyInt_FromUnicode308,11531
+ #define PyInt_FromLong PyInt_FromLong309,11589
+ #define PyInt_FromSize_t PyInt_FromSize_t310,11644
+ #define PyInt_FromSsize_t PyInt_FromSsize_t311,11701
+ #define PyInt_AsLong PyInt_AsLong312,11759
+ #define PyInt_AS_LONG PyInt_AS_LONG313,11812
+ #define PyInt_AsSsize_t PyInt_AsSsize_t314,11866
+ #define PyInt_AsUnsignedLongMask PyInt_AsUnsignedLongMask315,11922
+ #define PyInt_AsUnsignedLongLongMask PyInt_AsUnsignedLongLongMask316,11987
+ #define PyNumber_Int PyNumber_Int317,12056
+ #define PyBoolObject PyBoolObject320,12142
+ #define PyUnicode_InternFromString(PyUnicode_InternFromString324,12292
+ typedef long Py_hash_t;Py_hash_t328,12406
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t329,12432
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t330,12480
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t332,12532
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t333,12583
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New336,12665
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New338,12784
+ #define __Pyx_PyAsyncMethodsStruct __Pyx_PyAsyncMethodsStruct342,12933
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync343,12987
+ unaryfunc am_await;am_await346,13082
+ unaryfunc am_aiter;am_aiter347,13110
+ unaryfunc am_anext;am_anext348,13138
+ } __Pyx_PyAsyncMethodsStruct;__Pyx_PyAsyncMethodsStruct349,13166
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync350,13200
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync353,13313
+ #define CYTHON_RESTRICT CYTHON_RESTRICT357,13409
+ #define CYTHON_RESTRICT CYTHON_RESTRICT359,13496
+ #define CYTHON_RESTRICT CYTHON_RESTRICT361,13601
+ #define CYTHON_RESTRICTCYTHON_RESTRICT363,13646
+# define CYTHON_UNUSED CYTHON_UNUSED369,13826
+# define CYTHON_UNUSEDCYTHON_UNUSED371,13891
+# define CYTHON_UNUSED CYTHON_UNUSED374,14003
+# define CYTHON_UNUSEDCYTHON_UNUSED376,14064
+ template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }CYTHON_MAYBE_UNUSED_VAR381,14163
+# define CYTHON_MAYBE_UNUSED_VAR(CYTHON_MAYBE_UNUSED_VAR383,14239
+# define CYTHON_NCP_UNUSEDCYTHON_NCP_UNUSED388,14363
+# define CYTHON_NCP_UNUSED CYTHON_NCP_UNUSED390,14398
+#define __Pyx_void_to_None(__Pyx_void_to_None393,14455
+ #define CYTHON_INLINE CYTHON_INLINE400,14713
+ #define CYTHON_INLINE CYTHON_INLINE402,14787
+void __Pyx_call_destructor(T& x) {__Pyx_call_destructor406,14857
+class __Pyx_FakeReference {__Pyx_FakeReference410,14927
+ __Pyx_FakeReference() : ptr(NULL) { }__Pyx_FakeReference412,14965
+ __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }__Pyx_FakeReference413,15007
+ T *operator->() { return ptr; }operator ->414,15077
+ T *operator&() { return ptr; }operator &415,15113
+ operator T&() { return *ptr; }operator T&416,15148
+ template<typename U> bool operator ==(U other) { return *ptr == other; }operator ==417,15183
+ template<typename U> bool operator !=(U other) { return *ptr != other; }operator !=418,15260
+ T *ptr;ptr420,15348
+ #define _USE_MATH_DEFINES_USE_MATH_DEFINES424,15406
+#define __PYX_NAN(__PYX_NAN428,15470
+static CYTHON_INLINE float __PYX_NAN() {__PYX_NAN430,15510
+#define __Pyx_truncl __Pyx_truncl437,15679
+#define __Pyx_truncl __Pyx_truncl439,15712
+#define __PYX_ERR(__PYX_ERR443,15749
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide449,15932
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide450,16002
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide452,16085
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide453,16151
+ #define __PYX_EXTERN_C __PYX_EXTERN_C458,16276
+ #define __PYX_EXTERN_C __PYX_EXTERN_C460,16322
+#define __PYX_HAVE__pyisda__curve__PYX_HAVE__pyisda__curve464,16373
+#define __PYX_HAVE_API__pyisda__curve__PYX_HAVE_API__pyisda__curve465,16407
+#define CYTHON_WITHOUT_ASSERTIONSCYTHON_WITHOUT_ASSERTIONS505,17333
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;p508,17375
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;s508,17375
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;n508,17375
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;encoding508,17375
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_unicode509,17462
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_str509,17462
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;intern509,17462
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;__Pyx_StringTabEntry509,17462
+#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII __PYX_DEFAULT_STRING_ENCODING_IS_ASCII511,17564
+#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT512,17613
+#define __PYX_DEFAULT_STRING_ENCODING __PYX_DEFAULT_STRING_ENCODING513,17664
+#define __Pyx_PyObject_FromString __Pyx_PyObject_FromString514,17705
+#define __Pyx_PyObject_FromStringAndSize __Pyx_PyObject_FromStringAndSize515,17764
+#define __Pyx_uchar_cast(__Pyx_uchar_cast516,17837
+#define __Pyx_long_cast(__Pyx_long_cast517,17884
+#define __Pyx_fits_Py_ssize_t(__Pyx_fits_Py_ssize_t518,17921
+ #define __Pyx_sst_abs(__Pyx_sst_abs530,18527
+ #define __Pyx_sst_abs(__Pyx_sst_abs532,18610
+ #define __Pyx_sst_abs(__Pyx_sst_abs534,18689
+ #define __Pyx_sst_abs(__Pyx_sst_abs536,18779
+ #define __Pyx_sst_abs(__Pyx_sst_abs538,18890
+ #define __Pyx_sst_abs(__Pyx_sst_abs540,18961
+ #define __Pyx_sst_abs(__Pyx_sst_abs542,19023
+#define __Pyx_PyByteArray_FromString(__Pyx_PyByteArray_FromString546,19245
+#define __Pyx_PyByteArray_FromStringAndSize(__Pyx_PyByteArray_FromStringAndSize547,19355
+#define __Pyx_PyBytes_FromString __Pyx_PyBytes_FromString548,19454
+#define __Pyx_PyBytes_FromStringAndSize __Pyx_PyBytes_FromStringAndSize549,19513
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString552,19676
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize553,19743
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString555,19823
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize556,19892
+#define __Pyx_PyObject_AsSString(__Pyx_PyObject_AsSString558,19975
+#define __Pyx_PyObject_AsUString(__Pyx_PyObject_AsUString559,20058
+#define __Pyx_PyObject_FromCString(__Pyx_PyObject_FromCString560,20143
+#define __Pyx_PyBytes_FromCString(__Pyx_PyBytes_FromCString561,20224
+#define __Pyx_PyByteArray_FromCString(__Pyx_PyByteArray_FromCString562,20304
+#define __Pyx_PyStr_FromCString(__Pyx_PyStr_FromCString563,20392
+#define __Pyx_PyUnicode_FromCString(__Pyx_PyUnicode_FromCString564,20470
+static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)__Pyx_Py_UNICODE_strlen566,20577
+#define __Pyx_Py_UNICODE_strlen __Pyx_Py_UNICODE_strlen573,20752
+#define __Pyx_PyUnicode_FromUnicode(__Pyx_PyUnicode_FromUnicode575,20809
+#define __Pyx_PyUnicode_FromUnicodeAndLength __Pyx_PyUnicode_FromUnicodeAndLength576,20907
+#define __Pyx_PyUnicode_AsUnicode __Pyx_PyUnicode_AsUnicode577,20974
+#define __Pyx_NewRef(__Pyx_NewRef578,21039
+#define __Pyx_Owned_Py_None(__Pyx_Owned_Py_None579,21087
+#define __Pyx_PyBool_FromLong(__Pyx_PyBool_FromLong580,21140
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble586,21519
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble588,21628
+#define __pyx_PyFloat_AsFloat(__pyx_PyFloat_AsFloat590,21689
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int592,21784
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int594,21880
+#define __Pyx_PyNumber_Float(__Pyx_PyNumber_Float596,21975
+static int __Pyx_sys_getdefaultencoding_not_ascii;__Pyx_sys_getdefaultencoding_not_ascii598,22136
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params599,22187
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize644,23916
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize646,24017
+static char* __PYX_DEFAULT_STRING_ENCODING;__PYX_DEFAULT_STRING_ENCODING648,24184
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params649,24228
+ #define likely(likely675,25122
+ #define unlikely(unlikely676,25171
+ #define likely(likely678,25256
+ #define unlikely(unlikely679,25282
+static PyObject *__pyx_m;__pyx_m682,25331
+static PyObject *__pyx_d;__pyx_d683,25357
+static PyObject *__pyx_b;__pyx_b684,25383
+static PyObject *__pyx_empty_tuple;__pyx_empty_tuple685,25409
+static PyObject *__pyx_empty_bytes;__pyx_empty_bytes686,25445
+static PyObject *__pyx_empty_unicode;__pyx_empty_unicode687,25481
+static int __pyx_lineno;__pyx_lineno688,25519
+static int __pyx_clineno = 0;__pyx_clineno689,25544
+static const char * __pyx_cfilenm= __FILE__;__pyx_cfilenm690,25574
+static const char *__pyx_filename;__pyx_filename691,25619
+ #define CYTHON_CCOMPLEX CYTHON_CCOMPLEX696,25731
+ #define CYTHON_CCOMPLEX CYTHON_CCOMPLEX698,25789
+ #define CYTHON_CCOMPLEX CYTHON_CCOMPLEX700,25827
+ #undef _Complex_I_Complex_I711,26072
+ #define _Complex_I _Complex_I712,26092
+static const char *__pyx_f[] = {__pyx_f716,26128
+#define IS_UNSIGNED(IS_UNSIGNED727,26338
+#define __PYX_BUF_FLAGS_PACKED_STRUCT __PYX_BUF_FLAGS_PACKED_STRUCT729,26409
+ const char* name;name731,26473
+ struct __Pyx_StructField_* fields;fields732,26493
+ size_t size;size733,26530
+ size_t arraysize[8];arraysize734,26545
+ int ndim;ndim735,26568
+ char typegroup;typegroup736,26580
+ char is_unsigned;is_unsigned737,26598
+ int flags;flags738,26618
+} __Pyx_TypeInfo;__Pyx_TypeInfo739,26631
+typedef struct __Pyx_StructField_ {__Pyx_StructField_740,26649
+ __Pyx_TypeInfo* type;type741,26685
+ const char* name;name742,26709
+ size_t offset;offset743,26729
+} __Pyx_StructField;__Pyx_StructField744,26746
+ __Pyx_StructField* field;field746,26784
+ size_t parent_offset;parent_offset747,26812
+} __Pyx_BufFmt_StackElem;__Pyx_BufFmt_StackElem748,26836
+ __Pyx_StructField root;root750,26879
+ __Pyx_BufFmt_StackElem* head;head751,26905
+ size_t fmt_offset;fmt_offset752,26937
+ size_t new_count, enc_count;new_count753,26958
+ size_t new_count, enc_count;enc_count753,26958
+ size_t struct_alignment;struct_alignment754,26989
+ int is_complex;is_complex755,27016
+ char enc_type;enc_type756,27034
+ char new_packmode;new_packmode757,27051
+ char enc_packmode;enc_packmode758,27072
+ char is_valid_array;is_valid_array759,27093
+} __Pyx_BufFmt_Context;__Pyx_BufFmt_Context760,27116
+ struct __pyx_memoryview_obj *memview;memview765,27218
+ char *data;data766,27258
+ Py_ssize_t shape[8];shape767,27272
+ Py_ssize_t strides[8];strides768,27295
+ Py_ssize_t suboffsets[8];suboffsets769,27320
+} __Pyx_memviewslice;__Pyx_memviewslice770,27348
+ #define CYTHON_ATOMICS CYTHON_ATOMICS775,27436
+#define __pyx_atomic_int_type __pyx_atomic_int_type777,27472
+ #define __pyx_atomic_incr_aligned(__pyx_atomic_incr_aligned781,27681
+ #define __pyx_atomic_decr_aligned(__pyx_atomic_decr_aligned782,27763
+ #undef __pyx_atomic_int_type__pyx_atomic_int_type788,27996
+ #define __pyx_atomic_int_type __pyx_atomic_int_type789,28029
+ #define __pyx_atomic_incr_aligned(__pyx_atomic_incr_aligned790,28068
+ #define __pyx_atomic_decr_aligned(__pyx_atomic_decr_aligned791,28147
+ #define __pyx_atomic_incr_aligned(__pyx_atomic_incr_aligned796,28390
+ #define __pyx_atomic_decr_aligned(__pyx_atomic_decr_aligned797,28470
+ #undef CYTHON_ATOMICSCYTHON_ATOMICS802,28637
+ #define CYTHON_ATOMICS CYTHON_ATOMICS803,28663
+typedef volatile __pyx_atomic_int_type __pyx_atomic_int;__pyx_atomic_int808,28778
+ #define __pyx_add_acquisition_count(__pyx_add_acquisition_count810,28854
+ #define __pyx_sub_acquisition_count(__pyx_sub_acquisition_count812,28998
+ #define __pyx_add_acquisition_count(__pyx_add_acquisition_count815,29147
+ #define __pyx_sub_acquisition_count(__pyx_sub_acquisition_count817,29299
+typedef long __pyx_t_6pyisda_4date_TDate;__pyx_t_6pyisda_4date_TDate829,29600
+typedef int __pyx_t_6pyisda_4legs_TBoolean;__pyx_t_6pyisda_4legs_TBoolean838,29787
+typedef npy_int8 __pyx_t_5numpy_int8_t;__pyx_t_5numpy_int8_t847,30124
+typedef npy_int16 __pyx_t_5numpy_int16_t;__pyx_t_5numpy_int16_t856,30435
+typedef npy_int32 __pyx_t_5numpy_int32_t;__pyx_t_5numpy_int32_t865,30780
+typedef npy_int64 __pyx_t_5numpy_int64_t;__pyx_t_5numpy_int64_t874,31128
+typedef npy_uint8 __pyx_t_5numpy_uint8_t;__pyx_t_5numpy_uint8_t883,31446
+typedef npy_uint16 __pyx_t_5numpy_uint16_t;__pyx_t_5numpy_uint16_t892,31763
+typedef npy_uint32 __pyx_t_5numpy_uint32_t;__pyx_t_5numpy_uint32_t901,32115
+typedef npy_uint64 __pyx_t_5numpy_uint64_t;__pyx_t_5numpy_uint64_t910,32470
+typedef npy_float32 __pyx_t_5numpy_float32_t;__pyx_t_5numpy_float32_t919,32796
+typedef npy_float64 __pyx_t_5numpy_float64_t;__pyx_t_5numpy_float64_t928,33125
+typedef npy_long __pyx_t_5numpy_int_t;__pyx_t_5numpy_int_t937,33510
+typedef npy_longlong __pyx_t_5numpy_long_t;__pyx_t_5numpy_long_t946,33842
+typedef npy_longlong __pyx_t_5numpy_longlong_t;__pyx_t_5numpy_longlong_t955,34157
+typedef npy_ulong __pyx_t_5numpy_uint_t;__pyx_t_5numpy_uint_t964,34483
+typedef npy_ulonglong __pyx_t_5numpy_ulong_t;__pyx_t_5numpy_ulong_t973,34768
+typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;__pyx_t_5numpy_ulonglong_t982,35088
+typedef npy_intp __pyx_t_5numpy_intp_t;__pyx_t_5numpy_intp_t991,35382
+typedef npy_uintp __pyx_t_5numpy_uintp_t;__pyx_t_5numpy_uintp_t1000,35662
+typedef npy_double __pyx_t_5numpy_float_t;__pyx_t_5numpy_float_t1009,35982
+typedef npy_double __pyx_t_5numpy_double_t;__pyx_t_5numpy_double_t1018,36272
+typedef npy_longdouble __pyx_t_5numpy_longdouble_t;__pyx_t_5numpy_longdouble_t1027,36596
+ typedef ::std::complex< float > __pyx_t_float_complex;__pyx_t_float_complex1031,36714
+ typedef float _Complex __pyx_t_float_complex;__pyx_t_float_complex1033,36781
+ typedef struct { float real, imag; } __pyx_t_float_complex;real1036,36846
+ typedef struct { float real, imag; } __pyx_t_float_complex;imag1036,36846
+ typedef struct { float real, imag; } __pyx_t_float_complex;__pyx_t_float_complex1036,36846
+ typedef ::std::complex< double > __pyx_t_double_complex;__pyx_t_double_complex1043,37075
+ typedef double _Complex __pyx_t_double_complex;__pyx_t_double_complex1045,37144
+ typedef struct { double real, imag; } __pyx_t_double_complex;real1048,37211
+ typedef struct { double real, imag; } __pyx_t_double_complex;imag1048,37211
+ typedef struct { double real, imag; } __pyx_t_double_complex;__pyx_t_double_complex1048,37211
+enum __pyx_t_6pyisda_4date_DCC {__pyx_t_6pyisda_4date_DCC1073,38034
+ __pyx_e_6pyisda_4date_ACT_365 = 1L,__pyx_e_6pyisda_4date_ACT_3651074,38067
+ __pyx_e_6pyisda_4date_ACT_365F = 2L,__pyx_e_6pyisda_4date_ACT_365F1075,38105
+ __pyx_e_6pyisda_4date_ACT_360 = 3L__pyx_e_6pyisda_4date_ACT_3601076,38144
+typedef npy_cfloat __pyx_t_5numpy_cfloat_t;__pyx_t_5numpy_cfloat_t1086,38473
+typedef npy_cdouble __pyx_t_5numpy_cdouble_t;__pyx_t_5numpy_cdouble_t1095,38770
+typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;__pyx_t_5numpy_clongdouble_t1104,39103
+typedef npy_cdouble __pyx_t_5numpy_complex_t;__pyx_t_5numpy_complex_t1113,39421
+enum __pyx_t_6pyisda_5curve_Basis {__pyx_t_6pyisda_5curve_Basis1122,39750
+ __pyx_e_6pyisda_5curve_CONTINUOUS = 0x1388,__pyx_e_6pyisda_5curve_CONTINUOUS1123,39786
+ __pyx_e_6pyisda_5curve_DISCOUNT_RATE = 0x200,__pyx_e_6pyisda_5curve_DISCOUNT_RATE1124,39832
+ __pyx_e_6pyisda_5curve_SIMPLE_BASIS = 0,__pyx_e_6pyisda_5curve_SIMPLE_BASIS1125,39880
+ __pyx_e_6pyisda_5curve_ANNUAL_BASIS = 1,__pyx_e_6pyisda_5curve_ANNUAL_BASIS1126,39923
+ __pyx_e_6pyisda_5curve_DISCOUNT_FACTOR = -2L__pyx_e_6pyisda_5curve_DISCOUNT_FACTOR1127,39966
+enum BadDay {BadDay1137,40186
+ FOLLOW = ((long)'F'),FOLLOW1146,40405
+ PREVIOUS = ((long)'P'),PREVIOUS1147,40429
+ NONE = ((long)'N'),NONE1148,40455
+ MODIFIED = ((long)'M')MODIFIED1149,40477
+struct __pyx_obj_6pyisda_4legs_ContingentLeg {__pyx_obj_6pyisda_4legs_ContingentLeg1159,40668
+ TContingentLeg *_thisptr;_thisptr1161,40731
+struct __pyx_obj_6pyisda_4legs_FeeLeg {__pyx_obj_6pyisda_4legs_FeeLeg1171,40875
+ TFeeLeg *_thisptr;_thisptr1173,40931
+struct __pyx_obj_6pyisda_5curve_Curve {__pyx_obj_6pyisda_5curve_Curve1184,41113
+ std::shared_ptr<TCurve> _thisptr;_thisptr1186,41169
+struct __pyx_obj_6pyisda_5curve_YieldCurve {__pyx_obj_6pyisda_5curve_YieldCurve1197,41400
+ struct __pyx_obj_6pyisda_5curve_Curve __pyx_base;__pyx_base1198,41445
+ TDate *_dates;_dates1199,41497
+ size_t _ninstr;_ninstr1200,41514
+struct __pyx_obj_6pyisda_5curve_SpreadCurve {__pyx_obj_6pyisda_5curve_SpreadCurve1211,41677
+ struct __pyx_obj_6pyisda_5curve_Curve __pyx_base;__pyx_base1212,41723
+struct __pyx_obj_6pyisda_5curve___pyx_scope_struct____iter__ {__pyx_obj_6pyisda_5curve___pyx_scope_struct____iter__1223,41977
+ size_t __pyx_v_i;__pyx_v_i1225,42056
+ TRatePt *__pyx_v_it;__pyx_v_it1226,42076
+ struct __pyx_obj_6pyisda_5curve_Curve *__pyx_v_self;__pyx_v_self1227,42099
+ int __pyx_t_0;__pyx_t_01228,42154
+ size_t __pyx_t_1;__pyx_t_11229,42171
+struct __pyx_obj___Pyx_EnumMeta {__pyx_obj___Pyx_EnumMeta1240,42402
+ PyHeapTypeObject __pyx_base;__pyx_base1241,42436
+struct __pyx_array_obj {__pyx_array_obj1252,42597
+ struct __pyx_vtabstruct_array *__pyx_vtab;__pyx_vtab1254,42638
+ char *data;data1255,42683
+ Py_ssize_t len;len1256,42697
+ char *format;format1257,42715
+ int ndim;ndim1258,42731
+ Py_ssize_t *_shape;_shape1259,42743
+ Py_ssize_t *_strides;_strides1260,42765
+ Py_ssize_t itemsize;itemsize1261,42789
+ PyObject *mode;mode1262,42812
+ PyObject *_format;_format1263,42830
+ void (*callback_free_data)(void *);callback_free_data1264,42851
+ int free_data;free_data1265,42889
+ int dtype_is_object;dtype_is_object1266,42906
+struct __pyx_MemviewEnum_obj {__pyx_MemviewEnum_obj1277,43112
+ PyObject *name;name1279,43159
+struct __pyx_memoryview_obj {__pyx_memoryview_obj1290,43335
+ struct __pyx_vtabstruct_memoryview *__pyx_vtab;__pyx_vtab1292,43381
+ PyObject *obj;obj1293,43431
+ PyObject *_size;_size1294,43448
+ PyObject *_array_interface;_array_interface1295,43467
+ PyThread_type_lock lock;lock1296,43497
+ __pyx_atomic_int acquisition_count[2];acquisition_count1297,43524
+ __pyx_atomic_int *acquisition_count_aligned_p;acquisition_count_aligned_p1298,43565
+ Py_buffer view;view1299,43614
+ int flags;flags1300,43632
+ int dtype_is_object;dtype_is_object1301,43645
+ __Pyx_TypeInfo *typeinfo;typeinfo1302,43668
+struct __pyx_memoryviewslice_obj {__pyx_memoryviewslice_obj1313,43910
+ struct __pyx_memoryview_obj __pyx_base;__pyx_base1314,43945
+ __Pyx_memviewslice from_slice;from_slice1315,43987
+ PyObject *from_object;from_object1316,44020
+ PyObject *(*to_object_func)(char *);to_object_func1317,44045
+ int (*to_dtype_func)(char *, PyObject *);to_dtype_func1318,44084
+struct __pyx_vtabstruct_array {__pyx_vtabstruct_array1331,44260
+ PyObject *(*get_memview)(struct __pyx_array_obj *);get_memview1332,44292
+static struct __pyx_vtabstruct_array *__pyx_vtabptr_array;__pyx_vtabptr_array1334,44349
+struct __pyx_vtabstruct_memoryview {__pyx_vtabstruct_memoryview1345,44564
+ char *(*get_item_pointer)(struct __pyx_memoryview_obj *, PyObject *);get_item_pointer1346,44601
+ PyObject *(*is_slice)(struct __pyx_memoryview_obj *, PyObject *);is_slice1347,44673
+ PyObject *(*setitem_slice_assignment)(struct __pyx_memoryview_obj *, PyObject *, PyObject *);setitem_slice_assignment1348,44741
+ PyObject *(*setitem_slice_assign_scalar)(struct __pyx_memoryview_obj *, struct __pyx_memoryview_obj *, PyObject *);setitem_slice_assign_scalar1349,44837
+ PyObject *(*setitem_indexed)(struct __pyx_memoryview_obj *, PyObject *, PyObject *);setitem_indexed1350,44955
+ PyObject *(*convert_item_to_object)(struct __pyx_memoryview_obj *, char *);convert_item_to_object1351,45042
+ PyObject *(*assign_item_from_object)(struct __pyx_memoryview_obj *, char *, PyObject *);assign_item_from_object1352,45120
+static struct __pyx_vtabstruct_memoryview *__pyx_vtabptr_memoryview;__pyx_vtabptr_memoryview1354,45214
+struct __pyx_vtabstruct__memoryviewslice {__pyx_vtabstruct__memoryviewslice1365,45495
+ struct __pyx_vtabstruct_memoryview __pyx_base;__pyx_base1366,45538
+static struct __pyx_vtabstruct__memoryviewslice *__pyx_vtabptr__memoryviewslice;__pyx_vtabptr__memoryviewslice1368,45590
+ #define CYTHON_REFNANNY CYTHON_REFNANNY1373,45759
+ void (*INCREF)(void*, PyObject*, int);INCREF1377,45833
+ void (*DECREF)(void*, PyObject*, int);DECREF1378,45876
+ void (*GOTREF)(void*, PyObject*, int);GOTREF1379,45919
+ void (*GIVEREF)(void*, PyObject*, int);GIVEREF1380,45962
+ void* (*SetupContext)(const char*, int, const char*);SetupContext1381,46006
+ void (*FinishContext)(void**);FinishContext1382,46064
+ } __Pyx_RefNannyAPIStruct;__Pyx_RefNannyAPIStruct1383,46099
+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;__Pyx_RefNanny1384,46128
+ #define __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations1386,46265
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext1388,46350
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext1397,46786
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext1400,46934
+ #define __Pyx_INCREF(__Pyx_INCREF1402,47032
+ #define __Pyx_DECREF(__Pyx_DECREF1403,47125
+ #define __Pyx_GOTREF(__Pyx_GOTREF1404,47218
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF1405,47311
+ #define __Pyx_XINCREF(__Pyx_XINCREF1406,47405
+ #define __Pyx_XDECREF(__Pyx_XDECREF1407,47484
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF1408,47563
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF1409,47642
+ #define __Pyx_RefNannyDeclarations__Pyx_RefNannyDeclarations1411,47727
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext1412,47764
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext1413,47820
+ #define __Pyx_INCREF(__Pyx_INCREF1414,47860
+ #define __Pyx_DECREF(__Pyx_DECREF1415,47899
+ #define __Pyx_GOTREF(__Pyx_GOTREF1416,47938
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF1417,47964
+ #define __Pyx_XINCREF(__Pyx_XINCREF1418,47991
+ #define __Pyx_XDECREF(__Pyx_XDECREF1419,48032
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF1420,48073
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF1421,48100
+#define __Pyx_XDECREF_SET(__Pyx_XDECREF_SET1423,48135
+#define __Pyx_DECREF_SET(__Pyx_DECREF_SET1427,48266
+#define __Pyx_CLEAR(__Pyx_CLEAR1431,48395
+#define __Pyx_XCLEAR(__Pyx_XCLEAR1432,48499
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {__Pyx_PyObject_GetAttrStr1436,48679
+#define __Pyx_PyObject_GetAttrStr(__Pyx_PyObject_GetAttrStr1447,49076
+#define __Pyx_PyCFunction_FastCall(__Pyx_PyCFunction_FastCall1472,49927
+#define __Pyx_PyFunction_FastCall(__Pyx_PyFunction_FastCall1477,50062
+#define __Pyx_PyFunction_FastCallDict(__Pyx_PyFunction_FastCallDict1482,50334
+#define __Pyx_PyObject_Call(__Pyx_PyObject_Call1490,50626
+#define __Pyx_BufPtrStrided1d(__Pyx_BufPtrStrided1d1513,51625
+#define __Pyx_PyThreadState_declare __Pyx_PyThreadState_declare1516,51761
+#define __Pyx_PyThreadState_assign __Pyx_PyThreadState_assign1517,51827
+#define __Pyx_PyThreadState_declare__Pyx_PyThreadState_declare1519,51905
+#define __Pyx_PyThreadState_assign__Pyx_PyThreadState_assign1520,51941
+#define __Pyx_ErrRestoreWithState(__Pyx_ErrRestoreWithState1525,52043
+#define __Pyx_ErrFetchWithState(__Pyx_ErrFetchWithState1526,52157
+#define __Pyx_ErrRestore(__Pyx_ErrRestore1527,52269
+#define __Pyx_ErrFetch(__Pyx_ErrFetch1528,52367
+#define __Pyx_ErrRestoreWithState(__Pyx_ErrRestoreWithState1532,52712
+#define __Pyx_ErrFetchWithState(__Pyx_ErrFetchWithState1533,52795
+#define __Pyx_ErrRestore(__Pyx_ErrRestore1534,52874
+#define __Pyx_ErrFetch(__Pyx_ErrFetch1535,52948
+static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {__Pyx_PyList_Append1555,53725
+#define __Pyx_PyList_Append(__Pyx_PyList_Append1567,54114
+#define __Pyx_GetItemInt(__Pyx_GetItemInt1575,54352
+#define __Pyx_GetItemInt_List(__Pyx_GetItemInt_List1580,54736
+#define __Pyx_GetItemInt_Tuple(__Pyx_GetItemInt_Tuple1586,55229
+#define __Pyx_PyString_Equals __Pyx_PyString_Equals1607,56314
+#define __Pyx_PyString_Equals __Pyx_PyString_Equals1609,56373
+#define __Pyx_BUF_MAX_NDIMS __Pyx_BUF_MAX_NDIMS1616,56542
+#define __Pyx_MEMVIEW_DIRECT __Pyx_MEMVIEW_DIRECT1617,56588
+#define __Pyx_MEMVIEW_PTR __Pyx_MEMVIEW_PTR1618,56621
+#define __Pyx_MEMVIEW_FULL __Pyx_MEMVIEW_FULL1619,56654
+#define __Pyx_MEMVIEW_CONTIG __Pyx_MEMVIEW_CONTIG1620,56687
+#define __Pyx_MEMVIEW_STRIDED __Pyx_MEMVIEW_STRIDED1621,56720
+#define __Pyx_MEMVIEW_FOLLOW __Pyx_MEMVIEW_FOLLOW1622,56754
+#define __Pyx_IS_C_CONTIG __Pyx_IS_C_CONTIG1623,56788
+#define __Pyx_IS_F_CONTIG __Pyx_IS_F_CONTIG1624,56816
+#define __pyx_get_slice_count_pointer(__pyx_get_slice_count_pointer1634,57313
+#define __pyx_get_slice_count(__pyx_get_slice_count1635,57399
+#define __PYX_INC_MEMVIEW(__PYX_INC_MEMVIEW1636,57480
+#define __PYX_XDEC_MEMVIEW(__PYX_XDEC_MEMVIEW1637,57568
+#define __Pyx_PyObject_CallNoArg(__Pyx_PyObject_CallNoArg1645,57955
+#define __Pyx_tp_new(__Pyx_tp_new1655,58339
+static CYTHON_INLINE PyObject* __Pyx_tp_new_kwargs(PyObject* type_obj, PyObject* args, PyObject* kwargs) {__Pyx_tp_new_kwargs1656,58418
+static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {__Pyx_ListComp_Append1662,58715
+#define __Pyx_ListComp_Append(__Pyx_ListComp_Append1674,59070
+#define __Pyx_PyInt_AddObjC(__Pyx_PyInt_AddObjC1681,59285
+static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {__Pyx_PyDict_GetItem1687,59499
+ #define __Pyx_PyDict_GetItem(__Pyx_PyDict_GetItem1703,59945
+#define __Pyx_ExceptionSave(__Pyx_ExceptionSave1711,60176
+#define __Pyx_ExceptionReset(__Pyx_ExceptionReset1713,60395
+#define __Pyx_ExceptionSave(__Pyx_ExceptionSave1716,60620
+#define __Pyx_ExceptionReset(__Pyx_ExceptionReset1717,60701
+#define __Pyx_PyErr_ExceptionMatches(__Pyx_PyErr_ExceptionMatches1722,60853
+#define __Pyx_PyErr_ExceptionMatches(__Pyx_PyErr_ExceptionMatches1725,61056
+#define __Pyx_GetException(__Pyx_GetException1730,61189
+#define __Pyx_PyObject_DelAttrStr(__Pyx_PyObject_DelAttrStr1738,61542
+static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {__Pyx_PyObject_SetAttrStr1739,61617
+#define __Pyx_PyObject_DelAttrStr(__Pyx_PyObject_DelAttrStr1750,62046
+#define __Pyx_PyObject_SetAttrStr(__Pyx_PyObject_SetAttrStr1751,62109
+#define UNARY_NEG_WOULD_OVERFLOW(UNARY_NEG_WOULD_OVERFLOW1758,62308
+#define __Pyx_ExceptionSwap(__Pyx_ExceptionSwap1774,63050
+static CYTHON_INLINE int __Pyx_PyList_Extend(PyObject* L, PyObject* v) {__Pyx_PyList_Extend1785,63633
+ #define __PYX_FORCE_INIT_THREADS __PYX_FORCE_INIT_THREADS1802,64114
+#define __Pyx_CyFunction_USED __Pyx_CyFunction_USED1833,65092
+#define __Pyx_CYFUNCTION_STATICMETHOD __Pyx_CYFUNCTION_STATICMETHOD1835,65150
+#define __Pyx_CYFUNCTION_CLASSMETHOD __Pyx_CYFUNCTION_CLASSMETHOD1836,65194
+#define __Pyx_CYFUNCTION_CCLASS __Pyx_CYFUNCTION_CCLASS1837,65238
+#define __Pyx_CyFunction_GetClosure(__Pyx_CyFunction_GetClosure1838,65282
+#define __Pyx_CyFunction_GetClassObj(__Pyx_CyFunction_GetClassObj1840,65375
+#define __Pyx_CyFunction_Defaults(__Pyx_CyFunction_Defaults1842,65470
+#define __Pyx_CyFunction_SetDefaultsGetter(__Pyx_CyFunction_SetDefaultsGetter1844,65573
+ PyCFunctionObject func;func1847,65700
+ PyObject *func_weakreflist;func_weakreflist1849,65760
+ PyObject *func_dict;func_dict1851,65799
+ PyObject *func_name;func_name1852,65824
+ PyObject *func_qualname;func_qualname1853,65849
+ PyObject *func_doc;func_doc1854,65878
+ PyObject *func_globals;func_globals1855,65902
+ PyObject *func_code;func_code1856,65930
+ PyObject *func_closure;func_closure1857,65955
+ PyObject *func_classobj;func_classobj1858,65983
+ void *defaults;defaults1859,66012
+ int defaults_pyobjects;defaults_pyobjects1860,66032
+ int flags;flags1861,66060
+ PyObject *defaults_tuple;defaults_tuple1862,66075
+ PyObject *defaults_kwdict;defaults_kwdict1863,66105
+ PyObject *(*defaults_getter)(PyObject *);defaults_getter1864,66136
+ PyObject *func_annotations;func_annotations1865,66182
+} __pyx_CyFunctionObject;__pyx_CyFunctionObject1866,66214
+static PyTypeObject *__pyx_CyFunctionType = 0;__pyx_CyFunctionType1867,66240
+#define __Pyx_CyFunction_NewEx(__Pyx_CyFunction_NewEx1868,66287
+ PyCodeObject* code_object;code_object1897,68055
+ int code_line;code_line1898,68086
+} __Pyx_CodeObjectCacheEntry;__Pyx_CodeObjectCacheEntry1899,68105
+struct __Pyx_CodeObjectCache {__Pyx_CodeObjectCache1900,68135
+ int count;count1901,68166
+ int max_count;max_count1902,68181
+ __Pyx_CodeObjectCacheEntry* entries;entries1903,68200
+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};__pyx_code_cache1905,68244
+ #define __Pyx_GetBuffer __Pyx_GetBuffer1921,68904
+ #define __Pyx_ReleaseBuffer __Pyx_ReleaseBuffer1922,68951
+ Py_ssize_t shape, strides, suboffsets;shape1928,69058
+ Py_ssize_t shape, strides, suboffsets;strides1928,69058
+ Py_ssize_t shape, strides, suboffsets;suboffsets1928,69058
+} __Pyx_Buf_DimInfo;__Pyx_Buf_DimInfo1929,69099
+ size_t refcount;refcount1931,69137
+ Py_buffer pybuffer;pybuffer1932,69156
+} __Pyx_Buffer;__Pyx_Buffer1933,69178
+ __Pyx_Buffer *rcbuffer;rcbuffer1935,69211
+ char *data;data1936,69237
+ __Pyx_Buf_DimInfo diminfo[8];diminfo1937,69251
+} __Pyx_LocalBuf_ND;__Pyx_LocalBuf_ND1938,69283
+static Py_ssize_t __Pyx_zeros[] = {0, 0, 0, 0, 0, 0, 0, 0};__Pyx_zeros1941,69322
+static Py_ssize_t __Pyx_minusones[] = {-1, -1, -1, -1, -1, -1, -1, -1};__Pyx_minusones1942,69382
+static void __Pyx_CppExn2PyErr() {__Pyx_CppExn2PyErr1994,71178
+ #define __Pyx_CREAL(__Pyx_CREAL2033,72552
+ #define __Pyx_CIMAG(__Pyx_CIMAG2034,72592
+ #define __Pyx_CREAL(__Pyx_CREAL2036,72640
+ #define __Pyx_CIMAG(__Pyx_CIMAG2037,72681
+ #define __Pyx_CREAL(__Pyx_CREAL2040,72737
+ #define __Pyx_CIMAG(__Pyx_CIMAG2041,72775
+ #define __Pyx_SET_CREAL(__Pyx_SET_CREAL2045,73024
+ #define __Pyx_SET_CIMAG(__Pyx_SET_CIMAG2046,73071
+ #define __Pyx_SET_CREAL(__Pyx_SET_CREAL2048,73124
+ #define __Pyx_SET_CIMAG(__Pyx_SET_CIMAG2049,73178
+ #define __Pyx_c_eq_float(__Pyx_c_eq_float2054,73283
+ #define __Pyx_c_sum_float(__Pyx_c_sum_float2055,73331
+ #define __Pyx_c_diff_float(__Pyx_c_diff_float2056,73378
+ #define __Pyx_c_prod_float(__Pyx_c_prod_float2057,73425
+ #define __Pyx_c_quot_float(__Pyx_c_quot_float2058,73472
+ #define __Pyx_c_neg_float(__Pyx_c_neg_float2059,73519
+ #define __Pyx_c_is_zero_float(__Pyx_c_is_zero_float2061,73584
+ #define __Pyx_c_conj_float(__Pyx_c_conj_float2062,73637
+ #define __Pyx_c_abs_float(__Pyx_c_abs_float2064,73701
+ #define __Pyx_c_pow_float(__Pyx_c_pow_float2065,73758
+ #define __Pyx_c_is_zero_float(__Pyx_c_is_zero_float2068,73837
+ #define __Pyx_c_conj_float(__Pyx_c_conj_float2069,73883
+ #define __Pyx_c_abs_float(__Pyx_c_abs_float2071,73941
+ #define __Pyx_c_pow_float(__Pyx_c_pow_float2072,73993
+ #define __Pyx_c_eq_double(__Pyx_c_eq_double2092,75136
+ #define __Pyx_c_sum_double(__Pyx_c_sum_double2093,75185
+ #define __Pyx_c_diff_double(__Pyx_c_diff_double2094,75233
+ #define __Pyx_c_prod_double(__Pyx_c_prod_double2095,75281
+ #define __Pyx_c_quot_double(__Pyx_c_quot_double2096,75329
+ #define __Pyx_c_neg_double(__Pyx_c_neg_double2097,75377
+ #define __Pyx_c_is_zero_double(__Pyx_c_is_zero_double2099,75443
+ #define __Pyx_c_conj_double(__Pyx_c_conj_double2100,75498
+ #define __Pyx_c_abs_double(__Pyx_c_abs_double2102,75563
+ #define __Pyx_c_pow_double(__Pyx_c_pow_double2103,75621
+ #define __Pyx_c_is_zero_double(__Pyx_c_is_zero_double2106,75701
+ #define __Pyx_c_conj_double(__Pyx_c_conj_double2107,75748
+ #define __Pyx_c_abs_double(__Pyx_c_abs_double2109,75806
+ #define __Pyx_c_pow_double(__Pyx_c_pow_double2110,75858
+typedef PyObject *(*__pyx_coroutine_body_t)(PyObject *, PyObject *);__pyx_coroutine_body_t2166,78340
+ __pyx_coroutine_body_t body;body2169,78444
+ PyObject *closure;closure2170,78477
+ PyObject *exc_type;exc_type2171,78500
+ PyObject *exc_value;exc_value2172,78524
+ PyObject *exc_traceback;exc_traceback2173,78549
+ PyObject *gi_weakreflist;gi_weakreflist2174,78578
+ PyObject *classobj;classobj2175,78608
+ PyObject *yieldfrom;yieldfrom2176,78632
+ PyObject *gi_name;gi_name2177,78657
+ PyObject *gi_qualname;gi_qualname2178,78680
+ PyObject *gi_modulename;gi_modulename2179,78707
+ int resume_label;resume_label2180,78736
+ char is_running;is_running2181,78758
+} __pyx_CoroutineObject;__pyx_CoroutineObject2182,78779
+#define __Pyx_PyGen_FetchStopIterationValue(__Pyx_PyGen_FetchStopIterationValue2190,79152
+#define __Pyx_Generator_USED__Pyx_Generator_USED2200,79461
+static PyTypeObject *__pyx_GeneratorType = 0;__pyx_GeneratorType2201,79490
+#define __Pyx_Generator_CheckExact(__Pyx_Generator_CheckExact2202,79536
+#define __Pyx_Generator_New(__Pyx_Generator_New2203,79614
+ #define __Pyx_PyIdentifier_FromString(__Pyx_PyIdentifier_FromString2217,80166
+ #define __Pyx_PyIdentifier_FromString(__Pyx_PyIdentifier_FromString2219,80238
+static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;__pyx_ptype_7cpython_4type_type2251,82339
+static PyTypeObject *__pyx_ptype_7cpython_4bool_bool = 0;__pyx_ptype_7cpython_4bool_bool2284,83159
+static PyTypeObject *__pyx_ptype_7cpython_7complex_complex = 0;__pyx_ptype_7cpython_7complex_complex2293,83408
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_date = 0;__pyx_ptype_7cpython_8datetime_date2332,84403
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_time = 0;__pyx_ptype_7cpython_8datetime_time2333,84465
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_datetime = 0;__pyx_ptype_7cpython_8datetime_datetime2334,84527
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_timedelta = 0;__pyx_ptype_7cpython_8datetime_timedelta2335,84593
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_tzinfo = 0;__pyx_ptype_7cpython_8datetime_tzinfo2336,84660
+static long (*__pyx_f_6pyisda_4date_dcc)(PyObject *); /*proto*/__pyx_f_6pyisda_4date_dcc2339,84770
+static __pyx_t_6pyisda_4date_TDate (*__pyx_f_6pyisda_4date_pydate_to_TDate)(PyDateTime_Date *); /*proto*/__pyx_f_6pyisda_4date_pydate_to_TDate2340,84834
+static PyDateTime_Date *(*__pyx_f_6pyisda_4date_TDate_to_pydate)(__pyx_t_6pyisda_4date_TDate, int __pyx_skip_dispatch); /*proto*/__pyx_f_6pyisda_4date_TDate_to_pydate2341,84940
+static PyTypeObject *__pyx_ptype_6pyisda_4legs_ContingentLeg = 0;__pyx_ptype_6pyisda_4legs_ContingentLeg2346,85164
+static PyTypeObject *__pyx_ptype_6pyisda_4legs_FeeLeg = 0;__pyx_ptype_6pyisda_4legs_FeeLeg2347,85230
+static PyTypeObject *__pyx_ptype_5numpy_dtype = 0;__pyx_ptype_5numpy_dtype2364,85635
+static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0;__pyx_ptype_5numpy_flatiter2365,85686
+static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0;__pyx_ptype_5numpy_broadcast2366,85740
+static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0;__pyx_ptype_5numpy_ndarray2367,85795
+static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0;__pyx_ptype_5numpy_ufunc2368,85848
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_Curve = 0;__pyx_ptype_6pyisda_5curve_Curve2373,86127
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_YieldCurve = 0;__pyx_ptype_6pyisda_5curve_YieldCurve2374,86186
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_SpreadCurve = 0;__pyx_ptype_6pyisda_5curve_SpreadCurve2375,86250
+static PyTypeObject *__pyx_ptype_6pyisda_5curve___pyx_scope_struct____iter__ = 0;__pyx_ptype_6pyisda_5curve___pyx_scope_struct____iter__2376,86315
+static PyTypeObject *__pyx_ptype___Pyx_EnumMeta = 0;__pyx_ptype___Pyx_EnumMeta2377,86397
+static PyTypeObject *__pyx_array_type = 0;__pyx_array_type2378,86450
+static PyTypeObject *__pyx_MemviewEnum_type = 0;__pyx_MemviewEnum_type2379,86493
+static PyTypeObject *__pyx_memoryview_type = 0;__pyx_memoryview_type2380,86542
+static PyTypeObject *__pyx_memoryviewslice_type = 0;__pyx_memoryviewslice_type2381,86590
+static int __pyx_v_6pyisda_5curve_SUCCESS;__pyx_v_6pyisda_5curve_SUCCESS2382,86643
+static PyObject *__Pyx_OrderedDict = 0;__Pyx_OrderedDict2383,86686
+static PyObject *__Pyx_EnumBase = 0;__Pyx_EnumBase2384,86726
+static PyObject *generic = 0;generic2385,86763
+static PyObject *strided = 0;strided2386,86793
+static PyObject *indirect = 0;indirect2387,86823
+static PyObject *contiguous = 0;contiguous2388,86854
+static PyObject *indirect_contiguous = 0;indirect_contiguous2389,86887
+static int __pyx_memoryview_thread_locks_used;__pyx_memoryview_thread_locks_used2390,86929
+static PyThread_type_lock __pyx_memoryview_thread_locks[8];__pyx_memoryview_thread_locks2391,86976
+static PyObject *__Pyx_globals = 0;__Pyx_globals2392,87036
+static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 };__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t2428,90551
+static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t = { "int64_t", NULL, sizeof(__pyx_t_5numpy_int64_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_int64_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_int64_t), 0 };__Pyx_TypeInfo_nn___pyx_t_5numpy_int64_t2429,90696
+static __Pyx_TypeInfo __Pyx_TypeInfo_double = { "double", NULL, sizeof(double), { 0 }, 0, 'R', 0, 0 };__Pyx_TypeInfo_double2430,90913
+static __Pyx_TypeInfo __Pyx_TypeInfo_int = { "bint", NULL, sizeof(int), { 0 }, 0, IS_UNSIGNED(int) ? 'U' : 'I', IS_UNSIGNED(int), 0 };__Pyx_TypeInfo_int2431,91016
+#define __Pyx_MODULE_NAME __Pyx_MODULE_NAME2432,91151
+int __pyx_module_is_main_pyisda__curve = 0;__pyx_module_is_main_pyisda__curve2433,91192
+static PyObject *__pyx_builtin_range;__pyx_builtin_range2436,91276
+static PyObject *__pyx_builtin_ValueError;__pyx_builtin_ValueError2437,91314
+static PyObject *__pyx_builtin_enumerate;__pyx_builtin_enumerate2438,91357
+static PyObject *__pyx_builtin_super;__pyx_builtin_super2439,91399
+static PyObject *__pyx_builtin_RuntimeError;__pyx_builtin_RuntimeError2440,91437
+static PyObject *__pyx_builtin_ImportError;__pyx_builtin_ImportError2441,91482
+static PyObject *__pyx_builtin_MemoryError;__pyx_builtin_MemoryError2442,91526
+static PyObject *__pyx_builtin_Ellipsis;__pyx_builtin_Ellipsis2443,91570
+static PyObject *__pyx_builtin_TypeError;__pyx_builtin_TypeError2444,91611
+static PyObject *__pyx_builtin_id;__pyx_builtin_id2445,91653
+static PyObject *__pyx_builtin_IndexError;__pyx_builtin_IndexError2446,91688
+static const char __pyx_k_M[] = "M";__pyx_k_M2447,91731
+static const char __pyx_k_O[] = "O";__pyx_k_O2448,91768
+static const char __pyx_k_c[] = "c";__pyx_k_c2449,91805
+static const char __pyx_k_v[] = "v";__pyx_k_v2450,91842
+static const char __pyx_k_d1[] = "d1";__pyx_k_d12451,91879
+static const char __pyx_k_d2[] = "d2";__pyx_k_d22452,91918
+static const char __pyx_k_id[] = "id";__pyx_k_id2453,91957
+static const char __pyx_k_np[] = "np";__pyx_k_np2454,91996
+static const char __pyx_k_yc[] = "yc";__pyx_k_yc2455,92035
+static const char __pyx_k_cls[] = "cls";__pyx_k_cls2456,92074
+static const char __pyx_k_dct[] = "dct";__pyx_k_dct2457,92115
+static const char __pyx_k_dfs[] = "dfs";__pyx_k_dfs2458,92156
+static const char __pyx_k_doc[] = "__doc__";__pyx_k_doc2459,92197
+static const char __pyx_k_new[] = "__new__";__pyx_k_new2460,92242
+static const char __pyx_k_obj[] = "obj";__pyx_k_obj2461,92287
+static const char __pyx_k_res[] = "res";__pyx_k_res2462,92328
+static const char __pyx_k_s_s[] = "%s.%s";__pyx_k_s_s2463,92369
+static const char __pyx_k_str[] = "__str__";__pyx_k_str2464,92412
+static const char __pyx_k_M8_D[] = "M8[D]";__pyx_k_M8_D2465,92457
+static const char __pyx_k_NONE[] = "NONE";__pyx_k_NONE2466,92501
+static const char __pyx_k_args[] = "args";__pyx_k_args2467,92544
+static const char __pyx_k_base[] = "base";__pyx_k_base2468,92587
+static const char __pyx_k_data[] = "data";__pyx_k_data2469,92630
+static const char __pyx_k_date[] = "date";__pyx_k_date2470,92673
+static const char __pyx_k_enum[] = "enum";__pyx_k_enum2471,92716
+static const char __pyx_k_init[] = "__init__";__pyx_k_init2472,92759
+static const char __pyx_k_iter[] = "__iter__";__pyx_k_iter2473,92806
+static const char __pyx_k_main[] = "__main__";__pyx_k_main2474,92853
+static const char __pyx_k_mask[] = "mask";__pyx_k_mask2475,92900
+static const char __pyx_k_mode[] = "mode";__pyx_k_mode2476,92943
+static const char __pyx_k_name[] = "name";__pyx_k_name2477,92986
+static const char __pyx_k_ndim[] = "ndim";__pyx_k_ndim2478,93029
+static const char __pyx_k_pack[] = "pack";__pyx_k_pack2479,93072
+static const char __pyx_k_rate[] = "rate";__pyx_k_rate2480,93115
+static const char __pyx_k_repr[] = "__repr__";__pyx_k_repr2481,93158
+static const char __pyx_k_self[] = "self";__pyx_k_self2482,93205
+static const char __pyx_k_send[] = "send";__pyx_k_send2483,93248
+static const char __pyx_k_size[] = "size";__pyx_k_size2484,93291
+static const char __pyx_k_step[] = "step";__pyx_k_step2485,93334
+static const char __pyx_k_stop[] = "stop";__pyx_k_stop2486,93377
+static const char __pyx_k_test[] = "__test__";__pyx_k_test2487,93420
+static const char __pyx_k_view[] = "view";__pyx_k_view2488,93467
+static const char __pyx_k_ASCII[] = "ASCII";__pyx_k_ASCII2489,93510
+static const char __pyx_k_basis[] = "basis";__pyx_k_basis2490,93555
+static const char __pyx_k_class[] = "__class__";__pyx_k_class2491,93600
+static const char __pyx_k_close[] = "close";__pyx_k_close2492,93649
+static const char __pyx_k_dates[] = "dates";__pyx_k_dates2493,93694
+static const char __pyx_k_error[] = "error";__pyx_k_error2494,93739
+static const char __pyx_k_flags[] = "flags";__pyx_k_flags2495,93784
+static const char __pyx_k_numpy[] = "numpy";__pyx_k_numpy2496,93829
+static const char __pyx_k_range[] = "range";__pyx_k_range2497,93874
+static const char __pyx_k_rates[] = "rates";__pyx_k_rates2498,93919
+static const char __pyx_k_s_s_d[] = "<%s.%s: %d>";__pyx_k_s_s_d2499,93964
+static const char __pyx_k_shape[] = "shape";__pyx_k_shape2500,94015
+static const char __pyx_k_start[] = "start";__pyx_k_start2501,94060
+static const char __pyx_k_super[] = "super";__pyx_k_super2502,94105
+static const char __pyx_k_throw[] = "throw";__pyx_k_throw2503,94150
+static const char __pyx_k_today[] = "today";__pyx_k_today2504,94195
+static const char __pyx_k_types[] = "types";__pyx_k_types2505,94240
+static const char __pyx_k_utf_8[] = "utf-8";__pyx_k_utf_82506,94285
+static const char __pyx_k_value[] = "value";__pyx_k_value2507,94330
+static const char __pyx_k_BadDay[] = "BadDay";__pyx_k_BadDay2508,94375
+static const char __pyx_k_FOLLOW[] = "FOLLOW";__pyx_k_FOLLOW2509,94422
+static const char __pyx_k_encode[] = "encode";__pyx_k_encode2510,94469
+static const char __pyx_k_format[] = "format";__pyx_k_format2511,94516
+static const char __pyx_k_import[] = "__import__";__pyx_k_import2512,94563
+static const char __pyx_k_mm_dcc[] = "mm_dcc";__pyx_k_mm_dcc2513,94614
+static const char __pyx_k_module[] = "__module__";__pyx_k_module2514,94661
+static const char __pyx_k_name_2[] = "__name__";__pyx_k_name_22515,94712
+static const char __pyx_k_struct[] = "struct";__pyx_k_struct2516,94761
+static const char __pyx_k_unpack[] = "unpack";__pyx_k_unpack2517,94808
+static const char __pyx_k_values[] = "values";__pyx_k_values2518,94855
+static const char __pyx_k_IntEnum[] = "IntEnum";__pyx_k_IntEnum2519,94902
+static const char __pyx_k_epsilon[] = "epsilon";__pyx_k_epsilon2520,94951
+static const char __pyx_k_fortran[] = "fortran";__pyx_k_fortran2521,95000
+static const char __pyx_k_inplace[] = "inplace";__pyx_k_inplace2522,95049
+static const char __pyx_k_members[] = "__members__";__pyx_k_members2523,95098
+static const char __pyx_k_memview[] = "memview";__pyx_k_memview2524,95151
+static const char __pyx_k_parents[] = "parents";__pyx_k_parents2525,95200
+static const char __pyx_k_periods[] = "periods";__pyx_k_periods2526,95249
+static const char __pyx_k_prepare[] = "__prepare__";__pyx_k_prepare2527,95298
+static const char __pyx_k_Ellipsis[] = "Ellipsis";__pyx_k_Ellipsis2528,95351
+static const char __pyx_k_EnumBase[] = "EnumBase";__pyx_k_EnumBase2529,95402
+static const char __pyx_k_EnumType[] = "EnumType";__pyx_k_EnumType2530,95453
+static const char __pyx_k_MODIFIED[] = "MODIFIED";__pyx_k_MODIFIED2531,95504
+static const char __pyx_k_PREVIOUS[] = "PREVIOUS";__pyx_k_PREVIOUS2532,95555
+static const char __pyx_k_getstate[] = "__getstate__";__pyx_k_getstate2533,95606
+static const char __pyx_k_itemsize[] = "itemsize";__pyx_k_itemsize2534,95661
+static const char __pyx_k_qualname[] = "__qualname__";__pyx_k_qualname2535,95712
+static const char __pyx_k_setstate[] = "__setstate__";__pyx_k_setstate2536,95767
+static const char __pyx_k_TypeError[] = "TypeError";__pyx_k_TypeError2537,95822
+static const char __pyx_k_base_date[] = "base_date";__pyx_k_base_date2538,95875
+static const char __pyx_k_end_dates[] = "end_dates";__pyx_k_end_dates2539,95928
+static const char __pyx_k_enumerate[] = "enumerate";__pyx_k_enumerate2540,95981
+static const char __pyx_k_metaclass[] = "__metaclass__";__pyx_k_metaclass2541,96034
+static const char __pyx_k_IndexError[] = "IndexError";__pyx_k_IndexError2542,96091
+static const char __pyx_k_ValueError[] = "ValueError";__pyx_k_ValueError2543,96146
+static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";__pyx_k_pyx_vtable2544,96201
+static const char __pyx_k_start_date[] = "start_date";__pyx_k_start_date2545,96260
+static const char __pyx_k_Actual_365F[] = "Actual/365F";__pyx_k_Actual_365F2546,96315
+static const char __pyx_k_ImportError[] = "ImportError";__pyx_k_ImportError2547,96372
+static const char __pyx_k_MemoryError[] = "MemoryError";__pyx_k_MemoryError2548,96429
+static const char __pyx_k_OrderedDict[] = "OrderedDict";__pyx_k_OrderedDict2549,96486
+static const char __pyx_k_collections[] = "collections";__pyx_k_collections2550,96543
+static const char __pyx_k_Curve___iter[] = "Curve.__iter__";__pyx_k_Curve___iter2551,96600
+static const char __pyx_k_Pyx_EnumBase[] = "__Pyx_EnumBase";__pyx_k_Pyx_EnumBase2552,96661
+static const char __pyx_k_RuntimeError[] = "RuntimeError";__pyx_k_RuntimeError2553,96722
+static const char __pyx_k_bad_day_conv[] = "bad_day_conv";__pyx_k_bad_day_conv2554,96781
+static const char __pyx_k_coupon_rates[] = "coupon_rates";__pyx_k_coupon_rates2555,96840
+static const char __pyx_k_dcc_tostring[] = "dcc_tostring";__pyx_k_dcc_tostring2556,96899
+static const char __pyx_k_hazard_rates[] = "hazard_rates";__pyx_k_hazard_rates2557,96958
+static const char __pyx_k_pyisda_curve[] = "pyisda.curve";__pyx_k_pyisda_curve2558,97017
+static const char __pyx_k_step_in_date[] = "step_in_date";__pyx_k_step_in_date2559,97076
+static const char __pyx_k_stringsource[] = "stringsource";__pyx_k_stringsource2560,97135
+static const char __pyx_k_pyx_getbuffer[] = "__pyx_getbuffer";__pyx_k_pyx_getbuffer2561,97194
+static const char __pyx_k_upfront_rates[] = "upfront_rates";__pyx_k_upfront_rates2562,97257
+static const char __pyx_k_curve_is_empty[] = "curve is empty";__pyx_k_curve_is_empty2563,97318
+static const char __pyx_k_day_count_conv[] = "day_count_conv";__pyx_k_day_count_conv2564,97381
+static const char __pyx_k_fixed_swap_dcc[] = "fixed_swap_dcc";__pyx_k_fixed_swap_dcc2565,97444
+static const char __pyx_k_float_swap_dcc[] = "float_swap_dcc";__pyx_k_float_swap_dcc2566,97507
+static const char __pyx_k_multiplicative[] = "multiplicative";__pyx_k_multiplicative2567,97570
+static const char __pyx_k_recovery_rates[] = "recovery_rates";__pyx_k_recovery_rates2568,97633
+static const char __pyx_k_allocate_buffer[] = "allocate_buffer";__pyx_k_allocate_buffer2569,97696
+static const char __pyx_k_discount_factor[] = "discount_factor";__pyx_k_discount_factor2570,97761
+static const char __pyx_k_dtype_is_object[] = "dtype_is_object";__pyx_k_dtype_is_object2571,97826
+static const char __pyx_k_Invalid_interval[] = "Invalid interval";__pyx_k_Invalid_interval2572,97891
+static const char __pyx_k_cash_settle_date[] = "cash_settle_date";__pyx_k_cash_settle_date2573,97958
+static const char __pyx_k_from_flat_hazard[] = "from_flat_hazard";__pyx_k_from_flat_hazard2574,98025
+static const char __pyx_k_fixed_swap_period[] = "fixed_swap_period";__pyx_k_fixed_swap_period2575,98092
+static const char __pyx_k_float_swap_period[] = "float_swap_period";__pyx_k_float_swap_period2576,98161
+static const char __pyx_k_Pyx_EnumBase___new[] = "__Pyx_EnumBase.__new__";__pyx_k_Pyx_EnumBase___new2577,98230
+static const char __pyx_k_Pyx_EnumBase___str[] = "__Pyx_EnumBase.__str__";__pyx_k_Pyx_EnumBase___str2578,98305
+static const char __pyx_k_can_t_convert_stub[] = "can't convert stub";__pyx_k_can_t_convert_stub2579,98380
+static const char __pyx_k_forward_zero_price[] = "__forward_zero_price";__pyx_k_forward_zero_price2580,98451
+static const char __pyx_k_strided_and_direct[] = "<strided and direct>";__pyx_k_strided_and_direct2581,98524
+static const char __pyx_k_Pyx_EnumBase___repr[] = "__Pyx_EnumBase.__repr__";__pyx_k_Pyx_EnumBase___repr2582,98597
+static const char __pyx_k_Unknown_enum_value_s[] = "Unknown enum value: '%s'";__pyx_k_Unknown_enum_value_s2583,98674
+static const char __pyx_k_day_count_convention[] = "day_count_convention";__pyx_k_day_count_convention2584,98753
+static const char __pyx_k_strided_and_indirect[] = "<strided and indirect>";__pyx_k_strided_and_indirect2585,98828
+static const char __pyx_k_survival_probability[] = "survival_probability";__pyx_k_survival_probability2586,98905
+static const char __pyx_k_contiguous_and_direct[] = "<contiguous and direct>";__pyx_k_contiguous_and_direct2587,98980
+static const char __pyx_k_from_discount_factors[] = "from_discount_factors";__pyx_k_from_discount_factors2588,99059
+static const char __pyx_k_MemoryView_of_r_object[] = "<MemoryView of %r object>";__pyx_k_MemoryView_of_r_object2589,99136
+static const char __pyx_k_pay_accrued_on_default[] = "pay_accrued_on_default";__pyx_k_pay_accrued_on_default2590,99218
+static const char __pyx_k_MemoryView_of_r_at_0x_x[] = "<MemoryView of %r at 0x%x>";__pyx_k_MemoryView_of_r_at_0x_x2591,99297
+static const char __pyx_k_contiguous_and_indirect[] = "<contiguous and indirect>";__pyx_k_contiguous_and_indirect2592,99381
+static const char __pyx_k_Cannot_index_with_type_s[] = "Cannot index with type '%s'";__pyx_k_Cannot_index_with_type_s2593,99464
+static const char __pyx_k_can_t_compute_par_spread[] = "can't compute par spread";__pyx_k_can_t_compute_par_spread2594,99550
+static const char __pyx_k_Invalid_shape_in_axis_d_d[] = "Invalid shape in axis %d: %d.";__pyx_k_Invalid_shape_in_axis_d_d2595,99633
+static const char __pyx_k_itemsize_0_for_cython_array[] = "itemsize <= 0 for cython.array";__pyx_k_itemsize_0_for_cython_array2596,99722
+static const char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous";__pyx_k_ndarray_is_not_C_contiguous2597,99814
+static const char __pyx_k_unable_to_allocate_array_data[] = "unable to allocate array data.";__pyx_k_unable_to_allocate_array_data2598,99903
+static const char __pyx_k_strided_and_direct_or_indirect[] = "<strided and direct or indirect>";__pyx_k_strided_and_direct_or_indirect2599,99997
+static const char __pyx_k_Can_only_convert_CONTINUOUS_and[] = "Can only convert CONTINUOUS and ANNUAL_BASIS";__pyx_k_Can_only_convert_CONTINUOUS_and2600,100094
+static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import";__pyx_k_numpy_core_multiarray_failed_to2601,100204
+static const char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)";__pyx_k_unknown_dtype_code_in_numpy_pxd2602,100308
+static const char __pyx_k_Buffer_view_does_not_expose_stri[] = "Buffer view does not expose strides";__pyx_k_Buffer_view_does_not_expose_stri2603,100410
+static const char __pyx_k_Can_only_create_a_buffer_that_is[] = "Can only create a buffer that is contiguous in memory.";__pyx_k_Can_only_create_a_buffer_that_is2604,100512
+static const char __pyx_k_Didn_t_init_the_survival_curve_p[] = "Didn't init the survival curve properly";__pyx_k_Didn_t_init_the_survival_curve_p2605,100633
+static const char __pyx_k_Empty_shape_tuple_for_cython_arr[] = "Empty shape tuple for cython.array";__pyx_k_Empty_shape_tuple_for_cython_arr2606,100739
+static const char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd";__pyx_k_Format_string_allocated_too_shor2607,100840
+static const char __pyx_k_Indirect_dimensions_not_supporte[] = "Indirect dimensions not supported";__pyx_k_Indirect_dimensions_not_supporte2608,100966
+static const char __pyx_k_Invalid_mode_expected_c_or_fortr[] = "Invalid mode, expected 'c' or 'fortran', got %s";__pyx_k_Invalid_mode_expected_c_or_fortr2609,101066
+static const char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported";__pyx_k_Non_native_byte_order_not_suppor2610,101180
+static const char __pyx_k_Out_of_bounds_on_buffer_access_a[] = "Out of bounds on buffer access (axis %d)";__pyx_k_Out_of_bounds_on_buffer_access_a2611,101282
+static const char __pyx_k_Unable_to_convert_item_to_object[] = "Unable to convert item to object";__pyx_k_Unable_to_convert_item_to_object2612,101389
+static const char __pyx_k_cash_settle_date_0_is_anterior_t[] = "cash_settle_date: {0} is anterior to yc's base_date: {1}";__pyx_k_cash_settle_date_0_is_anterior_t2613,101488
+static const char __pyx_k_got_differing_extents_in_dimensi[] = "got differing extents in dimension %d (got %d and %d)";__pyx_k_got_differing_extents_in_dimensi2614,101611
+static const char __pyx_k_mask_size_need_to_be_the_same_as[] = "mask size need to be the same as the number of Items";__pyx_k_mask_size_need_to_be_the_same_as2615,101731
+static const char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous";__pyx_k_ndarray_is_not_Fortran_contiguou2616,101850
+static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import";__pyx_k_numpy_core_umath_failed_to_impor2617,101950
+static const char __pyx_k_unable_to_allocate_shape_and_str[] = "unable to allocate shape and strides.";__pyx_k_unable_to_allocate_shape_and_str2618,102050
+static const char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short.";__pyx_k_Format_string_allocated_too_shor_22619,102154
+static PyObject *__pyx_n_s_ASCII;__pyx_n_s_ASCII2620,102257
+static PyObject *__pyx_kp_s_Actual_365F;__pyx_kp_s_Actual_365F2621,102291
+static PyObject *__pyx_n_s_BadDay;__pyx_n_s_BadDay2622,102332
+static PyObject *__pyx_kp_s_Buffer_view_does_not_expose_stri;__pyx_kp_s_Buffer_view_does_not_expose_stri2623,102367
+static PyObject *__pyx_kp_s_Can_only_convert_CONTINUOUS_and;__pyx_kp_s_Can_only_convert_CONTINUOUS_and2624,102429
+static PyObject *__pyx_kp_s_Can_only_create_a_buffer_that_is;__pyx_kp_s_Can_only_create_a_buffer_that_is2625,102490
+static PyObject *__pyx_kp_s_Cannot_index_with_type_s;__pyx_kp_s_Cannot_index_with_type_s2626,102552
+static PyObject *__pyx_n_s_Curve___iter;__pyx_n_s_Curve___iter2627,102606
+static PyObject *__pyx_kp_s_Didn_t_init_the_survival_curve_p;__pyx_kp_s_Didn_t_init_the_survival_curve_p2628,102647
+static PyObject *__pyx_n_s_Ellipsis;__pyx_n_s_Ellipsis2629,102709
+static PyObject *__pyx_kp_s_Empty_shape_tuple_for_cython_arr;__pyx_kp_s_Empty_shape_tuple_for_cython_arr2630,102746
+static PyObject *__pyx_n_s_EnumBase;__pyx_n_s_EnumBase2631,102808
+static PyObject *__pyx_n_s_EnumType;__pyx_n_s_EnumType2632,102845
+static PyObject *__pyx_n_s_FOLLOW;__pyx_n_s_FOLLOW2633,102882
+static PyObject *__pyx_kp_u_Format_string_allocated_too_shor;__pyx_kp_u_Format_string_allocated_too_shor2634,102917
+static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2;__pyx_kp_u_Format_string_allocated_too_shor_22635,102979
+static PyObject *__pyx_n_s_ImportError;__pyx_n_s_ImportError2636,103043
+static PyObject *__pyx_n_s_IndexError;__pyx_n_s_IndexError2637,103083
+static PyObject *__pyx_kp_s_Indirect_dimensions_not_supporte;__pyx_kp_s_Indirect_dimensions_not_supporte2638,103122
+static PyObject *__pyx_n_s_IntEnum;__pyx_n_s_IntEnum2639,103184
+static PyObject *__pyx_kp_s_Invalid_interval;__pyx_kp_s_Invalid_interval2640,103220
+static PyObject *__pyx_kp_s_Invalid_mode_expected_c_or_fortr;__pyx_kp_s_Invalid_mode_expected_c_or_fortr2641,103266
+static PyObject *__pyx_kp_s_Invalid_shape_in_axis_d_d;__pyx_kp_s_Invalid_shape_in_axis_d_d2642,103328
+static PyObject *__pyx_n_s_M;__pyx_n_s_M2643,103383
+static PyObject *__pyx_kp_s_M8_D;__pyx_kp_s_M8_D2644,103413
+static PyObject *__pyx_n_s_MODIFIED;__pyx_n_s_MODIFIED2645,103447
+static PyObject *__pyx_n_s_MemoryError;__pyx_n_s_MemoryError2646,103484
+static PyObject *__pyx_kp_s_MemoryView_of_r_at_0x_x;__pyx_kp_s_MemoryView_of_r_at_0x_x2647,103524
+static PyObject *__pyx_kp_s_MemoryView_of_r_object;__pyx_kp_s_MemoryView_of_r_object2648,103577
+static PyObject *__pyx_n_s_NONE;__pyx_n_s_NONE2649,103629
+static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor;__pyx_kp_u_Non_native_byte_order_not_suppor2650,103662
+static PyObject *__pyx_n_b_O;__pyx_n_b_O2651,103724
+static PyObject *__pyx_n_s_OrderedDict;__pyx_n_s_OrderedDict2652,103754
+static PyObject *__pyx_kp_s_Out_of_bounds_on_buffer_access_a;__pyx_kp_s_Out_of_bounds_on_buffer_access_a2653,103794
+static PyObject *__pyx_n_s_PREVIOUS;__pyx_n_s_PREVIOUS2654,103856
+static PyObject *__pyx_n_s_Pyx_EnumBase;__pyx_n_s_Pyx_EnumBase2655,103893
+static PyObject *__pyx_n_s_Pyx_EnumBase___new;__pyx_n_s_Pyx_EnumBase___new2656,103934
+static PyObject *__pyx_n_s_Pyx_EnumBase___repr;__pyx_n_s_Pyx_EnumBase___repr2657,103981
+static PyObject *__pyx_n_s_Pyx_EnumBase___str;__pyx_n_s_Pyx_EnumBase___str2658,104029
+static PyObject *__pyx_n_s_RuntimeError;__pyx_n_s_RuntimeError2659,104076
+static PyObject *__pyx_n_s_TypeError;__pyx_n_s_TypeError2660,104117
+static PyObject *__pyx_kp_s_Unable_to_convert_item_to_object;__pyx_kp_s_Unable_to_convert_item_to_object2661,104155
+static PyObject *__pyx_kp_s_Unknown_enum_value_s;__pyx_kp_s_Unknown_enum_value_s2662,104217
+static PyObject *__pyx_n_s_ValueError;__pyx_n_s_ValueError2663,104267
+static PyObject *__pyx_n_s_allocate_buffer;__pyx_n_s_allocate_buffer2664,104306
+static PyObject *__pyx_n_s_args;__pyx_n_s_args2665,104350
+static PyObject *__pyx_n_s_bad_day_conv;__pyx_n_s_bad_day_conv2666,104383
+static PyObject *__pyx_n_s_base;__pyx_n_s_base2667,104424
+static PyObject *__pyx_n_s_base_date;__pyx_n_s_base_date2668,104457
+static PyObject *__pyx_n_s_basis;__pyx_n_s_basis2669,104495
+static PyObject *__pyx_n_s_c;__pyx_n_s_c2670,104529
+static PyObject *__pyx_n_u_c;__pyx_n_u_c2671,104559
+static PyObject *__pyx_kp_s_can_t_compute_par_spread;__pyx_kp_s_can_t_compute_par_spread2672,104589
+static PyObject *__pyx_kp_s_can_t_convert_stub;__pyx_kp_s_can_t_convert_stub2673,104643
+static PyObject *__pyx_n_s_cash_settle_date;__pyx_n_s_cash_settle_date2674,104691
+static PyObject *__pyx_kp_s_cash_settle_date_0_is_anterior_t;__pyx_kp_s_cash_settle_date_0_is_anterior_t2675,104736
+static PyObject *__pyx_n_s_class;__pyx_n_s_class2676,104798
+static PyObject *__pyx_n_s_close;__pyx_n_s_close2677,104832
+static PyObject *__pyx_n_s_cls;__pyx_n_s_cls2678,104866
+static PyObject *__pyx_n_s_collections;__pyx_n_s_collections2679,104898
+static PyObject *__pyx_kp_s_contiguous_and_direct;__pyx_kp_s_contiguous_and_direct2680,104938
+static PyObject *__pyx_kp_s_contiguous_and_indirect;__pyx_kp_s_contiguous_and_indirect2681,104989
+static PyObject *__pyx_n_s_coupon_rates;__pyx_n_s_coupon_rates2682,105042
+static PyObject *__pyx_kp_s_curve_is_empty;__pyx_kp_s_curve_is_empty2683,105083
+static PyObject *__pyx_n_s_d1;__pyx_n_s_d12684,105127
+static PyObject *__pyx_n_s_d2;__pyx_n_s_d22685,105158
+static PyObject *__pyx_n_s_data;__pyx_n_s_data2686,105189
+static PyObject *__pyx_n_s_date;__pyx_n_s_date2687,105222
+static PyObject *__pyx_n_s_dates;__pyx_n_s_dates2688,105255
+static PyObject *__pyx_n_s_day_count_conv;__pyx_n_s_day_count_conv2689,105289
+static PyObject *__pyx_n_s_day_count_convention;__pyx_n_s_day_count_convention2690,105332
+static PyObject *__pyx_n_s_dcc_tostring;__pyx_n_s_dcc_tostring2691,105381
+static PyObject *__pyx_n_s_dct;__pyx_n_s_dct2692,105422
+static PyObject *__pyx_n_s_dfs;__pyx_n_s_dfs2693,105454
+static PyObject *__pyx_n_s_discount_factor;__pyx_n_s_discount_factor2694,105486
+static PyObject *__pyx_n_s_doc;__pyx_n_s_doc2695,105530
+static PyObject *__pyx_n_s_dtype_is_object;__pyx_n_s_dtype_is_object2696,105562
+static PyObject *__pyx_n_s_encode;__pyx_n_s_encode2697,105606
+static PyObject *__pyx_n_s_end_dates;__pyx_n_s_end_dates2698,105641
+static PyObject *__pyx_n_s_enum;__pyx_n_s_enum2699,105679
+static PyObject *__pyx_n_s_enumerate;__pyx_n_s_enumerate2700,105712
+static PyObject *__pyx_n_s_epsilon;__pyx_n_s_epsilon2701,105750
+static PyObject *__pyx_n_s_error;__pyx_n_s_error2702,105786
+static PyObject *__pyx_n_s_fixed_swap_dcc;__pyx_n_s_fixed_swap_dcc2703,105820
+static PyObject *__pyx_n_s_fixed_swap_period;__pyx_n_s_fixed_swap_period2704,105863
+static PyObject *__pyx_n_s_flags;__pyx_n_s_flags2705,105909
+static PyObject *__pyx_n_s_float_swap_dcc;__pyx_n_s_float_swap_dcc2706,105943
+static PyObject *__pyx_n_s_float_swap_period;__pyx_n_s_float_swap_period2707,105986
+static PyObject *__pyx_n_s_format;__pyx_n_s_format2708,106032
+static PyObject *__pyx_n_s_fortran;__pyx_n_s_fortran2709,106067
+static PyObject *__pyx_n_u_fortran;__pyx_n_u_fortran2710,106103
+static PyObject *__pyx_n_s_forward_zero_price;__pyx_n_s_forward_zero_price2711,106139
+static PyObject *__pyx_n_s_from_discount_factors;__pyx_n_s_from_discount_factors2712,106186
+static PyObject *__pyx_n_s_from_flat_hazard;__pyx_n_s_from_flat_hazard2713,106236
+static PyObject *__pyx_n_s_getstate;__pyx_n_s_getstate2714,106281
+static PyObject *__pyx_kp_s_got_differing_extents_in_dimensi;__pyx_kp_s_got_differing_extents_in_dimensi2715,106318
+static PyObject *__pyx_n_s_hazard_rates;__pyx_n_s_hazard_rates2716,106380
+static PyObject *__pyx_n_s_id;__pyx_n_s_id2717,106421
+static PyObject *__pyx_n_s_import;__pyx_n_s_import2718,106452
+static PyObject *__pyx_n_s_init;__pyx_n_s_init2719,106487
+static PyObject *__pyx_n_s_inplace;__pyx_n_s_inplace2720,106520
+static PyObject *__pyx_n_s_itemsize;__pyx_n_s_itemsize2721,106556
+static PyObject *__pyx_kp_s_itemsize_0_for_cython_array;__pyx_kp_s_itemsize_0_for_cython_array2722,106593
+static PyObject *__pyx_n_s_iter;__pyx_n_s_iter2723,106650
+static PyObject *__pyx_n_s_main;__pyx_n_s_main2724,106683
+static PyObject *__pyx_n_s_mask;__pyx_n_s_mask2725,106716
+static PyObject *__pyx_kp_s_mask_size_need_to_be_the_same_as;__pyx_kp_s_mask_size_need_to_be_the_same_as2726,106749
+static PyObject *__pyx_n_s_members;__pyx_n_s_members2727,106811
+static PyObject *__pyx_n_s_memview;__pyx_n_s_memview2728,106847
+static PyObject *__pyx_n_s_metaclass;__pyx_n_s_metaclass2729,106883
+static PyObject *__pyx_n_s_mm_dcc;__pyx_n_s_mm_dcc2730,106921
+static PyObject *__pyx_n_s_mode;__pyx_n_s_mode2731,106956
+static PyObject *__pyx_n_s_module;__pyx_n_s_module2732,106989
+static PyObject *__pyx_n_s_multiplicative;__pyx_n_s_multiplicative2733,107024
+static PyObject *__pyx_n_s_name;__pyx_n_s_name2734,107067
+static PyObject *__pyx_n_s_name_2;__pyx_n_s_name_22735,107100
+static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous;__pyx_kp_u_ndarray_is_not_C_contiguous2736,107135
+static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou;__pyx_kp_u_ndarray_is_not_Fortran_contiguou2737,107192
+static PyObject *__pyx_n_s_ndim;__pyx_n_s_ndim2738,107254
+static PyObject *__pyx_n_s_new;__pyx_n_s_new2739,107287
+static PyObject *__pyx_n_s_np;__pyx_n_s_np2740,107319
+static PyObject *__pyx_n_s_numpy;__pyx_n_s_numpy2741,107350
+static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to;__pyx_kp_s_numpy_core_multiarray_failed_to2742,107384
+static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor;__pyx_kp_s_numpy_core_umath_failed_to_impor2743,107445
+static PyObject *__pyx_n_s_obj;__pyx_n_s_obj2744,107507
+static PyObject *__pyx_n_s_pack;__pyx_n_s_pack2745,107539
+static PyObject *__pyx_n_s_parents;__pyx_n_s_parents2746,107572
+static PyObject *__pyx_n_s_pay_accrued_on_default;__pyx_n_s_pay_accrued_on_default2747,107608
+static PyObject *__pyx_n_s_periods;__pyx_n_s_periods2748,107659
+static PyObject *__pyx_n_s_prepare;__pyx_n_s_prepare2749,107695
+static PyObject *__pyx_n_s_pyisda_curve;__pyx_n_s_pyisda_curve2750,107731
+static PyObject *__pyx_n_s_pyx_getbuffer;__pyx_n_s_pyx_getbuffer2751,107772
+static PyObject *__pyx_n_s_pyx_vtable;__pyx_n_s_pyx_vtable2752,107814
+static PyObject *__pyx_n_s_qualname;__pyx_n_s_qualname2753,107853
+static PyObject *__pyx_n_s_range;__pyx_n_s_range2754,107890
+static PyObject *__pyx_n_s_rate;__pyx_n_s_rate2755,107924
+static PyObject *__pyx_n_s_rates;__pyx_n_s_rates2756,107957
+static PyObject *__pyx_n_s_recovery_rates;__pyx_n_s_recovery_rates2757,107991
+static PyObject *__pyx_n_s_repr;__pyx_n_s_repr2758,108034
+static PyObject *__pyx_n_s_res;__pyx_n_s_res2759,108067
+static PyObject *__pyx_kp_s_s_s;__pyx_kp_s_s_s2760,108099
+static PyObject *__pyx_kp_s_s_s_d;__pyx_kp_s_s_s_d2761,108132
+static PyObject *__pyx_n_s_self;__pyx_n_s_self2762,108167
+static PyObject *__pyx_n_s_send;__pyx_n_s_send2763,108200
+static PyObject *__pyx_n_s_setstate;__pyx_n_s_setstate2764,108233
+static PyObject *__pyx_n_s_shape;__pyx_n_s_shape2765,108270
+static PyObject *__pyx_n_s_size;__pyx_n_s_size2766,108304
+static PyObject *__pyx_n_s_start;__pyx_n_s_start2767,108337
+static PyObject *__pyx_n_s_start_date;__pyx_n_s_start_date2768,108371
+static PyObject *__pyx_n_s_step;__pyx_n_s_step2769,108410
+static PyObject *__pyx_n_s_step_in_date;__pyx_n_s_step_in_date2770,108443
+static PyObject *__pyx_n_s_stop;__pyx_n_s_stop2771,108484
+static PyObject *__pyx_n_s_str;__pyx_n_s_str2772,108517
+static PyObject *__pyx_kp_s_strided_and_direct;__pyx_kp_s_strided_and_direct2773,108549
+static PyObject *__pyx_kp_s_strided_and_direct_or_indirect;__pyx_kp_s_strided_and_direct_or_indirect2774,108597
+static PyObject *__pyx_kp_s_strided_and_indirect;__pyx_kp_s_strided_and_indirect2775,108657
+static PyObject *__pyx_kp_s_stringsource;__pyx_kp_s_stringsource2776,108707
+static PyObject *__pyx_n_s_struct;__pyx_n_s_struct2777,108749
+static PyObject *__pyx_n_s_super;__pyx_n_s_super2778,108784
+static PyObject *__pyx_n_s_survival_probability;__pyx_n_s_survival_probability2779,108818
+static PyObject *__pyx_n_s_test;__pyx_n_s_test2780,108867
+static PyObject *__pyx_n_s_throw;__pyx_n_s_throw2781,108900
+static PyObject *__pyx_n_s_today;__pyx_n_s_today2782,108934
+static PyObject *__pyx_n_s_types;__pyx_n_s_types2783,108968
+static PyObject *__pyx_kp_s_unable_to_allocate_array_data;__pyx_kp_s_unable_to_allocate_array_data2784,109002
+static PyObject *__pyx_kp_s_unable_to_allocate_shape_and_str;__pyx_kp_s_unable_to_allocate_shape_and_str2785,109061
+static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd;__pyx_kp_u_unknown_dtype_code_in_numpy_pxd2786,109123
+static PyObject *__pyx_n_s_unpack;__pyx_n_s_unpack2787,109184
+static PyObject *__pyx_n_s_upfront_rates;__pyx_n_s_upfront_rates2788,109219
+static PyObject *__pyx_kp_s_utf_8;__pyx_kp_s_utf_82789,109261
+static PyObject *__pyx_n_s_v;__pyx_n_s_v2790,109296
+static PyObject *__pyx_n_s_value;__pyx_n_s_value2791,109326
+static PyObject *__pyx_n_s_values;__pyx_n_s_values2792,109360
+static PyObject *__pyx_n_s_view;__pyx_n_s_view2793,109395
+static PyObject *__pyx_n_s_yc;__pyx_n_s_yc2794,109428
+static PyObject *__pyx_int_0;__pyx_int_02866,120782
+static PyObject *__pyx_int_1;__pyx_int_12867,120812
+static PyObject *__pyx_int_5;__pyx_int_52868,120842
+static PyObject *__pyx_int_neg_1;__pyx_int_neg_12869,120872
+static enum __pyx_t_6pyisda_5curve_Basis __pyx_k__12;__pyx_k__122870,120906
+static __Pyx_memviewslice __pyx_k__13;__pyx_k__132871,120960
+static PyObject *__pyx_tuple_;__pyx_tuple_2872,120999
+static PyObject *__pyx_slice__9;__pyx_slice__92873,121030
+static PyObject *__pyx_tuple__2;__pyx_tuple__22874,121063
+static PyObject *__pyx_tuple__3;__pyx_tuple__32875,121096
+static PyObject *__pyx_tuple__4;__pyx_tuple__42876,121129
+static PyObject *__pyx_tuple__5;__pyx_tuple__52877,121162
+static PyObject *__pyx_tuple__6;__pyx_tuple__62878,121195
+static PyObject *__pyx_tuple__7;__pyx_tuple__72879,121228
+static PyObject *__pyx_tuple__8;__pyx_tuple__82880,121261
+static PyObject *__pyx_slice__35;__pyx_slice__352881,121294
+static PyObject *__pyx_slice__36;__pyx_slice__362882,121328
+static PyObject *__pyx_slice__37;__pyx_slice__372883,121362
+static PyObject *__pyx_tuple__10;__pyx_tuple__102884,121396
+static PyObject *__pyx_tuple__11;__pyx_tuple__112885,121430
+static PyObject *__pyx_tuple__14;__pyx_tuple__142886,121464
+static PyObject *__pyx_tuple__15;__pyx_tuple__152887,121498
+static PyObject *__pyx_tuple__16;__pyx_tuple__162888,121532
+static PyObject *__pyx_tuple__17;__pyx_tuple__172889,121566
+static PyObject *__pyx_tuple__18;__pyx_tuple__182890,121600
+static PyObject *__pyx_tuple__19;__pyx_tuple__192891,121634
+static PyObject *__pyx_tuple__20;__pyx_tuple__202892,121668
+static PyObject *__pyx_tuple__21;__pyx_tuple__212893,121702
+static PyObject *__pyx_tuple__22;__pyx_tuple__222894,121736
+static PyObject *__pyx_tuple__23;__pyx_tuple__232895,121770
+static PyObject *__pyx_tuple__24;__pyx_tuple__242896,121804
+static PyObject *__pyx_tuple__25;__pyx_tuple__252897,121838
+static PyObject *__pyx_tuple__26;__pyx_tuple__262898,121872
+static PyObject *__pyx_tuple__27;__pyx_tuple__272899,121906
+static PyObject *__pyx_tuple__28;__pyx_tuple__282900,121940
+static PyObject *__pyx_tuple__29;__pyx_tuple__292901,121974
+static PyObject *__pyx_tuple__30;__pyx_tuple__302902,122008
+static PyObject *__pyx_tuple__31;__pyx_tuple__312903,122042
+static PyObject *__pyx_tuple__32;__pyx_tuple__322904,122076
+static PyObject *__pyx_tuple__33;__pyx_tuple__332905,122110
+static PyObject *__pyx_tuple__34;__pyx_tuple__342906,122144
+static PyObject *__pyx_tuple__38;__pyx_tuple__382907,122178
+static PyObject *__pyx_tuple__39;__pyx_tuple__392908,122212
+static PyObject *__pyx_tuple__41;__pyx_tuple__412909,122246
+static PyObject *__pyx_tuple__42;__pyx_tuple__422910,122280
+static PyObject *__pyx_tuple__44;__pyx_tuple__442911,122314
+static PyObject *__pyx_tuple__46;__pyx_tuple__462912,122348
+static PyObject *__pyx_tuple__47;__pyx_tuple__472913,122382
+static PyObject *__pyx_tuple__48;__pyx_tuple__482914,122416
+static PyObject *__pyx_tuple__49;__pyx_tuple__492915,122450
+static PyObject *__pyx_tuple__50;__pyx_tuple__502916,122484
+static PyObject *__pyx_codeobj__40;__pyx_codeobj__402917,122518
+static PyObject *__pyx_codeobj__43;__pyx_codeobj__432918,122554
+static PyObject *__pyx_codeobj__45;__pyx_codeobj__452919,122590
+static CYTHON_INLINE std::shared_ptr<TCurve> __pyx_f_6pyisda_5curve_make_shared(TCurve *__pyx_v_ptr) {__pyx_f_6pyisda_5curve_make_shared2929,122838
+static char __pyx_doc_6pyisda_5curve_5Curve___getstate__[] = "Curve.__getstate__(self)";__pyx_doc_6pyisda_5curve_5Curve___getstate__2968,124036
+static PyObject *__pyx_pw_6pyisda_5curve_5Curve_1__getstate__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_pw_6pyisda_5curve_5Curve_1__getstate__2969,124125
+static PyObject *__pyx_pf_6pyisda_5curve_5Curve___getstate__(struct __pyx_obj_6pyisda_5curve_Curve *__pyx_v_self) {__pyx_pf_6pyisda_5curve_5Curve___getstate__2980,124554
+static char __pyx_doc_6pyisda_5curve_5Curve_2__setstate__[] = "Curve.__setstate__(self, state)";__pyx_doc_6pyisda_5curve_5Curve_2__setstate__3127,129802
+static PyObject *__pyx_pw_6pyisda_5curve_5Curve_3__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_v_state) {__pyx_pw_6pyisda_5curve_5Curve_3__setstate__3128,129899
+static PyObject *__pyx_pf_6pyisda_5curve_5Curve_2__setstate__(struct __pyx_obj_6pyisda_5curve_Curve *__pyx_v_self, PyObject *__pyx_v_state) {__pyx_pf_6pyisda_5curve_5Curve_2__setstate__3139,130351
+static Py_hash_t __pyx_pw_6pyisda_5curve_5Curve_5__hash__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_5curve_5Curve_5__hash__3357,138948
+static Py_hash_t __pyx_pf_6pyisda_5curve_5Curve_4__hash__(struct __pyx_obj_6pyisda_5curve_Curve *__pyx_v_self) {__pyx_pf_6pyisda_5curve_5Curve_4__hash__3368,139330
+static char __pyx_doc_6pyisda_5curve_5Curve_6inspect[] = "Curve.inspect(self)\n method to inspect the content of the C struct\n\n Returns\n -------\n dict\n contains `base_date`, `basis`, `day_count_counvention` and `data`\n ";__pyx_doc_6pyisda_5curve_5Curve_6inspect3516,144863
+static PyObject *__pyx_pw_6pyisda_5curve_5Curve_7inspect(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_pw_6pyisda_5curve_5Curve_7inspect3517,145129
+static PyObject *__pyx_pf_6pyisda_5curve_5Curve_6inspect(struct __pyx_obj_6pyisda_5curve_Curve *__pyx_v_self) {__pyx_pf_6pyisda_5curve_5Curve_6inspect3528,145544
+static char __pyx_doc_6pyisda_5curve_5Curve_8to_df[] = "Curve.to_df(self)";__pyx_doc_6pyisda_5curve_5Curve_8to_df3675,151955
+static PyObject *__pyx_pw_6pyisda_5curve_5Curve_9to_df(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_pw_6pyisda_5curve_5Curve_9to_df3676,152031
+static PyObject *__pyx_pf_6pyisda_5curve_5Curve_8to_df(struct __pyx_obj_6pyisda_5curve_Curve *__pyx_v_self) {__pyx_pf_6pyisda_5curve_5Curve_8to_df3687,152440
+static PyObject *__pyx_pw_6pyisda_5curve_5Curve_11__iter__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_5curve_5Curve_11__iter__3887,161187
+static PyObject *__pyx_pf_6pyisda_5curve_5Curve_10__iter__(struct __pyx_obj_6pyisda_5curve_Curve *__pyx_v_self) {__pyx_pf_6pyisda_5curve_5Curve_10__iter__3898,161575
+static PyObject *__pyx_gb_6pyisda_5curve_5Curve_12generator(__pyx_CoroutineObject *__pyx_generator, PyObject *__pyx_sent_value) /* generator body */__pyx_gb_6pyisda_5curve_5Curve_12generator3931,163178
+static Py_ssize_t __pyx_pw_6pyisda_5curve_5Curve_14__len__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_5curve_5Curve_14__len__4052,167736
+static Py_ssize_t __pyx_pf_6pyisda_5curve_5Curve_13__len__(struct __pyx_obj_6pyisda_5curve_Curve *__pyx_v_self) {__pyx_pf_6pyisda_5curve_5Curve_13__len__4063,168119
+static char __pyx_doc_6pyisda_5curve_5Curve_15__deepcopy__[] = "Curve.__deepcopy__(self, memo)";__pyx_doc_6pyisda_5curve_5Curve_15__deepcopy__4102,169308
+static PyObject *__pyx_pw_6pyisda_5curve_5Curve_16__deepcopy__(PyObject *__pyx_v_self, PyObject *__pyx_v_memo) {__pyx_pw_6pyisda_5curve_5Curve_16__deepcopy__4103,169405
+static PyObject *__pyx_pf_6pyisda_5curve_5Curve_15__deepcopy__(struct __pyx_obj_6pyisda_5curve_Curve *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_memo) {__pyx_pf_6pyisda_5curve_5Curve_15__deepcopy__4114,169857
+static PyObject *__pyx_pw_6pyisda_5curve_5Curve_20forward_hazard_rates_1__get__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_5curve_5Curve_20forward_hazard_rates_1__get__4234,174883
+static PyObject *__pyx_pf_6pyisda_5curve_5Curve_20forward_hazard_rates___get__(struct __pyx_obj_6pyisda_5curve_Curve *__pyx_v_self) {__pyx_pf_6pyisda_5curve_5Curve_20forward_hazard_rates___get__4245,175311
+static PyObject *__pyx_pw_6pyisda_5curve_5Curve_9base_date_1__get__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_5curve_5Curve_9base_date_1__get__4571,187874
+static PyObject *__pyx_pf_6pyisda_5curve_5Curve_9base_date___get__(struct __pyx_obj_6pyisda_5curve_Curve *__pyx_v_self) {__pyx_pf_6pyisda_5curve_5Curve_9base_date___get__4582,188278
+static char __pyx_doc_6pyisda_5curve_5Curve_17__forward_zero_price[] = "Curve.__forward_zero_price(self, d2, d1=None)\n computes the forward zero price at a given date.\n\n Parameters\n ----------\n date : :class:`datetime.date`\n\n Returns\n -------\n float\n ";__pyx_doc_6pyisda_5curve_5Curve_17__forward_zero_price4631,189934
+static PyObject *__pyx_pw_6pyisda_5curve_5Curve_18__forward_zero_price(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_5curve_5Curve_18__forward_zero_price4632,190247
+static PyObject *__pyx_pf_6pyisda_5curve_5Curve_17__forward_zero_price(struct __pyx_obj_6pyisda_5curve_Curve *__pyx_v_self, PyObject *__pyx_v_d2, PyObject *__pyx_v_d1) {__pyx_pf_6pyisda_5curve_5Curve_17__forward_zero_price4691,192640
+static PyObject *__pyx_f_6pyisda_5curve_fArray_to_list(TRatePt *__pyx_v_fArray, int __pyx_v_fNumItems) {__pyx_f_6pyisda_5curve_fArray_to_list4855,199095
+static int __pyx_pw_6pyisda_5curve_10YieldCurve_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_5curve_10YieldCurve_1__init__4958,202666
+static int __pyx_pf_6pyisda_5curve_10YieldCurve___init__(struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_self, PyObject *__pyx_v_date, PyObject *__pyx_v_types, PyObject *__pyx_v_periods, __Pyx_memviewslice __pyx_v_rates, PyObject *__pyx_v_mm_dcc, PyObject *__pyx_v_fixed_swap_period, PyObject *__pyx_v_float_swap_period, PyObject *__pyx_v_fixed_swap_dcc, PyObject *__pyx_v_float_swap_dcc, enum BadDay __pyx_v_bad_day_conv) {__pyx_pf_6pyisda_5curve_10YieldCurve___init__5097,210223
+static void __pyx_pw_6pyisda_5curve_10YieldCurve_3__dealloc__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_5curve_10YieldCurve_3__dealloc__5611,232629
+static void __pyx_pf_6pyisda_5curve_10YieldCurve_2__dealloc__(struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_self) {__pyx_pf_6pyisda_5curve_10YieldCurve_2__dealloc__5620,232983
+static char __pyx_doc_6pyisda_5curve_10YieldCurve_4__getstate__[] = "YieldCurve.__getstate__(self)";__pyx_doc_6pyisda_5curve_10YieldCurve_4__getstate__5675,234772
+static PyObject *__pyx_pw_6pyisda_5curve_10YieldCurve_5__getstate__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_pw_6pyisda_5curve_10YieldCurve_5__getstate__5676,234873
+static PyObject *__pyx_pf_6pyisda_5curve_10YieldCurve_4__getstate__(struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_self) {__pyx_pf_6pyisda_5curve_10YieldCurve_4__getstate__5687,235320
+static char __pyx_doc_6pyisda_5curve_10YieldCurve_6__setstate__[] = "YieldCurve.__setstate__(self, state)";__pyx_doc_6pyisda_5curve_10YieldCurve_6__setstate__5808,240300
+static PyObject *__pyx_pw_6pyisda_5curve_10YieldCurve_7__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_v_state) {__pyx_pw_6pyisda_5curve_10YieldCurve_7__setstate__5809,240408
+static PyObject *__pyx_pf_6pyisda_5curve_10YieldCurve_6__setstate__(struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_self, PyObject *__pyx_v_state) {__pyx_pf_6pyisda_5curve_10YieldCurve_6__setstate__5820,240877
+static char __pyx_doc_6pyisda_5curve_10YieldCurve_8from_discount_factors[] = "YieldCurve.from_discount_factors(type cls, base_date, list dates, __Pyx_memviewslice dfs, str day_count_conv)\n build a yield curve from a list of discount factors ";__pyx_doc_6pyisda_5curve_10YieldCurve_8from_discount_factors5983,247982
+static PyObject *__pyx_pw_6pyisda_5curve_10YieldCurve_9from_discount_factors(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_5curve_10YieldCurve_9from_discount_factors5984,248227
+static PyObject *__pyx_pf_6pyisda_5curve_10YieldCurve_8from_discount_factors(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_base_date, PyObject *__pyx_v_dates, __Pyx_memviewslice __pyx_v_dfs, PyObject *__pyx_v_day_count_conv) {__pyx_pf_6pyisda_5curve_10YieldCurve_8from_discount_factors6064,252108
+static PyObject *__pyx_pw_6pyisda_5curve_10YieldCurve_5dates_1__get__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_5curve_10YieldCurve_5dates_1__get__6269,261278
+static PyObject *__pyx_pf_6pyisda_5curve_10YieldCurve_5dates___get__(struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_self) {__pyx_pf_6pyisda_5curve_10YieldCurve_5dates___get__6280,261691
+static char __pyx_doc_6pyisda_5curve_10YieldCurve_10expected_forward_curve[] = "YieldCurve.expected_forward_curve(self, forward_date)\n returns the expected forward curve ";__pyx_doc_6pyisda_5curve_10YieldCurve_10expected_forward_curve6342,263935
+static PyObject *__pyx_pw_6pyisda_5curve_10YieldCurve_11expected_forward_curve(PyObject *__pyx_v_self, PyObject *__pyx_v_forward_date) {__pyx_pw_6pyisda_5curve_10YieldCurve_11expected_forward_curve6343,264109
+static PyObject *__pyx_pf_6pyisda_5curve_10YieldCurve_10expected_forward_curve(struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_self, PyObject *__pyx_v_forward_date) {__pyx_pf_6pyisda_5curve_10YieldCurve_10expected_forward_curve6354,264624
+static void __pyx_f_6pyisda_5curve_tweak_curve(TCurve *__pyx_v_sc, TCurve *__pyx_v_sc_tweaked, double __pyx_v_epsilon, std::vector<double> &__pyx_v_h, std::vector<double> const &__pyx_v_T, int *__pyx_v_mask) {__pyx_f_6pyisda_5curve_tweak_curve6546,272823
+static int __pyx_pw_6pyisda_5curve_11SpreadCurve_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_5curve_11SpreadCurve_1__init__6752,279103
+static int __pyx_pf_6pyisda_5curve_11SpreadCurve___init__(struct __pyx_obj_6pyisda_5curve_SpreadCurve *__pyx_v_self, PyObject *__pyx_v_today, struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_yc, PyObject *__pyx_v_start_date, PyObject *__pyx_v_step_in_date, PyObject *__pyx_v_cash_settle_date, PyObject *__pyx_v_end_dates, __Pyx_memviewslice __pyx_v_coupon_rates, __Pyx_memviewslice __pyx_v_upfront_rates, __Pyx_memviewslice __pyx_v_recovery_rates, int __pyx_v_pay_accrued_on_default) {__pyx_pf_6pyisda_5curve_11SpreadCurve___init__6908,287110
+static char __pyx_doc_6pyisda_5curve_11SpreadCurve_2from_flat_hazard[] = "SpreadCurve.from_flat_hazard(type cls, base_date, double rate, Basis basis=CONTINUOUS, str day_count_conv='Actual/365F')\n\n Alternative constructor for flat hazard rate Curve.\n\n Parameters\n ----------\n base_date : datetime.date\n Starting date of the curve\n rate : float\n Flat hazard rate.\n basis : int, optional\n Default to :data:`CONTINUOUS`\n day_count_conv : str, optional\n Default to 'Actual/365F'\n\n ";__pyx_doc_6pyisda_5curve_11SpreadCurve_2from_flat_hazard7387,308676
+static PyObject *__pyx_pw_6pyisda_5curve_11SpreadCurve_3from_flat_hazard(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_5curve_11SpreadCurve_3from_flat_hazard7388,309270
+static PyObject *__pyx_pf_6pyisda_5curve_11SpreadCurve_2from_flat_hazard(PyTypeObject *__pyx_v_cls, PyObject *__pyx_v_base_date, double __pyx_v_rate, enum __pyx_t_6pyisda_5curve_Basis __pyx_v_basis, PyObject *__pyx_v_day_count_conv) {__pyx_pf_6pyisda_5curve_11SpreadCurve_2from_flat_hazard7474,313183
+static char __pyx_doc_6pyisda_5curve_11SpreadCurve_4tweak_curve[] = "SpreadCurve.tweak_curve(self, double epsilon, bool multiplicative=True, __Pyx_memviewslice mask=None, bool inplace=False)\n\n Tweak the survival curve in place.\n\n Parameters\n ----------\n epsilon : double\n tweaking factor (either additive or multiplicative)\n multiplicative : bool, optional\n do we scale by 1+epsilon or add epsilon (default multiplicative).\n mask : array of bool or None\n If None (default), tweak everything, otherwise only tweak values\n in the mask.\n ";__pyx_doc_6pyisda_5curve_11SpreadCurve_4tweak_curve7580,317860
+static PyObject *__pyx_pw_6pyisda_5curve_11SpreadCurve_5tweak_curve(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_5curve_11SpreadCurve_5tweak_curve7581,318500
+static PyObject *__pyx_pf_6pyisda_5curve_11SpreadCurve_4tweak_curve(struct __pyx_obj_6pyisda_5curve_SpreadCurve *__pyx_v_self, double __pyx_v_epsilon, CYTHON_UNUSED int __pyx_v_multiplicative, __Pyx_memviewslice __pyx_v_mask, int __pyx_v_inplace) {__pyx_pf_6pyisda_5curve_11SpreadCurve_4tweak_curve7686,323055
+static char __pyx_doc_6pyisda_5curve_11SpreadCurve_6par_spread[] = "SpreadCurve.par_spread(self, today, step_in_date, start_date, end_dates, __Pyx_memviewslice recovery_rates, YieldCurve yc, bool pay_accrued_on_default)";__pyx_doc_6pyisda_5curve_11SpreadCurve_6par_spread7965,333209
+static PyObject *__pyx_pw_6pyisda_5curve_11SpreadCurve_7par_spread(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_5curve_11SpreadCurve_7par_spread7966,333431
+static PyObject *__pyx_pf_6pyisda_5curve_11SpreadCurve_6par_spread(struct __pyx_obj_6pyisda_5curve_SpreadCurve *__pyx_v_self, PyObject *__pyx_v_today, PyObject *__pyx_v_step_in_date, PyObject *__pyx_v_start_date, PyObject *__pyx_v_end_dates, __Pyx_memviewslice __pyx_v_recovery_rates, struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_yc, int __pyx_v_pay_accrued_on_default) {__pyx_pf_6pyisda_5curve_11SpreadCurve_6par_spread8072,338782
+static CYTHON_INLINE void __pyx_f_7cpython_8datetime_import_datetime(void) {__pyx_f_7cpython_8datetime_import_datetime8508,357487
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_date_new(int __pyx_v_year, int __pyx_v_month, int __pyx_v_day) {__pyx_f_7cpython_8datetime_date_new8541,358560
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_time_new(int __pyx_v_hour, int __pyx_v_minute, int __pyx_v_second, int __pyx_v_microsecond, PyObject *__pyx_v_tz) {__pyx_f_7cpython_8datetime_time_new8588,360424
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_datetime_new(int __pyx_v_year, int __pyx_v_month, int __pyx_v_day, int __pyx_v_hour, int __pyx_v_minute, int __pyx_v_second, int __pyx_v_microsecond, PyObject *__pyx_v_tz) {__pyx_f_7cpython_8datetime_datetime_new8635,362558
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_timedelta_new(int __pyx_v_days, int __pyx_v_seconds, int __pyx_v_useconds) {__pyx_f_7cpython_8datetime_timedelta_new8682,364861
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_time_tzinfo(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_tzinfo8729,366663
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_datetime_tzinfo(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_tzinfo8803,368758
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_year(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_year8877,370851
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_month(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_month8914,371697
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_day(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_day8951,372544
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_year(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_year8988,373389
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_month(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_month9025,374271
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_day(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_day9062,375154
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_hour(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_hour9099,376016
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_minute(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_minute9136,376886
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_second(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_second9173,377774
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_microsecond(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_microsecond9210,378682
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_hour(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_hour9247,379619
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_minute(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_minute9284,380525
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_second(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_second9321,381449
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_microsecond(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_microsecond9358,382393
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_days(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_days9395,383357
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_seconds(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_seconds9432,384278
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_microseconds(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_microseconds9468,385242
+static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_pw_5numpy_7ndarray_1__getbuffer__9504,386645
+static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_pf_5numpy_7ndarray___getbuffer__9515,387102
+static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {__pyx_pw_5numpy_7ndarray_3__releasebuffer__10376,423903
+static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) {__pyx_pf_5numpy_7ndarray_2__releasebuffer__10385,424290
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {__pyx_f_5numpy_PyArray_MultiIterNew110466,427654
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {__pyx_f_5numpy_PyArray_MultiIterNew210513,429252
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {__pyx_f_5numpy_PyArray_MultiIterNew310560,430955
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {__pyx_f_5numpy_PyArray_MultiIterNew410607,432765
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {__pyx_f_5numpy_PyArray_MultiIterNew510654,434681
+static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {__pyx_f_5numpy__util_dtypestring10701,436810
+static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {__pyx_f_5numpy_set_array_base11456,473557
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {__pyx_f_5numpy_get_array_base11552,476797
+static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {__pyx_f_5numpy_import_array11626,479019
+static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {__pyx_f_5numpy_import_umath11757,483611
+static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {__pyx_f_5numpy_import_ufunc11888,488130
+static int __pyx_pw_8EnumBase_14__Pyx_EnumMeta_1__init__(PyObject *__pyx_v_cls, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_8EnumBase_14__Pyx_EnumMeta_1__init__12018,492722
+static int __pyx_pf_8EnumBase_14__Pyx_EnumMeta___init__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_cls, PyObject *__pyx_v_name, PyObject *__pyx_v_parents, PyObject *__pyx_v_dct) {__pyx_pf_8EnumBase_14__Pyx_EnumMeta___init__12083,495454
+static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumMeta_3__iter__(PyObject *__pyx_v_cls) {__pyx_pw_8EnumBase_14__Pyx_EnumMeta_3__iter__12217,500844
+static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_2__iter__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_cls) {__pyx_pf_8EnumBase_14__Pyx_EnumMeta_2__iter__12228,501232
+static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumMeta_5__getitem__(PyObject *__pyx_v_cls, PyObject *__pyx_v_name) {__pyx_pw_8EnumBase_14__Pyx_EnumMeta_5__getitem__12305,504093
+static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumMeta_4__getitem__(struct __pyx_obj___Pyx_EnumMeta *__pyx_v_cls, PyObject *__pyx_v_name) {__pyx_pf_8EnumBase_14__Pyx_EnumMeta_4__getitem__12316,504542
+static PyMethodDef __pyx_mdef_8EnumBase_14__Pyx_EnumBase_1__new__ = {"__new__", (PyCFunction)__pyx_pw_8EnumBase_14__Pyx_EnumBase_1__new__, METH_VARARGS|METH_KEYWORDS, 0};__pyx_mdef_8EnumBase_14__Pyx_EnumBase_1__new__12370,506376
+static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumBase_1__new__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_8EnumBase_14__Pyx_EnumBase_1__new__12371,506547
+static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase___new__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_cls, PyObject *__pyx_v_value, PyObject *__pyx_v_name) {__pyx_pf_8EnumBase_14__Pyx_EnumBase___new__12439,509296
+static PyMethodDef __pyx_mdef_8EnumBase_14__Pyx_EnumBase_3__repr__ = {"__repr__", (PyCFunction)__pyx_pw_8EnumBase_14__Pyx_EnumBase_3__repr__, METH_O, 0};__pyx_mdef_8EnumBase_14__Pyx_EnumBase_3__repr__12723,520041
+static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumBase_3__repr__(PyObject *__pyx_self, PyObject *__pyx_v_self) {__pyx_pw_8EnumBase_14__Pyx_EnumBase_3__repr__12724,520195
+static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase_2__repr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {__pyx_pf_8EnumBase_14__Pyx_EnumBase_2__repr__12735,520596
+static PyMethodDef __pyx_mdef_8EnumBase_14__Pyx_EnumBase_5__str__ = {"__str__", (PyCFunction)__pyx_pw_8EnumBase_14__Pyx_EnumBase_5__str__, METH_O, 0};__pyx_mdef_8EnumBase_14__Pyx_EnumBase_5__str__12807,523358
+static PyObject *__pyx_pw_8EnumBase_14__Pyx_EnumBase_5__str__(PyObject *__pyx_self, PyObject *__pyx_v_self) {__pyx_pw_8EnumBase_14__Pyx_EnumBase_5__str__12808,523509
+static PyObject *__pyx_pf_8EnumBase_14__Pyx_EnumBase_4__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {__pyx_pf_8EnumBase_14__Pyx_EnumBase_4__str__12819,523907
+static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_array___cinit__12888,526544
+static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, PyObject *__pyx_v_format, PyObject *__pyx_v_mode, int __pyx_v_allocate_buffer) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__13002,531437
+static CYTHON_UNUSED int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_array_getbuffer13614,553243
+static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(struct __pyx_array_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__13625,553717
+static void __pyx_array___dealloc__(PyObject *__pyx_v_self) {__pyx_array___dealloc__13916,563468
+static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(struct __pyx_array_obj *__pyx_v_self) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__13925,563789
+static PyObject *__pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__14047,567992
+static PyObject *__pyx_pf_15View_dot_MemoryView_5array_7memview___get__(struct __pyx_array_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_5array_7memview___get__14058,568391
+static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *__pyx_v_self) {__pyx_array_get_memview14105,569781
+static PyObject *__pyx_array___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_attr) {__pyx_array___getattr__14184,572566
+static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__getattr__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_attr) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__getattr__14195,572997
+static PyObject *__pyx_array___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item) {__pyx_array___getitem__14249,574715
+static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getitem__14260,575146
+static int __pyx_array___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) {__pyx_array___setitem__14314,576916
+static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__setitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__setitem__14325,577386
+static struct __pyx_array_obj *__pyx_array_new(PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, char *__pyx_v_format, char *__pyx_v_mode, char *__pyx_v_buf) {__pyx_array_new14371,578883
+static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_MemviewEnum___init__14545,585401
+static int __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v_name) {__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__14592,587249
+static PyObject *__pyx_MemviewEnum___repr__(PyObject *__pyx_v_self) {__pyx_MemviewEnum___repr__14634,588431
+static PyObject *__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(struct __pyx_MemviewEnum_obj *__pyx_v_self) {__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__14645,588818
+static void *__pyx_align_pointer(void *__pyx_v_memory, size_t __pyx_v_alignment) {__pyx_align_pointer14685,589939
+static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_memoryview___cinit__14770,592259
+static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_flags, int __pyx_v_dtype_is_object) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__14841,595363
+static void __pyx_memoryview___dealloc__(PyObject *__pyx_v_self) {__pyx_memoryview___dealloc__15137,606233
+static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__15146,606575
+static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index) {__pyx_memoryview_get_item_pointer15325,614051
+static PyObject *__pyx_memoryview___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index) {__pyx_memoryview___getitem__15462,619142
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__15473,619596
+static int __pyx_memoryview___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {__pyx_memoryview___setitem__15652,625586
+static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__15663,626078
+static PyObject *__pyx_memoryview_is_slice(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj) {__pyx_memoryview_is_slice15847,633140
+static PyObject *__pyx_memoryview_setitem_slice_assignment(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src) {__pyx_memoryview_setitem_slice_assignment16058,640582
+static PyObject *__pyx_memoryview_setitem_slice_assign_scalar(struct __pyx_memoryview_obj *__pyx_v_self, struct __pyx_memoryview_obj *__pyx_v_dst, PyObject *__pyx_v_value) {__pyx_memoryview_setitem_slice_assign_scalar16141,644612
+static PyObject *__pyx_memoryview_setitem_indexed(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {__pyx_memoryview_setitem_indexed16427,654461
+static PyObject *__pyx_memoryview_convert_item_to_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp) {__pyx_memoryview_convert_item_to_object16485,656715
+static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value) {__pyx_memoryview_assign_item_from_object16759,667023
+static CYTHON_UNUSED int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_memoryview_getbuffer16997,676031
+static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(struct __pyx_memoryview_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__17008,676526
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__17281,684157
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__17292,684561
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__17364,687023
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__17375,687433
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__17417,688492
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__17428,688904
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__17495,691190
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__17506,691606
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__17606,695050
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__17617,695474
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__17721,699024
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__17732,699434
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__17781,700794
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__17792,701212
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__17841,702605
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__17852,703019
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__17911,704945
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__17922,705355
+static Py_ssize_t __pyx_memoryview___len__(PyObject *__pyx_v_self) {__pyx_memoryview___len__18049,709000
+static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__18060,709387
+static PyObject *__pyx_memoryview___repr__(PyObject *__pyx_v_self) {__pyx_memoryview___repr__18129,711135
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__18140,711527
+static PyObject *__pyx_memoryview___str__(PyObject *__pyx_v_self) {__pyx_memoryview___str__18234,715144
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__18245,715533
+static PyObject *__pyx_memoryview_is_c_contig(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_memoryview_is_c_contig18310,717945
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig18321,718378
+static PyObject *__pyx_memoryview_is_f_contig(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_memoryview_is_f_contig18381,720478
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig18392,720911
+static PyObject *__pyx_memoryview_copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_memoryview_copy18452,723073
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy18463,723485
+static PyObject *__pyx_memoryview_copy_fortran(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_memoryview_copy_fortran18543,726490
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran18554,726926
+static PyObject *__pyx_memoryview_new(PyObject *__pyx_v_o, int __pyx_v_flags, int __pyx_v_dtype_is_object, __Pyx_TypeInfo *__pyx_v_typeinfo) {__pyx_memoryview_new18633,729848
+static CYTHON_INLINE int __pyx_memoryview_check(PyObject *__pyx_v_o) {__pyx_memoryview_check18721,733120
+static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {_unellipsify18760,734184
+static PyObject *assert_direct_dimensions(Py_ssize_t *__pyx_v_suboffsets, int __pyx_v_ndim) {assert_direct_dimensions19219,750062
+static struct __pyx_memoryview_obj *__pyx_memview_slice(struct __pyx_memoryview_obj *__pyx_v_memview, PyObject *__pyx_v_indices) {__pyx_memview_slice19304,752918
+static int __pyx_memoryview_slice_memviewslice(__Pyx_memviewslice *__pyx_v_dst, Py_ssize_t __pyx_v_shape, Py_ssize_t __pyx_v_stride, Py_ssize_t __pyx_v_suboffset, int __pyx_v_dim, int __pyx_v_new_ndim, int *__pyx_v_suboffset_dim, Py_ssize_t __pyx_v_start, Py_ssize_t __pyx_v_stop, Py_ssize_t __pyx_v_step, int __pyx_v_have_start, int __pyx_v_have_stop, int __pyx_v_have_step, int __pyx_v_is_slice) {__pyx_memoryview_slice_memviewslice19881,774677
+static char *__pyx_pybuffer_index(Py_buffer *__pyx_v_view, char *__pyx_v_bufp, Py_ssize_t __pyx_v_index, Py_ssize_t __pyx_v_dim) {__pyx_pybuffer_index20662,796159
+static int __pyx_memslice_transpose(__Pyx_memviewslice *__pyx_v_memslice) {__pyx_memslice_transpose20978,806448
+static void __pyx_memoryviewslice___dealloc__(PyObject *__pyx_v_self) {__pyx_memoryviewslice___dealloc__21149,811719
+static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(struct __pyx_memoryviewslice_obj *__pyx_v_self) {__pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__21158,812081
+static PyObject *__pyx_memoryviewslice_convert_item_to_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp) {__pyx_memoryviewslice_convert_item_to_object21191,813096
+static PyObject *__pyx_memoryviewslice_assign_item_from_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value) {__pyx_memoryviewslice_assign_item_from_object21274,815924
+static PyObject *__pyx_pw_15View_dot_MemoryView_16_memoryviewslice_4base_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_16_memoryviewslice_4base_1__get__21356,818762
+static PyObject *__pyx_pf_15View_dot_MemoryView_16_memoryviewslice_4base___get__(struct __pyx_memoryviewslice_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_16_memoryviewslice_4base___get__21367,819189
+static PyObject *__pyx_memoryview_fromslice(__Pyx_memviewslice __pyx_v_memviewslice, int __pyx_v_ndim, PyObject *(*__pyx_v_to_object_func)(char *), int (*__pyx_v_to_dtype_func)(char *, PyObject *), int __pyx_v_dtype_is_object) {__pyx_memoryview_fromslice21407,820321
+static __Pyx_memviewslice *__pyx_memoryview_get_slice_from_memoryview(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_mslice) {__pyx_memoryview_get_slice_from_memoryview21759,832364
+static void __pyx_memoryview_slice_copy(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_dst) {__pyx_memoryview_slice_copy21859,835693
+static PyObject *__pyx_memoryview_copy_object(struct __pyx_memoryview_obj *__pyx_v_memview) {__pyx_memoryview_copy_object21983,839565
+static PyObject *__pyx_memoryview_copy_object_from_slice(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_memviewslice) {__pyx_memoryview_copy_object_from_slice22040,841530
+static Py_ssize_t abs_py_ssize_t(Py_ssize_t __pyx_v_arg) {abs_py_ssize_t22163,845861
+static char __pyx_get_best_slice_order(__Pyx_memviewslice *__pyx_v_mslice, int __pyx_v_ndim) {__pyx_get_best_slice_order22229,847339
+static void _copy_strided_to_strided(char *__pyx_v_src_data, Py_ssize_t *__pyx_v_src_strides, char *__pyx_v_dst_data, Py_ssize_t *__pyx_v_dst_strides, Py_ssize_t *__pyx_v_src_shape, Py_ssize_t *__pyx_v_dst_shape, int __pyx_v_ndim, size_t __pyx_v_itemsize) {_copy_strided_to_strided22417,852266
+static void copy_strided_to_strided(__Pyx_memviewslice *__pyx_v_src, __Pyx_memviewslice *__pyx_v_dst, int __pyx_v_ndim, size_t __pyx_v_itemsize) {copy_strided_to_strided22651,860543
+static Py_ssize_t __pyx_memoryview_slice_get_size(__Pyx_memviewslice *__pyx_v_src, int __pyx_v_ndim) {__pyx_memoryview_slice_get_size22681,861832
+static Py_ssize_t __pyx_fill_contig_strides_array(Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, Py_ssize_t __pyx_v_stride, int __pyx_v_ndim, char __pyx_v_order) {__pyx_fill_contig_strides_array22751,863752
+static void *__pyx_memoryview_copy_data_to_temp(__Pyx_memviewslice *__pyx_v_src, __Pyx_memviewslice *__pyx_v_tmpslice, char __pyx_v_order, int __pyx_v_ndim) {__pyx_memoryview_copy_data_to_temp22871,867189
+static int __pyx_memoryview_err_extents(int __pyx_v_i, Py_ssize_t __pyx_v_extent1, Py_ssize_t __pyx_v_extent2) {__pyx_memoryview_err_extents23120,874356
+static int __pyx_memoryview_err_dim(PyObject *__pyx_v_error, char *__pyx_v_msg, int __pyx_v_dim) {__pyx_memoryview_err_dim23210,877962
+static int __pyx_memoryview_err(PyObject *__pyx_v_error, char *__pyx_v_msg) {__pyx_memoryview_err23323,882312
+static int __pyx_memoryview_copy_contents(__Pyx_memviewslice __pyx_v_src, __Pyx_memviewslice __pyx_v_dst, int __pyx_v_src_ndim, int __pyx_v_dst_ndim, int __pyx_v_dtype_is_object) {__pyx_memoryview_copy_contents23462,887261
+static void __pyx_memoryview_broadcast_leading(__Pyx_memviewslice *__pyx_v_mslice, int __pyx_v_ndim, int __pyx_v_ndim_other) {__pyx_memoryview_broadcast_leading24036,905423
+static void __pyx_memoryview_refcount_copying(__Pyx_memviewslice *__pyx_v_dst, int __pyx_v_dtype_is_object, int __pyx_v_ndim, int __pyx_v_inc) {__pyx_memoryview_refcount_copying24147,909113
+static void __pyx_memoryview_refcount_objects_in_slice_with_gil(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, int __pyx_v_inc) {__pyx_memoryview_refcount_objects_in_slice_with_gil24197,910832
+static void __pyx_memoryview_refcount_objects_in_slice(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, int __pyx_v_inc) {__pyx_memoryview_refcount_objects_in_slice24236,912445
+static void __pyx_memoryview_slice_assign_scalar(__Pyx_memviewslice *__pyx_v_dst, int __pyx_v_ndim, size_t __pyx_v_itemsize, void *__pyx_v_item, int __pyx_v_dtype_is_object) {__pyx_memoryview_slice_assign_scalar24366,916394
+static void __pyx_memoryview__slice_assign_scalar(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, size_t __pyx_v_itemsize, void *__pyx_v_item) {__pyx_memoryview__slice_assign_scalar24414,918504
+static PyObject *__pyx_tp_new_6pyisda_5curve_Curve(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {__pyx_tp_new_6pyisda_5curve_Curve24534,922234
+static void __pyx_tp_dealloc_6pyisda_5curve_Curve(PyObject *o) {__pyx_tp_dealloc_6pyisda_5curve_Curve24548,922749
+static PyObject *__pyx_getprop_6pyisda_5curve_5Curve_forward_hazard_rates(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop_6pyisda_5curve_5Curve_forward_hazard_rates24559,923172
+static PyObject *__pyx_getprop_6pyisda_5curve_5Curve_base_date(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop_6pyisda_5curve_5Curve_base_date24563,923363
+static PyMethodDef __pyx_methods_6pyisda_5curve_Curve[] = {__pyx_methods_6pyisda_5curve_Curve24567,923531
+static struct PyGetSetDef __pyx_getsets_6pyisda_5curve_Curve[] = {__pyx_getsets_6pyisda_5curve_Curve24577,924440
+static PySequenceMethods __pyx_tp_as_sequence_Curve = {__pyx_tp_as_sequence_Curve24583,924729
+static PyMappingMethods __pyx_tp_as_mapping_Curve = {__pyx_tp_as_mapping_Curve24596,925038
+static PyTypeObject __pyx_type_6pyisda_5curve_Curve = {__pyx_type_6pyisda_5curve_Curve24602,925202
+static PyObject *__pyx_tp_new_6pyisda_5curve_YieldCurve(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new_6pyisda_5curve_YieldCurve24660,926793
+static void __pyx_tp_dealloc_6pyisda_5curve_YieldCurve(PyObject *o) {__pyx_tp_dealloc_6pyisda_5curve_YieldCurve24666,926999
+static PyObject *__pyx_getprop_6pyisda_5curve_10YieldCurve_dates(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop_6pyisda_5curve_10YieldCurve_dates24683,927530
+static PyMethodDef __pyx_methods_6pyisda_5curve_YieldCurve[] = {__pyx_methods_6pyisda_5curve_YieldCurve24687,927702
+static struct PyGetSetDef __pyx_getsets_6pyisda_5curve_YieldCurve[] = {__pyx_getsets_6pyisda_5curve_YieldCurve24695,928454
+static PyTypeObject __pyx_type_6pyisda_5curve_YieldCurve = {__pyx_type_6pyisda_5curve_YieldCurve24700,928685
+static PyObject *__pyx_tp_new_6pyisda_5curve_SpreadCurve(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new_6pyisda_5curve_SpreadCurve24762,931468
+static PyMethodDef __pyx_methods_6pyisda_5curve_SpreadCurve[] = {__pyx_methods_6pyisda_5curve_SpreadCurve24768,931675
+static PyTypeObject __pyx_type_6pyisda_5curve_SpreadCurve = {__pyx_type_6pyisda_5curve_SpreadCurve24775,932267
+static struct __pyx_obj_6pyisda_5curve___pyx_scope_struct____iter__ *__pyx_freelist_6pyisda_5curve___pyx_scope_struct____iter__[8];__pyx_freelist_6pyisda_5curve___pyx_scope_struct____iter__24837,934623
+static int __pyx_freecount_6pyisda_5curve___pyx_scope_struct____iter__ = 0;__pyx_freecount_6pyisda_5curve___pyx_scope_struct____iter__24838,934755
+static PyObject *__pyx_tp_new_6pyisda_5curve___pyx_scope_struct____iter__(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {__pyx_tp_new_6pyisda_5curve___pyx_scope_struct____iter__24840,934832
+static void __pyx_tp_dealloc_6pyisda_5curve___pyx_scope_struct____iter__(PyObject *o) {__pyx_tp_dealloc_6pyisda_5curve___pyx_scope_struct____iter__24854,935580
+static int __pyx_tp_traverse_6pyisda_5curve___pyx_scope_struct____iter__(PyObject *o, visitproc v, void *a) {__pyx_tp_traverse_6pyisda_5curve___pyx_scope_struct____iter__24865,936313
+static int __pyx_tp_clear_6pyisda_5curve___pyx_scope_struct____iter__(PyObject *o) {__pyx_tp_clear_6pyisda_5curve___pyx_scope_struct____iter__24874,936675
+static PyTypeObject __pyx_type_6pyisda_5curve___pyx_scope_struct____iter__ = {__pyx_type_6pyisda_5curve___pyx_scope_struct____iter__24883,937076
+static PyObject *__pyx_tp_new___Pyx_EnumMeta(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new___Pyx_EnumMeta24941,938702
+static void __pyx_tp_dealloc___Pyx_EnumMeta(PyObject *o) {__pyx_tp_dealloc___Pyx_EnumMeta24947,938886
+static int __pyx_tp_traverse___Pyx_EnumMeta(PyObject *o, visitproc v, void *a) {__pyx_tp_traverse___Pyx_EnumMeta24958,939199
+static int __pyx_tp_clear___Pyx_EnumMeta(PyObject *o) {__pyx_tp_clear___Pyx_EnumMeta24964,939407
+static PyObject *__pyx_sq_item___Pyx_EnumMeta(PyObject *o, Py_ssize_t i) {__pyx_sq_item___Pyx_EnumMeta24968,939545
+static PyMethodDef __pyx_methods___Pyx_EnumMeta[] = {__pyx_methods___Pyx_EnumMeta24976,939774
+static PySequenceMethods __pyx_tp_as_sequence___Pyx_EnumMeta = {__pyx_tp_as_sequence___Pyx_EnumMeta24980,939847
+static PyMappingMethods __pyx_tp_as_mapping___Pyx_EnumMeta = {__pyx_tp_as_mapping___Pyx_EnumMeta24993,940153
+static PyTypeObject __Pyx_EnumMeta = {__Pyx_EnumMeta24999,940334
+static struct __pyx_vtabstruct_array __pyx_vtable_array;__pyx_vtable_array25056,941964
+static PyObject *__pyx_tp_new_array(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new_array25058,942022
+static void __pyx_tp_dealloc_array(PyObject *o) {__pyx_tp_dealloc_array25078,942664
+static PyObject *__pyx_sq_item_array(PyObject *o, Py_ssize_t i) {__pyx_sq_item_array25097,943237
+static int __pyx_mp_ass_subscript_array(PyObject *o, PyObject *i, PyObject *v) {__pyx_mp_ass_subscript_array25105,943457
+static PyObject *__pyx_tp_getattro_array(PyObject *o, PyObject *n) {__pyx_tp_getattro_array25116,943747
+static PyObject *__pyx_getprop___pyx_array_memview(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_array_memview25125,944000
+static PyMethodDef __pyx_methods_array[] = {__pyx_methods_array25129,944161
+static struct PyGetSetDef __pyx_getsets_array[] = {__pyx_getsets_array25134,944306
+static PySequenceMethods __pyx_tp_as_sequence_array = {__pyx_tp_as_sequence_array25139,944455
+static PyMappingMethods __pyx_tp_as_mapping_array = {__pyx_tp_as_mapping_array25152,944743
+static PyBufferProcs __pyx_tp_as_buffer_array = {__pyx_tp_as_buffer_array25158,944917
+static PyTypeObject __pyx_type___pyx_array = {__pyx_type___pyx_array25175,945286
+static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {__pyx_tp_new_Enum25233,946760
+static void __pyx_tp_dealloc_Enum(PyObject *o) {__pyx_tp_dealloc_Enum25247,947225
+static int __pyx_tp_traverse_Enum(PyObject *o, visitproc v, void *a) {__pyx_tp_traverse_Enum25259,947592
+static int __pyx_tp_clear_Enum(PyObject *o) {__pyx_tp_clear_Enum25268,947822
+static PyMethodDef __pyx_methods_Enum[] = {__pyx_methods_Enum25277,948061
+static PyTypeObject __pyx_type___pyx_MemviewEnum = {__pyx_type___pyx_MemviewEnum25281,948124
+static struct __pyx_vtabstruct_memoryview __pyx_vtable_memoryview;__pyx_vtable_memoryview25338,949598
+static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new_memoryview25340,949666
+static void __pyx_tp_dealloc_memoryview(PyObject *o) {__pyx_tp_dealloc_memoryview25362,950379
+static int __pyx_tp_traverse_memoryview(PyObject *o, visitproc v, void *a) {__pyx_tp_traverse_memoryview25384,950998
+static int __pyx_tp_clear_memoryview(PyObject *o) {__pyx_tp_clear_memoryview25402,951456
+static PyObject *__pyx_sq_item_memoryview(PyObject *o, Py_ssize_t i) {__pyx_sq_item_memoryview25417,951927
+static int __pyx_mp_ass_subscript_memoryview(PyObject *o, PyObject *i, PyObject *v) {__pyx_mp_ass_subscript_memoryview25425,952152
+static PyObject *__pyx_getprop___pyx_memoryview_T(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_T25436,952452
+static PyObject *__pyx_getprop___pyx_memoryview_base(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_base25440,952612
+static PyObject *__pyx_getprop___pyx_memoryview_shape(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_shape25444,952778
+static PyObject *__pyx_getprop___pyx_memoryview_strides(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_strides25448,952946
+static PyObject *__pyx_getprop___pyx_memoryview_suboffsets(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_suboffsets25452,953118
+static PyObject *__pyx_getprop___pyx_memoryview_ndim(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_ndim25456,953297
+static PyObject *__pyx_getprop___pyx_memoryview_itemsize(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_itemsize25460,953463
+static PyObject *__pyx_getprop___pyx_memoryview_nbytes(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_nbytes25464,953637
+static PyObject *__pyx_getprop___pyx_memoryview_size(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_size25468,953807
+static PyMethodDef __pyx_methods_memoryview[] = {__pyx_methods_memoryview25472,953973
+static struct PyGetSetDef __pyx_getsets_memoryview[] = {__pyx_getsets_memoryview25480,954342
+static PySequenceMethods __pyx_tp_as_sequence_memoryview = {__pyx_tp_as_sequence_memoryview25493,955113
+static PyMappingMethods __pyx_tp_as_mapping_memoryview = {__pyx_tp_as_mapping_memoryview25506,955434
+static PyBufferProcs __pyx_tp_as_buffer_memoryview = {__pyx_tp_as_buffer_memoryview25512,955646
+static PyTypeObject __pyx_type___pyx_memoryview = {__pyx_type___pyx_memoryview25529,956025
+static struct __pyx_vtabstruct__memoryviewslice __pyx_vtable__memoryviewslice;__pyx_vtable__memoryviewslice25586,957643
+static PyObject *__pyx_tp_new__memoryviewslice(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new__memoryviewslice25588,957723
+static void __pyx_tp_dealloc__memoryviewslice(PyObject *o) {__pyx_tp_dealloc__memoryviewslice25599,958174
+static int __pyx_tp_traverse__memoryviewslice(PyObject *o, visitproc v, void *a) {__pyx_tp_traverse__memoryviewslice25620,958796
+static int __pyx_tp_clear__memoryviewslice(PyObject *o) {__pyx_tp_clear__memoryviewslice25630,959122
+static PyObject *__pyx_getprop___pyx_memoryviewslice_base(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryviewslice_base25641,959468
+static PyMethodDef __pyx_methods__memoryviewslice[] = {__pyx_methods__memoryviewslice25645,959645
+static struct PyGetSetDef __pyx_getsets__memoryviewslice[] = {__pyx_getsets__memoryviewslice25649,959720
+static PyTypeObject __pyx_type___pyx_memoryviewslice = {__pyx_type___pyx_memoryviewslice25654,959884
+static PyMethodDef __pyx_methods[] = {__pyx_methods25720,961649
+static struct PyModuleDef __pyx_moduledef = {__pyx_moduledef25725,961733
+static __Pyx_StringTabEntry __pyx_string_tab[] = {__pyx_string_tab25742,962102
+static int __Pyx_InitCachedBuiltins(void) {__Pyx_InitCachedBuiltins25920,978450
+static int __Pyx_InitCachedConstants(void) {__Pyx_InitCachedConstants25937,980004
+static int __Pyx_InitGlobals(void) {__Pyx_InitGlobals26438,1002660
+PyMODINIT_FUNC initcurve(void)initcurve26451,1003280
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {__Pyx_RefNannyImportAPI27749,1064769
+static PyObject *__Pyx_GetBuiltinName(PyObject *name) {__Pyx_GetBuiltinName27765,1065197
+static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {__Pyx_RaiseTooManyValuesError27779,1065603
+static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {__Pyx_RaiseNeedMoreValuesError27785,1065850
+static CYTHON_INLINE int __Pyx_IterFinish(void) {__Pyx_IterFinish27792,1066115
+static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {__Pyx_IternextUnpackEndCheck27827,1067145
+static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {__Pyx_GetModuleGlobalName27839,1067446
+static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {__Pyx_PyCFunction_FastCall27858,1067911
+static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,__Pyx_PyFunction_FastCallNoKw27877,1068789
+static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) {__Pyx_PyFunction_FastCallDict27906,1069718
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {__Pyx_PyObject_Call27996,1072601
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallMethO28016,1073275
+static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx__PyObject_CallOneArg28036,1073931
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallOneArg28046,1074255
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallOneArg28068,1074999
+ static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {__Pyx_TypeTest28079,1075312
+ static CYTHON_INLINE int __Pyx_IsLittleEndian(void) {__Pyx_IsLittleEndian28092,1075742
+static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,__Pyx_BufFmt_Init28096,1075861
+static int __Pyx_BufFmt_ParseNumber(const char** ts) {__Pyx_BufFmt_ParseNumber28123,1076645
+static int __Pyx_BufFmt_ExpectNumber(const char **ts) {__Pyx_BufFmt_ExpectNumber28138,1076977
+static void __Pyx_BufFmt_RaiseUnexpectedChar(char ch) {__Pyx_BufFmt_RaiseUnexpectedChar28145,1077258
+static const char* __Pyx_BufFmt_DescribeTypeChar(char ch, int is_complex) {__Pyx_BufFmt_DescribeTypeChar28149,1077413
+static size_t __Pyx_BufFmt_TypeCharToStandardSize(char ch, int is_complex) {__Pyx_BufFmt_TypeCharToStandardSize28173,1078352
+static size_t __Pyx_BufFmt_TypeCharToNativeSize(char ch, int is_complex) {__Pyx_BufFmt_TypeCharToNativeSize28191,1079014
+typedef struct { char c; short x; } __Pyx_st_short;c28210,1079711
+typedef struct { char c; short x; } __Pyx_st_short;x28210,1079711
+typedef struct { char c; short x; } __Pyx_st_short;__Pyx_st_short28210,1079711
+typedef struct { char c; int x; } __Pyx_st_int;c28211,1079763
+typedef struct { char c; int x; } __Pyx_st_int;x28211,1079763
+typedef struct { char c; int x; } __Pyx_st_int;__Pyx_st_int28211,1079763
+typedef struct { char c; long x; } __Pyx_st_long;c28212,1079811
+typedef struct { char c; long x; } __Pyx_st_long;x28212,1079811
+typedef struct { char c; long x; } __Pyx_st_long;__Pyx_st_long28212,1079811
+typedef struct { char c; float x; } __Pyx_st_float;c28213,1079861
+typedef struct { char c; float x; } __Pyx_st_float;x28213,1079861
+typedef struct { char c; float x; } __Pyx_st_float;__Pyx_st_float28213,1079861
+typedef struct { char c; double x; } __Pyx_st_double;c28214,1079913
+typedef struct { char c; double x; } __Pyx_st_double;x28214,1079913
+typedef struct { char c; double x; } __Pyx_st_double;__Pyx_st_double28214,1079913
+typedef struct { char c; long double x; } __Pyx_st_longdouble;c28215,1079967
+typedef struct { char c; long double x; } __Pyx_st_longdouble;x28215,1079967
+typedef struct { char c; long double x; } __Pyx_st_longdouble;__Pyx_st_longdouble28215,1079967
+typedef struct { char c; void *x; } __Pyx_st_void_p;c28216,1080030
+typedef struct { char c; void *x; } __Pyx_st_void_p;x28216,1080030
+typedef struct { char c; void *x; } __Pyx_st_void_p;__Pyx_st_void_p28216,1080030
+typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;c28218,1080105
+typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;x28218,1080105
+typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;__Pyx_st_longlong28218,1080105
+static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, CYTHON_UNUSED int is_complex) {__Pyx_BufFmt_TypeCharToAlignment28220,1080174
+typedef struct { short x; char c; } __Pyx_pad_short;x28242,1081208
+typedef struct { short x; char c; } __Pyx_pad_short;c28242,1081208
+typedef struct { short x; char c; } __Pyx_pad_short;__Pyx_pad_short28242,1081208
+typedef struct { int x; char c; } __Pyx_pad_int;x28243,1081261
+typedef struct { int x; char c; } __Pyx_pad_int;c28243,1081261
+typedef struct { int x; char c; } __Pyx_pad_int;__Pyx_pad_int28243,1081261
+typedef struct { long x; char c; } __Pyx_pad_long;x28244,1081310
+typedef struct { long x; char c; } __Pyx_pad_long;c28244,1081310
+typedef struct { long x; char c; } __Pyx_pad_long;__Pyx_pad_long28244,1081310
+typedef struct { float x; char c; } __Pyx_pad_float;x28245,1081361
+typedef struct { float x; char c; } __Pyx_pad_float;c28245,1081361
+typedef struct { float x; char c; } __Pyx_pad_float;__Pyx_pad_float28245,1081361
+typedef struct { double x; char c; } __Pyx_pad_double;x28246,1081414
+typedef struct { double x; char c; } __Pyx_pad_double;c28246,1081414
+typedef struct { double x; char c; } __Pyx_pad_double;__Pyx_pad_double28246,1081414
+typedef struct { long double x; char c; } __Pyx_pad_longdouble;x28247,1081469
+typedef struct { long double x; char c; } __Pyx_pad_longdouble;c28247,1081469
+typedef struct { long double x; char c; } __Pyx_pad_longdouble;__Pyx_pad_longdouble28247,1081469
+typedef struct { void *x; char c; } __Pyx_pad_void_p;x28248,1081533
+typedef struct { void *x; char c; } __Pyx_pad_void_p;c28248,1081533
+typedef struct { void *x; char c; } __Pyx_pad_void_p;__Pyx_pad_void_p28248,1081533
+typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;x28250,1081609
+typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;c28250,1081609
+typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;__Pyx_pad_longlong28250,1081609
+static size_t __Pyx_BufFmt_TypeCharToPadding(char ch, CYTHON_UNUSED int is_complex) {__Pyx_BufFmt_TypeCharToPadding28252,1081679
+static char __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) {__Pyx_BufFmt_TypeCharToGroup28270,1082529
+static void __Pyx_BufFmt_RaiseExpected(__Pyx_BufFmt_Context* ctx) {__Pyx_BufFmt_RaiseExpected28291,1083049
+static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) {__Pyx_BufFmt_ProcessTypeChunk28315,1083996
+__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)__pyx_buffmt_parse_array28418,1087789
+static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) {__Pyx_BufFmt_CheckString28461,1089382
+static CYTHON_INLINE void __Pyx_ZeroBuffer(Py_buffer* buf) {__Pyx_ZeroBuffer28594,1093398
+static CYTHON_INLINE int __Pyx_GetBufferAndValidate(__Pyx_GetBufferAndValidate28601,1093594
+static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) {__Pyx_SafeReleaseBuffer28635,1094775
+static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {__Pyx_ErrRestoreInState28643,1095036
+static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx_ErrFetchInState28655,1095496
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,__Pyx_Raise28667,1095878
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {__Pyx_Raise28718,1097358
+ static void __Pyx_RaiseDoubleKeywordsError(__Pyx_RaiseDoubleKeywordsError28829,1101015
+ static int __Pyx_ParseOptionalKeywords(__Pyx_ParseOptionalKeywords28843,1101432
+ static void __Pyx_RaiseArgtupleInvalid(__Pyx_RaiseArgtupleInvalid28945,1105021
+ static void __Pyx_RaiseArgumentTypeInvalid(const char* name, PyObject *obj, PyTypeObject *type) {__Pyx_RaiseArgumentTypeInvalid28971,1105786
+static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,__Pyx_ArgTypeTest28976,1106059
+ static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {__Pyx_GetItemInt_Generic28998,1106755
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,__Pyx_GetItemInt_List_Fast29005,1106955
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,__Pyx_GetItemInt_Tuple_Fast29020,1107637
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,__Pyx_GetItemInt_Fast29035,1108323
+ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {__Pyx_PyBytes_Equals29079,1110046
+ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {__Pyx_PyUnicode_Equals29117,1111359
+ static void __Pyx_RaiseBufferIndexError(int axis) {__Pyx_RaiseBufferIndexError29201,1114082
+__Pyx_init_memviewslice(struct __pyx_memoryview_obj *memview,__Pyx_init_memviewslice29208,1114276
+static CYTHON_INLINE void __pyx_fatalerror(const char *fmt, ...) {__pyx_fatalerror29260,1115877
+__pyx_add_acquisition_count_locked(__pyx_atomic_int *acquisition_count,__pyx_add_acquisition_count_locked29273,1116179
+__pyx_sub_acquisition_count_locked(__pyx_atomic_int *acquisition_count,__pyx_sub_acquisition_count_locked29283,1116481
+__Pyx_INC_MEMVIEW(__Pyx_memviewslice *memslice, int have_gil, int lineno)__Pyx_INC_MEMVIEW29293,1116784
+static CYTHON_INLINE void __Pyx_XDEC_MEMVIEW(__Pyx_memviewslice *memslice,__Pyx_XDEC_MEMVIEW29313,1117519
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {__Pyx_PyObject_CallNoArg29343,1118529
+ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj,__Pyx_PyObject_GetSlice29363,1119137
+static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED int inplace) {__Pyx_PyInt_AddObjC29461,1122494
+ static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {__Pyx_RaiseNoneNotIterableError29576,1128148
+static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx__ExceptionSave29582,1128366
+static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {__Pyx__ExceptionReset29590,1128653
+static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {__Pyx_PyErr_ExceptionMatchesInState29606,1129168
+static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx__GetException29616,1129512
+ static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t a, Py_ssize_t b) {__Pyx_div_Py_ssize_t29676,1131203
+ static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {__Pyx_GetAttr29684,1131420
+ static CYTHON_INLINE PyObject* __Pyx_decode_c_string(__Pyx_decode_c_string29697,1131762
+static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx__ExceptionSwap29731,1132916
+static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {__Pyx_ExceptionSwap29744,1133354
+ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {__Pyx_Import29755,1133680
+ static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {__Pyx_RaiseUnboundLocalError29829,1135964
+ static CYTHON_INLINE long __Pyx_div_long(long a, long b) {__Pyx_div_long29834,1136172
+ static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,__Pyx_WriteUnraisable29842,1136370
+ static int __Pyx_SetVtable(PyObject *dict, void *vtable) {__Pyx_SetVtable29884,1137578
+ static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {__Pyx_ImportFrom29902,1137998
+ static PyObject *__Pyx_GetNameInClass(PyObject *nmspace, PyObject *name) {__Pyx_GetNameInClass29916,1138481
+ static PyObject* __Pyx_Method_ClassMethod(PyObject *method) {__Pyx_Method_ClassMethod29925,1138752
+ static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {__Pyx_CalculateMetaclass29970,1140258
+ static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {__Pyx_FetchCommonType30009,1141460
+__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure)__Pyx_CyFunction_get_doc30049,1142825
+__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value)__Pyx_CyFunction_set_doc30069,1143407
+__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op)__Pyx_CyFunction_get_name30081,1143672
+__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value)__Pyx_CyFunction_set_name30096,1144106
+__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op)__Pyx_CyFunction_get_qualname30115,1144623
+__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value)__Pyx_CyFunction_set_qualname30121,1144760
+__Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure)__Pyx_CyFunction_get_self30140,1145293
+__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op)__Pyx_CyFunction_get_dict30150,1145529
+__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value)__Pyx_CyFunction_set_dict30161,1145811
+__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op)__Pyx_CyFunction_get_globals30181,1146364
+__Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op)__Pyx_CyFunction_get_closure30187,1146505
+__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op)__Pyx_CyFunction_get_code30193,1146642
+__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {__Pyx_CyFunction_init_defaults30200,1146819
+__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value) {__Pyx_CyFunction_set_defaults30222,1147544
+__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op) {__Pyx_CyFunction_get_defaults30238,1148019
+__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value) {__Pyx_CyFunction_set_kwdefaults30252,1148414
+__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op) {__Pyx_CyFunction_get_kwdefaults30268,1148893
+__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value) {__Pyx_CyFunction_set_annotations30282,1149292
+__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op) {__Pyx_CyFunction_get_annotations30298,1149773
+static PyGetSetDef __pyx_CyFunction_getsets[] = {__pyx_CyFunction_getsets30308,1150074
+static PyMemberDef __pyx_CyFunction_members[] = {__pyx_CyFunction_members30329,1151878
+__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args)__Pyx_CyFunction_reduce30334,1152082
+static PyMethodDef __pyx_CyFunction_methods[] = {__pyx_CyFunction_methods30342,1152317
+#define __Pyx_CyFunction_weakreflist(__Pyx_CyFunction_weakreflist30347,1152494
+#define __Pyx_CyFunction_weakreflist(__Pyx_CyFunction_weakreflist30349,1152574
+static PyObject *__Pyx_CyFunction_New(PyTypeObject *type, PyMethodDef *ml, int flags, PyObject* qualname,__Pyx_CyFunction_New30351,1152657
+__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)__Pyx_CyFunction_clear30384,1153772
+static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)__Pyx_CyFunction_dealloc30408,1154484
+static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)__Pyx_CyFunction_traverse30416,1154732
+static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type)__Pyx_CyFunction_descr_get30437,1155385
+__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)__Pyx_CyFunction_repr30454,1155964
+static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {__Pyx_CyFunction_CallMethod30464,1156316
+static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {__Pyx_CyFunction_Call30512,1158248
+static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {__Pyx_CyFunction_CallAsMethod30515,1158441
+static PyTypeObject __pyx_CyFunctionType_type = {__pyx_CyFunctionType_type30538,1159296
+static int __pyx_CyFunction_init(void) {__pyx_CyFunction_init30598,1160331
+static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {__Pyx_CyFunction_InitDefaults30605,1160531
+static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {__Pyx_CyFunction_SetDefaultsTuple30614,1160894
+static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {__Pyx_CyFunction_SetDefaultsKwDict30619,1161109
+static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {__Pyx_CyFunction_SetAnnotationsDict30624,1161323
+ static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name,__Pyx_Py3MetaclassPrepare30631,1161561
+static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases,__Pyx_Py3ClassCreate30664,1162793
+ static PyObject* __Pyx_Globals(void) {__Pyx_Globals30698,1164001
+ static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {__pyx_bisect_code_objects30743,1165123
+static PyCodeObject *__pyx_find_code_object(int code_line) {__pyx_find_code_object30764,1165770
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {__pyx_insert_code_object30778,1166330
+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(__Pyx_CreateCodeObjectForTraceback30826,1168134
+static void __Pyx_AddTraceback(const char *funcname, int c_line,__Pyx_AddTraceback30878,1169743
+ #define __PYX_VERIFY_RETURN_INT(__PYX_VERIFY_RETURN_INT30904,1170671
+#define __PYX_VERIFY_RETURN_INT_EXC(__PYX_VERIFY_RETURN_INT_EXC30906,1170826
+#define __PYX__VERIFY_RETURN_INT(__PYX__VERIFY_RETURN_INT30908,1170967
+static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) {__Pyx_GetBuffer30926,1171645
+static void __Pyx_ReleaseBuffer(Py_buffer *view) {__Pyx_ReleaseBuffer30934,1172266
+__pyx_memviewslice_is_contig(const __Pyx_memviewslice mvs,__pyx_memviewslice_is_contig30950,1172721
+__pyx_get_array_memory_extents(__Pyx_memviewslice *slice,__pyx_get_array_memory_extents30973,1173321
+__pyx_slices_overlap(__Pyx_memviewslice *slice1,__pyx_slices_overlap30997,1174024
+__pyx_capsule_create(void *p, CYTHON_UNUSED const char *sig)__pyx_capsule_create31009,1174479
+__pyx_typeinfo_cmp(__Pyx_TypeInfo *a, __Pyx_TypeInfo *b)__pyx_typeinfo_cmp31022,1174762
+__pyx_check_strides(Py_buffer *buf, int dim, int ndim, int spec)__pyx_check_strides31063,1176042
+__pyx_check_suboffsets(Py_buffer *buf, int dim, CYTHON_UNUSED int ndim, int spec)__pyx_check_suboffsets31116,1178039
+__pyx_verify_contig(Py_buffer *buf, int ndim, int c_or_f_flag)__pyx_verify_contig31139,1178785
+static int __Pyx_ValidateAndInit_memviewslice(__Pyx_ValidateAndInit_memviewslice31170,1179749
+ static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_ds_double(PyObject *obj) {__Pyx_PyObject_to_MemoryviewSlice_ds_double31244,1182455
+ static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_dc_int(PyObject *obj) {__Pyx_PyObject_to_MemoryviewSlice_dc_int31267,1183351
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {__Pyx_PyInt_From_int31290,1184283
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_TDate(TDate value) {__Pyx_PyInt_From_TDate31321,1185433
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {__Pyx_PyInt_From_long31352,1186605
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_Py_intptr_t(Py_intptr_t value) {__Pyx_PyInt_From_Py_intptr_t31383,1187766
+ static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {__pyx_t_float_complex_from_parts31416,1189067
+ static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {__pyx_t_float_complex_from_parts31420,1189225
+ static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {__pyx_t_float_complex_from_parts31425,1189400
+ static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_eq_float31436,1189658
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_sum_float31439,1189818
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_diff_float31445,1190060
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_prod_float31451,1190303
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_quot_float31458,1190592
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_quot_float31478,1191536
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) {__Pyx_c_neg_float31489,1192049
+ static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) {__Pyx_c_is_zero_float31495,1192250
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) {__Pyx_c_conj_float31498,1192380
+ static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) {__Pyx_c_abs_float31505,1192592
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_pow_float31512,1192871
+ static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {__pyx_t_double_complex_from_parts31571,1195013
+ static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {__pyx_t_double_complex_from_parts31575,1195176
+ static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {__pyx_t_double_complex_from_parts31580,1195356
+ static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_eq_double31591,1195619
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_sum_double31594,1195782
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_diff_double31600,1196029
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_prod_double31606,1196277
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_quot_double31613,1196571
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_quot_double31633,1197525
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) {__Pyx_c_neg_double31644,1198045
+ static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) {__Pyx_c_is_zero_double31650,1198250
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) {__Pyx_c_conj_double31653,1198382
+ static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) {__Pyx_c_abs_double31660,1198598
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_pow_double31667,1198878
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value) {__Pyx_PyInt_From_enum__NPY_TYPES31724,1200964
+ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {__Pyx_PyInt_As_long31755,1202238
+__pyx_memoryview_copy_new_contig(const __Pyx_memviewslice *from_mvs,__pyx_memoryview_copy_new_contig31945,1212130
+ static CYTHON_INLINE enum BadDay __Pyx_PyInt_As_enum__BadDay(PyObject *x) {__Pyx_PyInt_As_enum__BadDay32011,1214556
+ static CYTHON_INLINE enum __pyx_t_6pyisda_5curve_Basis __Pyx_PyInt_As_enum____pyx_t_6pyisda_5curve_Basis(PyObject *x) {__Pyx_PyInt_As_enum____pyx_t_6pyisda_5curve_Basis32200,1225071
+ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {__Pyx_PyInt_As_int32389,1237720
+ static CYTHON_INLINE TDate __Pyx_PyInt_As_TDate(PyObject *x) {__Pyx_PyInt_As_TDate32578,1247457
+ static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) {__Pyx_PyInt_As_size_t32767,1257388
+ static CYTHON_INLINE char __Pyx_PyInt_As_char(PyObject *x) {__Pyx_PyInt_As_char32956,1267416
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__BadDay(enum BadDay value) {__Pyx_PyInt_From_enum__BadDay33145,1277248
+ static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {__Pyx_PyObject_CallMethod133176,1278498
+#define __Pyx_Coroutine_Undelegate(__Pyx_Coroutine_Undelegate33227,1280397
+static int __Pyx_PyGen_FetchStopIterationValue(PyObject **pvalue) {__Pyx_PyGen_FetchStopIterationValue33229,1280501
+void __Pyx_Coroutine_ExceptionClear(__pyx_CoroutineObject *self) {__Pyx_Coroutine_ExceptionClear33312,1282872
+int __Pyx_Coroutine_CheckRunning(__pyx_CoroutineObject *gen) {__Pyx_Coroutine_CheckRunning33324,1283268
+PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value) {__Pyx_Coroutine_SendEx33333,1283527
+PyObject *__Pyx_Coroutine_MethodReturn(PyObject *retval) {__Pyx_Coroutine_MethodReturn33386,1285322
+PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) {__Pyx_Coroutine_FinishDelegation33393,1285523
+static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) {__Pyx_Coroutine_Send33402,1285808
+static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) {__Pyx_Coroutine_CloseIter33437,1286937
+static PyObject *__Pyx_Generator_Next(PyObject *self) {__Pyx_Generator_Next33474,1287974
+static PyObject *__Pyx_Coroutine_Close(PyObject *self) {__Pyx_Coroutine_Close33496,1288674
+static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) {__Pyx_Coroutine_Throw33531,1289860
+static int __Pyx_Coroutine_traverse(PyObject *self, visitproc visit, void *arg) {__Pyx_Coroutine_traverse33590,1291928
+static int __Pyx_Coroutine_clear(PyObject *self) {__Pyx_Coroutine_clear33600,1292271
+static void __Pyx_Coroutine_dealloc(PyObject *self) {__Pyx_Coroutine_dealloc33612,1292643
+static void __Pyx_Coroutine_del(PyObject *self) {__Pyx_Coroutine_del33633,1293243
+__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self)__Pyx_Coroutine_get_name33674,1294433
+__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value)__Pyx_Coroutine_set_name33682,1294617
+__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self)__Pyx_Coroutine_get_qualname33701,1295134
+__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value)__Pyx_Coroutine_set_qualname33709,1295326
+static __pyx_CoroutineObject *__Pyx__Coroutine_New(__Pyx__Coroutine_New33727,1295841
+ static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) {__Pyx_Coroutine_patch_module33755,1296714
+static PyObject* __Pyx_patch_abc_module(PyObject *module) {__Pyx_patch_abc_module33797,1298285
+static int __Pyx_patch_abc(void) {__Pyx_patch_abc33812,1298800
+ static PyMethodDef __pyx_Generator_methods[] = {__pyx_Generator_methods33849,1300037
+static PyMemberDef __pyx_Generator_memberlist[] = {__pyx_Generator_memberlist33858,1300644
+static PyGetSetDef __pyx_Generator_getsets[] = {__pyx_Generator_getsets33864,1300985
+static PyTypeObject __pyx_GeneratorType_type = {__pyx_GeneratorType_type33871,1301373
+static int __pyx_Generator_init(void) {__pyx_Generator_init33927,1302240
+ static int __Pyx_check_binary_version(void) {__Pyx_check_binary_version33938,1302591
+ static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {__Pyx_ExportFunction33954,1303258
+#define __PYX_HAVE_RT_ImportModule__PYX_HAVE_RT_ImportModule33992,1304225
+static PyObject *__Pyx_ImportModule(const char *name) {__Pyx_ImportModule33993,1304260
+#define __PYX_HAVE_RT_ImportType__PYX_HAVE_RT_ImportType34010,1304673
+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,__Pyx_ImportType34011,1304706
+#define __PYX_HAVE_RT_ImportFunction__PYX_HAVE_RT_ImportFunction34075,1306676
+static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {__Pyx_ImportFunction34076,1306713
+ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {__Pyx_InitStrings34128,1308255
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {__Pyx_PyUnicode_FromString34158,1309199
+static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {__Pyx_PyObject_AsString34161,1309360
+static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {__Pyx_PyObject_AsStringAndSize34165,1309506
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {__Pyx_PyObject_IsTrue34223,1311382
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {__Pyx_PyNumber_IntOrLong34228,1311579
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {__Pyx_PyIndex_AsSsize_t34279,1312727
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {__Pyx_PyInt_FromSize_t34341,1315018
+
+pyisda/pyisda/logging.cpp,32994
+#define PY_SSIZE_T_CLEANPY_SSIZE_T_CLEAN20,378
+#define CYTHON_ABI CYTHON_ABI27,707
+ #define offsetof(offsetof30,772
+ #define __stdcall__stdcall34,912
+ #define __cdecl__cdecl37,961
+ #define __fastcall__fastcall40,1011
+ #define DL_IMPORT(DL_IMPORT44,1068
+ #define DL_EXPORT(DL_EXPORT47,1118
+ #define HAVE_LONG_LONGHAVE_LONG_LONG51,1267
+ #define PY_LONG_LONG PY_LONG_LONG55,1331
+ #define Py_HUGE_VAL Py_HUGE_VAL58,1391
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY61,1449
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON62,1486
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON63,1525
+ #undef CYTHON_USE_TYPE_SLOTSCYTHON_USE_TYPE_SLOTS64,1565
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS65,1596
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS66,1630
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS67,1662
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS68,1697
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS69,1734
+ #undef CYTHON_USE_UNICODE_INTERNALSCYTHON_USE_UNICODE_INTERNALS70,1774
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS71,1812
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER72,1853
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER73,1888
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS74,1926
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS75,1963
+ #undef CYTHON_AVOID_BORROWED_REFSCYTHON_AVOID_BORROWED_REFS76,2003
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS77,2039
+ #undef CYTHON_ASSUME_SAFE_MACROSCYTHON_ASSUME_SAFE_MACROS78,2078
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS79,2113
+ #undef CYTHON_UNPACK_METHODSCYTHON_UNPACK_METHODS80,2151
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS81,2182
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE82,2216
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE83,2250
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL84,2287
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL85,2315
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY87,2376
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON88,2413
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON89,2452
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS91,2524
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS93,2569
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS94,2601
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS95,2636
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS96,2673
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS98,2752
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER100,2804
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER101,2839
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS102,2877
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS103,2914
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS105,2991
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS108,3077
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS111,3158
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE113,3203
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE114,3237
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL115,3274
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL116,3302
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY118,3339
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON119,3376
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON120,3415
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS122,3487
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS125,3559
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS126,3593
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS128,3671
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS131,3751
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS132,3790
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS134,3878
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS137,3967
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS140,4057
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER143,4143
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER144,4180
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER146,4264
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS149,4350
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS152,4436
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS155,4517
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE158,4597
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL161,4674
+#define CYTHON_FAST_PYCCALL CYTHON_FAST_PYCCALL165,4757
+ #undef SHIFTSHIFT169,4905
+ #undef BASEBASE170,4920
+ #undef MASKMASK171,4934
+ #define Py_OptimizeFlag Py_OptimizeFlag174,5044
+#define __PYX_BUILD_PY_SSIZE_T __PYX_BUILD_PY_SSIZE_T176,5079
+#define CYTHON_FORMAT_SSIZE_T CYTHON_FORMAT_SSIZE_T177,5114
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME179,5173
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New180,5223
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType182,5397
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME184,5449
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New185,5496
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType187,5671
+ #define Py_TPFLAGS_CHECKTYPES Py_TPFLAGS_CHECKTYPES190,5753
+ #define Py_TPFLAGS_HAVE_INDEX Py_TPFLAGS_HAVE_INDEX193,5824
+ #define Py_TPFLAGS_HAVE_NEWBUFFER Py_TPFLAGS_HAVE_NEWBUFFER196,5899
+ #define Py_TPFLAGS_HAVE_FINALIZE Py_TPFLAGS_HAVE_FINALIZE199,5977
+ #define METH_FASTCALL METH_FASTCALL202,6043
+ typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject **args,__Pyx_PyCFunctionFast203,6072
+ #define __Pyx_PyCFunctionFast __Pyx_PyCFunctionFast206,6241
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check209,6321
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check212,6499
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED215,6609
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY216,6643
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH218,6806
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR219,6872
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE220,6940
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND221,7014
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA222,7074
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ223,7134
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE224,7200
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE225,7275
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED227,7412
+ #define PyUnicode_1BYTE_KIND PyUnicode_1BYTE_KIND228,7446
+ #define PyUnicode_2BYTE_KIND PyUnicode_2BYTE_KIND229,7480
+ #define PyUnicode_4BYTE_KIND PyUnicode_4BYTE_KIND230,7514
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY231,7548
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH232,7594
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR233,7658
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE234,7740
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND235,7832
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA236,7895
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ237,7970
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE238,8056
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE239,8142
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat242,8249
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe243,8312
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat245,8381
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe246,8448
+ #define PyUnicode_Contains(PyUnicode_Contains250,8676
+ #define PyByteArray_Check(PyByteArray_Check253,8805
+ #define PyObject_Format(PyObject_Format256,8947
+ #define PyObject_Malloc(PyObject_Malloc259,9098
+ #define PyObject_Free(PyObject_Free260,9145
+ #define PyObject_Realloc(PyObject_Realloc261,9190
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars264,9276
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber265,9339
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars267,9435
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber268,9503
+#define __Pyx_PyString_FormatSafe(__Pyx_PyString_FormatSafe270,9593
+#define __Pyx_PyUnicode_FormatSafe(__Pyx_PyUnicode_FormatSafe271,9721
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format273,9870
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format275,9938
+ #define PyObject_ASCII(PyObject_ASCII278,10059
+ #define PyBaseString_Type PyBaseString_Type281,10148
+ #define PyStringObject PyStringObject282,10202
+ #define PyString_Type PyString_Type283,10257
+ #define PyString_Check PyString_Check284,10311
+ #define PyString_CheckExact PyString_CheckExact285,10366
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check288,10459
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact289,10520
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check291,10597
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact292,10683
+ #define PySet_CheckExact(PySet_CheckExact295,10816
+#define __Pyx_TypeCheck(__Pyx_TypeCheck297,10892
+#define __Pyx_PyException_Check(__Pyx_PyException_Check298,10973
+ #define PyIntObject PyIntObject300,11074
+ #define PyInt_Type PyInt_Type301,11126
+ #define PyInt_Check(PyInt_Check302,11177
+ #define PyInt_CheckExact(PyInt_CheckExact303,11233
+ #define PyInt_FromString PyInt_FromString304,11294
+ #define PyInt_FromUnicode PyInt_FromUnicode305,11351
+ #define PyInt_FromLong PyInt_FromLong306,11409
+ #define PyInt_FromSize_t PyInt_FromSize_t307,11464
+ #define PyInt_FromSsize_t PyInt_FromSsize_t308,11521
+ #define PyInt_AsLong PyInt_AsLong309,11579
+ #define PyInt_AS_LONG PyInt_AS_LONG310,11632
+ #define PyInt_AsSsize_t PyInt_AsSsize_t311,11686
+ #define PyInt_AsUnsignedLongMask PyInt_AsUnsignedLongMask312,11742
+ #define PyInt_AsUnsignedLongLongMask PyInt_AsUnsignedLongLongMask313,11807
+ #define PyNumber_Int PyNumber_Int314,11876
+ #define PyBoolObject PyBoolObject317,11962
+ #define PyUnicode_InternFromString(PyUnicode_InternFromString321,12112
+ typedef long Py_hash_t;Py_hash_t325,12226
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t326,12252
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t327,12300
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t329,12352
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t330,12403
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New333,12485
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New335,12604
+ #define __Pyx_PyAsyncMethodsStruct __Pyx_PyAsyncMethodsStruct339,12753
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync340,12807
+ unaryfunc am_await;am_await343,12902
+ unaryfunc am_aiter;am_aiter344,12930
+ unaryfunc am_anext;am_anext345,12958
+ } __Pyx_PyAsyncMethodsStruct;__Pyx_PyAsyncMethodsStruct346,12986
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync347,13020
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync350,13133
+ #define CYTHON_RESTRICT CYTHON_RESTRICT354,13229
+ #define CYTHON_RESTRICT CYTHON_RESTRICT356,13316
+ #define CYTHON_RESTRICT CYTHON_RESTRICT358,13421
+ #define CYTHON_RESTRICTCYTHON_RESTRICT360,13466
+# define CYTHON_UNUSED CYTHON_UNUSED366,13646
+# define CYTHON_UNUSEDCYTHON_UNUSED368,13711
+# define CYTHON_UNUSED CYTHON_UNUSED371,13823
+# define CYTHON_UNUSEDCYTHON_UNUSED373,13884
+ template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }CYTHON_MAYBE_UNUSED_VAR378,13983
+# define CYTHON_MAYBE_UNUSED_VAR(CYTHON_MAYBE_UNUSED_VAR380,14059
+# define CYTHON_NCP_UNUSEDCYTHON_NCP_UNUSED385,14183
+# define CYTHON_NCP_UNUSED CYTHON_NCP_UNUSED387,14218
+#define __Pyx_void_to_None(__Pyx_void_to_None390,14275
+ #define CYTHON_INLINE CYTHON_INLINE397,14533
+ #define CYTHON_INLINE CYTHON_INLINE399,14607
+void __Pyx_call_destructor(T& x) {__Pyx_call_destructor403,14677
+class __Pyx_FakeReference {__Pyx_FakeReference407,14747
+ __Pyx_FakeReference() : ptr(NULL) { }__Pyx_FakeReference409,14785
+ __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }__Pyx_FakeReference410,14827
+ T *operator->() { return ptr; }operator ->411,14897
+ T *operator&() { return ptr; }operator &412,14933
+ operator T&() { return *ptr; }operator T&413,14968
+ template<typename U> bool operator ==(U other) { return *ptr == other; }operator ==414,15003
+ template<typename U> bool operator !=(U other) { return *ptr != other; }operator !=415,15080
+ T *ptr;ptr417,15168
+ #define _USE_MATH_DEFINES_USE_MATH_DEFINES421,15226
+#define __PYX_NAN(__PYX_NAN425,15290
+static CYTHON_INLINE float __PYX_NAN() {__PYX_NAN427,15330
+#define __Pyx_truncl __Pyx_truncl434,15499
+#define __Pyx_truncl __Pyx_truncl436,15532
+#define __PYX_ERR(__PYX_ERR440,15569
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide446,15752
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide447,15822
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide449,15905
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide450,15971
+ #define __PYX_EXTERN_C __PYX_EXTERN_C455,16096
+ #define __PYX_EXTERN_C __PYX_EXTERN_C457,16142
+#define __PYX_HAVE__pyisda__logging__PYX_HAVE__pyisda__logging461,16193
+#define __PYX_HAVE_API__pyisda__logging__PYX_HAVE_API__pyisda__logging462,16229
+#define CYTHON_WITHOUT_ASSERTIONSCYTHON_WITHOUT_ASSERTIONS469,16380
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;p472,16422
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;s472,16422
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;n472,16422
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;encoding472,16422
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_unicode473,16509
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_str473,16509
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;intern473,16509
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;__Pyx_StringTabEntry473,16509
+#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII __PYX_DEFAULT_STRING_ENCODING_IS_ASCII475,16611
+#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT476,16660
+#define __PYX_DEFAULT_STRING_ENCODING __PYX_DEFAULT_STRING_ENCODING477,16711
+#define __Pyx_PyObject_FromString __Pyx_PyObject_FromString478,16752
+#define __Pyx_PyObject_FromStringAndSize __Pyx_PyObject_FromStringAndSize479,16811
+#define __Pyx_uchar_cast(__Pyx_uchar_cast480,16884
+#define __Pyx_long_cast(__Pyx_long_cast481,16931
+#define __Pyx_fits_Py_ssize_t(__Pyx_fits_Py_ssize_t482,16968
+ #define __Pyx_sst_abs(__Pyx_sst_abs494,17574
+ #define __Pyx_sst_abs(__Pyx_sst_abs496,17657
+ #define __Pyx_sst_abs(__Pyx_sst_abs498,17736
+ #define __Pyx_sst_abs(__Pyx_sst_abs500,17826
+ #define __Pyx_sst_abs(__Pyx_sst_abs502,17937
+ #define __Pyx_sst_abs(__Pyx_sst_abs504,18008
+ #define __Pyx_sst_abs(__Pyx_sst_abs506,18070
+#define __Pyx_PyByteArray_FromString(__Pyx_PyByteArray_FromString510,18292
+#define __Pyx_PyByteArray_FromStringAndSize(__Pyx_PyByteArray_FromStringAndSize511,18402
+#define __Pyx_PyBytes_FromString __Pyx_PyBytes_FromString512,18501
+#define __Pyx_PyBytes_FromStringAndSize __Pyx_PyBytes_FromStringAndSize513,18560
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString516,18723
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize517,18790
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString519,18870
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize520,18939
+#define __Pyx_PyObject_AsSString(__Pyx_PyObject_AsSString522,19022
+#define __Pyx_PyObject_AsUString(__Pyx_PyObject_AsUString523,19105
+#define __Pyx_PyObject_FromCString(__Pyx_PyObject_FromCString524,19190
+#define __Pyx_PyBytes_FromCString(__Pyx_PyBytes_FromCString525,19271
+#define __Pyx_PyByteArray_FromCString(__Pyx_PyByteArray_FromCString526,19351
+#define __Pyx_PyStr_FromCString(__Pyx_PyStr_FromCString527,19439
+#define __Pyx_PyUnicode_FromCString(__Pyx_PyUnicode_FromCString528,19517
+static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)__Pyx_Py_UNICODE_strlen530,19624
+#define __Pyx_Py_UNICODE_strlen __Pyx_Py_UNICODE_strlen537,19799
+#define __Pyx_PyUnicode_FromUnicode(__Pyx_PyUnicode_FromUnicode539,19856
+#define __Pyx_PyUnicode_FromUnicodeAndLength __Pyx_PyUnicode_FromUnicodeAndLength540,19954
+#define __Pyx_PyUnicode_AsUnicode __Pyx_PyUnicode_AsUnicode541,20021
+#define __Pyx_NewRef(__Pyx_NewRef542,20086
+#define __Pyx_Owned_Py_None(__Pyx_Owned_Py_None543,20134
+#define __Pyx_PyBool_FromLong(__Pyx_PyBool_FromLong544,20187
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble550,20566
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble552,20675
+#define __pyx_PyFloat_AsFloat(__pyx_PyFloat_AsFloat554,20736
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int556,20831
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int558,20927
+#define __Pyx_PyNumber_Float(__Pyx_PyNumber_Float560,21022
+static int __Pyx_sys_getdefaultencoding_not_ascii;__Pyx_sys_getdefaultencoding_not_ascii562,21183
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params563,21234
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize608,22963
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize610,23064
+static char* __PYX_DEFAULT_STRING_ENCODING;__PYX_DEFAULT_STRING_ENCODING612,23231
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params613,23275
+ #define likely(likely639,24169
+ #define unlikely(unlikely640,24218
+ #define likely(likely642,24303
+ #define unlikely(unlikely643,24329
+static PyObject *__pyx_m;__pyx_m646,24378
+static PyObject *__pyx_d;__pyx_d647,24404
+static PyObject *__pyx_b;__pyx_b648,24430
+static PyObject *__pyx_empty_tuple;__pyx_empty_tuple649,24456
+static PyObject *__pyx_empty_bytes;__pyx_empty_bytes650,24492
+static PyObject *__pyx_empty_unicode;__pyx_empty_unicode651,24528
+static int __pyx_lineno;__pyx_lineno652,24566
+static int __pyx_clineno = 0;__pyx_clineno653,24591
+static const char * __pyx_cfilenm= __FILE__;__pyx_cfilenm654,24621
+static const char *__pyx_filename;__pyx_filename655,24666
+static const char *__pyx_f[] = {__pyx_f658,24703
+ #define CYTHON_REFNANNY CYTHON_REFNANNY667,24882
+ void (*INCREF)(void*, PyObject*, int);INCREF671,24956
+ void (*DECREF)(void*, PyObject*, int);DECREF672,24999
+ void (*GOTREF)(void*, PyObject*, int);GOTREF673,25042
+ void (*GIVEREF)(void*, PyObject*, int);GIVEREF674,25085
+ void* (*SetupContext)(const char*, int, const char*);SetupContext675,25129
+ void (*FinishContext)(void**);FinishContext676,25187
+ } __Pyx_RefNannyAPIStruct;__Pyx_RefNannyAPIStruct677,25222
+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;__Pyx_RefNanny678,25251
+ #define __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations680,25388
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext682,25473
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext691,25909
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext694,26057
+ #define __Pyx_INCREF(__Pyx_INCREF696,26155
+ #define __Pyx_DECREF(__Pyx_DECREF697,26248
+ #define __Pyx_GOTREF(__Pyx_GOTREF698,26341
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF699,26434
+ #define __Pyx_XINCREF(__Pyx_XINCREF700,26528
+ #define __Pyx_XDECREF(__Pyx_XDECREF701,26607
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF702,26686
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF703,26765
+ #define __Pyx_RefNannyDeclarations__Pyx_RefNannyDeclarations705,26850
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext706,26887
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext707,26943
+ #define __Pyx_INCREF(__Pyx_INCREF708,26983
+ #define __Pyx_DECREF(__Pyx_DECREF709,27022
+ #define __Pyx_GOTREF(__Pyx_GOTREF710,27061
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF711,27087
+ #define __Pyx_XINCREF(__Pyx_XINCREF712,27114
+ #define __Pyx_XDECREF(__Pyx_XDECREF713,27155
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF714,27196
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF715,27223
+#define __Pyx_XDECREF_SET(__Pyx_XDECREF_SET717,27258
+#define __Pyx_DECREF_SET(__Pyx_DECREF_SET721,27389
+#define __Pyx_CLEAR(__Pyx_CLEAR725,27518
+#define __Pyx_XCLEAR(__Pyx_XCLEAR726,27622
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {__Pyx_PyObject_GetAttrStr746,28455
+#define __Pyx_PyObject_GetAttrStr(__Pyx_PyObject_GetAttrStr757,28852
+#define __Pyx_PyObject_Call(__Pyx_PyObject_Call764,29081
+static CYTHON_INLINE void __Pyx_ReraiseException(void) {__Pyx_ReraiseException768,29190
+ PyCodeObject* code_object;code_object798,29986
+ int code_line;code_line799,30017
+} __Pyx_CodeObjectCacheEntry;__Pyx_CodeObjectCacheEntry800,30036
+struct __Pyx_CodeObjectCache {__Pyx_CodeObjectCache801,30066
+ int count;count802,30097
+ int max_count;max_count803,30112
+ __Pyx_CodeObjectCacheEntry* entries;entries804,30131
+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};__pyx_code_cache806,30175
+#define __Pyx_MODULE_NAME __Pyx_MODULE_NAME835,31191
+int __pyx_module_is_main_pyisda__logging = 0;__pyx_module_is_main_pyisda__logging836,31234
+static const char __pyx_k_msg[] = "msg";__pyx_k_msg839,31322
+static const char __pyx_k_main[] = "__main__";__pyx_k_main840,31363
+static const char __pyx_k_test[] = "__test__";__pyx_k_test841,31410
+static const char __pyx_k_c_msg[] = "c_msg";__pyx_k_c_msg842,31457
+static const char __pyx_k_flush[] = "flush";__pyx_k_flush843,31502
+static const char __pyx_k_utf_8[] = "utf-8";__pyx_k_utf_8844,31547
+static const char __pyx_k_append[] = "append";__pyx_k_append845,31592
+static const char __pyx_k_encode[] = "encode";__pyx_k_encode846,31639
+static const char __pyx_k_c_string[] = "c_string";__pyx_k_c_string847,31686
+static const char __pyx_k_file_name[] = "file_name";__pyx_k_file_name848,31737
+static const char __pyx_k_msg_bytes[] = "msg_bytes";__pyx_k_msg_bytes849,31790
+static const char __pyx_k_log_message[] = "log_message";__pyx_k_log_message850,31843
+static const char __pyx_k_enable_logging[] = "enable_logging";__pyx_k_enable_logging851,31900
+static const char __pyx_k_filename_bytes[] = "filename_bytes";__pyx_k_filename_bytes852,31963
+static const char __pyx_k_pyisda_logging[] = "pyisda.logging";__pyx_k_pyisda_logging853,32026
+static const char __pyx_k_disable_logging[] = "disable_logging";__pyx_k_disable_logging854,32089
+static const char __pyx_k_set_logging_file[] = "set_logging_file";__pyx_k_set_logging_file855,32154
+static const char __pyx_k_helper_functions_to_use_the_log[] = " helper functions to use the logging facility";__pyx_k_helper_functions_to_use_the_log856,32221
+static const char __pyx_k_home_guillaume_projects_code_py[] = "/home/guillaume/projects/code/python/pyisda/pyisda/logging.pyx";__pyx_k_home_guillaume_projects_code_py857,32332
+static PyObject *__pyx_n_s_append;__pyx_n_s_append858,32460
+static PyObject *__pyx_n_s_c_msg;__pyx_n_s_c_msg859,32495
+static PyObject *__pyx_n_s_c_string;__pyx_n_s_c_string860,32529
+static PyObject *__pyx_n_s_disable_logging;__pyx_n_s_disable_logging861,32566
+static PyObject *__pyx_n_s_enable_logging;__pyx_n_s_enable_logging862,32610
+static PyObject *__pyx_n_s_encode;__pyx_n_s_encode863,32653
+static PyObject *__pyx_n_s_file_name;__pyx_n_s_file_name864,32688
+static PyObject *__pyx_n_s_filename_bytes;__pyx_n_s_filename_bytes865,32726
+static PyObject *__pyx_n_s_flush;__pyx_n_s_flush866,32769
+static PyObject *__pyx_kp_s_home_guillaume_projects_code_py;__pyx_kp_s_home_guillaume_projects_code_py867,32803
+static PyObject *__pyx_n_s_log_message;__pyx_n_s_log_message868,32864
+static PyObject *__pyx_n_s_main;__pyx_n_s_main869,32904
+static PyObject *__pyx_n_s_msg;__pyx_n_s_msg870,32937
+static PyObject *__pyx_n_s_msg_bytes;__pyx_n_s_msg_bytes871,32969
+static PyObject *__pyx_n_s_pyisda_logging;__pyx_n_s_pyisda_logging872,33007
+static PyObject *__pyx_n_s_set_logging_file;__pyx_n_s_set_logging_file873,33050
+static PyObject *__pyx_n_s_test;__pyx_n_s_test874,33095
+static PyObject *__pyx_kp_s_utf_8;__pyx_kp_s_utf_8875,33128
+static PyObject *__pyx_tuple_;__pyx_tuple_881,33770
+static PyObject *__pyx_tuple__2;__pyx_tuple__2882,33801
+static PyObject *__pyx_tuple__5;__pyx_tuple__5883,33834
+static PyObject *__pyx_tuple__7;__pyx_tuple__7884,33867
+static PyObject *__pyx_codeobj__3;__pyx_codeobj__3885,33900
+static PyObject *__pyx_codeobj__4;__pyx_codeobj__4886,33935
+static PyObject *__pyx_codeobj__6;__pyx_codeobj__6887,33970
+static PyObject *__pyx_codeobj__8;__pyx_codeobj__8888,34005
+static PyObject *__pyx_codeobj__9;__pyx_codeobj__9889,34040
+static char __pyx_doc_6pyisda_7logging_enable_logging[] = "enable_logging()\nturn on logging\n\n default location is error.log in the $HOME directory.\n To change from default use ``set_logging_file``\n ";__pyx_doc_6pyisda_7logging_enable_logging901,34395
+static PyMethodDef __pyx_mdef_6pyisda_7logging_1enable_logging = {"enable_logging", (PyCFunction)__pyx_pw_6pyisda_7logging_1enable_logging, METH_NOARGS, __pyx_doc_6pyisda_7logging_enable_logging};__pyx_mdef_6pyisda_7logging_1enable_logging902,34610
+static PyObject *__pyx_pw_6pyisda_7logging_1enable_logging(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {__pyx_pw_6pyisda_7logging_1enable_logging903,34807
+static PyObject *__pyx_pf_6pyisda_7logging_enable_logging(CYTHON_UNUSED PyObject *__pyx_self) {__pyx_pf_6pyisda_7logging_enable_logging914,35185
+static char __pyx_doc_6pyisda_7logging_2disable_logging[] = "disable_logging()\nturn off logging";__pyx_doc_6pyisda_7logging_2disable_logging953,36236
+static PyMethodDef __pyx_mdef_6pyisda_7logging_3disable_logging = {"disable_logging", (PyCFunction)__pyx_pw_6pyisda_7logging_3disable_logging, METH_NOARGS, __pyx_doc_6pyisda_7logging_2disable_logging};__pyx_mdef_6pyisda_7logging_3disable_logging954,36335
+static PyObject *__pyx_pw_6pyisda_7logging_3disable_logging(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {__pyx_pw_6pyisda_7logging_3disable_logging955,36537
+static PyObject *__pyx_pf_6pyisda_7logging_2disable_logging(CYTHON_UNUSED PyObject *__pyx_self) {__pyx_pf_6pyisda_7logging_2disable_logging966,36919
+static char __pyx_doc_6pyisda_7logging_4set_logging_file[] = "set_logging_file(str file_name, TBoolean append=True)\nset logging file";__pyx_doc_6pyisda_7logging_4set_logging_file1005,38077
+static PyMethodDef __pyx_mdef_6pyisda_7logging_5set_logging_file = {"set_logging_file", (PyCFunction)__pyx_pw_6pyisda_7logging_5set_logging_file, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6pyisda_7logging_4set_logging_file};__pyx_mdef_6pyisda_7logging_5set_logging_file1006,38213
+static PyObject *__pyx_pw_6pyisda_7logging_5set_logging_file(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_7logging_5set_logging_file1007,38434
+static PyObject *__pyx_pf_6pyisda_7logging_4set_logging_file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file_name, TBoolean __pyx_v_append) {__pyx_pf_6pyisda_7logging_4set_logging_file1074,41176
+static char __pyx_doc_6pyisda_7logging_6log_message[] = "log_message(str msg)";__pyx_doc_6pyisda_7logging_6log_message1171,44579
+static PyMethodDef __pyx_mdef_6pyisda_7logging_7log_message = {"log_message", (PyCFunction)__pyx_pw_6pyisda_7logging_7log_message, METH_O, __pyx_doc_6pyisda_7logging_6log_message};__pyx_mdef_6pyisda_7logging_7log_message1172,44659
+static PyObject *__pyx_pw_6pyisda_7logging_7log_message(PyObject *__pyx_self, PyObject *__pyx_v_msg) {__pyx_pw_6pyisda_7logging_7log_message1173,44840
+static PyObject *__pyx_pf_6pyisda_7logging_6log_message(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_msg) {__pyx_pf_6pyisda_7logging_6log_message1189,45421
+static char __pyx_doc_6pyisda_7logging_8flush[] = "flush()";__pyx_doc_6pyisda_7logging_8flush1266,47886
+static PyMethodDef __pyx_mdef_6pyisda_7logging_9flush = {"flush", (PyCFunction)__pyx_pw_6pyisda_7logging_9flush, METH_NOARGS, __pyx_doc_6pyisda_7logging_8flush};__pyx_mdef_6pyisda_7logging_9flush1267,47947
+static PyObject *__pyx_pw_6pyisda_7logging_9flush(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {__pyx_pw_6pyisda_7logging_9flush1268,48109
+static PyObject *__pyx_pf_6pyisda_7logging_8flush(CYTHON_UNUSED PyObject *__pyx_self) {__pyx_pf_6pyisda_7logging_8flush1279,48461
+static PyMethodDef __pyx_methods[] = {__pyx_methods1329,49687
+static struct PyModuleDef __pyx_moduledef = {__pyx_moduledef1334,49771
+static __Pyx_StringTabEntry __pyx_string_tab[] = {__pyx_string_tab1351,50180
+static int __Pyx_InitCachedBuiltins(void) {__Pyx_InitCachedBuiltins1372,51823
+static int __Pyx_InitCachedConstants(void) {__Pyx_InitCachedConstants1376,51882
+static int __Pyx_InitGlobals(void) {__Pyx_InitGlobals1459,56078
+PyMODINIT_FUNC initlogging(void)initlogging1468,56311
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {__Pyx_RefNannyImportAPI1653,63850
+static void __Pyx_RaiseDoubleKeywordsError(__Pyx_RaiseDoubleKeywordsError1669,64283
+static int __Pyx_ParseOptionalKeywords(__Pyx_ParseOptionalKeywords1683,64692
+static void __Pyx_RaiseArgtupleInvalid(__Pyx_RaiseArgtupleInvalid1785,68273
+static void __Pyx_RaiseArgumentTypeInvalid(const char* name, PyObject *obj, PyTypeObject *type) {__Pyx_RaiseArgumentTypeInvalid1811,69030
+static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,__Pyx_ArgTypeTest1816,69295
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {__Pyx_PyObject_Call1839,70025
+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {__pyx_bisect_code_objects1858,70663
+static PyCodeObject *__pyx_find_code_object(int code_line) {__pyx_find_code_object1879,71292
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {__pyx_insert_code_object1893,71852
+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(__Pyx_CreateCodeObjectForTraceback1941,73638
+static void __Pyx_AddTraceback(const char *funcname, int c_line,__Pyx_AddTraceback1993,75247
+#define __PYX_VERIFY_RETURN_INT(__PYX_VERIFY_RETURN_INT2019,76175
+#define __PYX_VERIFY_RETURN_INT_EXC(__PYX_VERIFY_RETURN_INT_EXC2021,76312
+#define __PYX__VERIFY_RETURN_INT(__PYX__VERIFY_RETURN_INT2023,76453
+static CYTHON_INLINE TBoolean __Pyx_PyInt_As_TBoolean(PyObject *x) {__Pyx_PyInt_As_TBoolean2041,77123
+static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {__Pyx_PyInt_From_long2230,87325
+static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {__Pyx_PyInt_As_long2261,88470
+static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {__Pyx_PyInt_As_int2450,98286
+static int __Pyx_check_binary_version(void) {__Pyx_check_binary_version2639,108013
+static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {__Pyx_InitStrings2655,108655
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {__Pyx_PyUnicode_FromString2685,109577
+static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {__Pyx_PyObject_AsString2688,109738
+static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {__Pyx_PyObject_AsStringAndSize2692,109884
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {__Pyx_PyObject_IsTrue2750,111760
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {__Pyx_PyNumber_IntOrLong2755,111957
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {__Pyx_PyIndex_AsSsize_t2806,113105
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {__Pyx_PyInt_FromSize_t2868,115396
+
+pyisda/pyisda/date.pyx,245
+cdef TDate pydate_to_TDate(c_datetime.date d):pydate_to_TDate7,137
+cpdef c_datetime.date TDate_to_pydate(TDate d):TDate_to_pydate10,249
+cdef long dcc(str day_count) except -1:dcc15,433
+def dcc_tostring(long day_count):dcc_tostring25,737
+
+pyisda/pyisda/cdsone.pyx,198
+def upfront_charge(date, value_date, benchmark_start_date, stepin_date,upfront_charge6,120
+def spread_from_upfront(date, value_date, benchmark_start_date, stepin_date,spread_from_upfront68,2806
+
+pyisda/pyisda/legs.pyx,837
+cdef class ContingentLeg:ContingentLeg7,218
+ def __cinit__(self, start_date, end_date, double notional,__cinit__20,529
+ def __dealloc__(self):__dealloc__30,986
+ def __reduce__(self):__reduce__34,1084
+ def __hash__(self):__hash__41,1456
+ def pv(self, today, step_in_date, value_date, YieldCurve yc, SpreadCurve sc,pv47,1695
+cdef class FeeLeg:FeeLeg75,2818
+ def __cinit__(self, start_date, end_date, bint pay_accrued_on_default,__cinit__95,3406
+ def __reduce__(self):__reduce__118,4480
+ def __hash__(self):__hash__127,5001
+ def inspect(self):inspect136,5388
+ def cashflows(self):cashflows151,6036
+ def pv(self, today, step_in_date, value_date, YieldCurve yc, SpreadCurve sc,pv161,6366
+ def accrued(self, today):accrued189,7477
+ def __dealloc__(self):__dealloc__204,7783
+
+pyisda/pyisda/curve.pyx,2006
+ FOLLOW = <long>'F'FOLLOW25,844
+ PREVIOUS = <long>'P'PREVIOUS26,867
+ NONE = <long>'N'NONE27,892
+ MODIFIED = <long>'M'MODIFIED28,913
+cdef class Curve(object):Curve33,1050
+ def __getstate__(self):__getstate__35,1077
+ def __setstate__(self, state):__setstate__44,1401
+ def __hash__(self):__hash__62,2053
+ def inspect(self):inspect71,2399
+ def to_df(self):to_df86,2934
+ def __iter__(self):__iter__98,3428
+ def __len__(self):__len__105,3662
+ def __deepcopy__(self, memo):__deepcopy__108,3731
+ def forward_hazard_rates(self):forward_hazard_rates115,3953
+ def base_date(self):base_date146,5199
+ def __forward_zero_price(self, d2, d1=None):__forward_zero_price149,5287
+cdef fArray_to_list(TRatePt* fArray, int fNumItems):fArray_to_list171,6018
+cdef class YieldCurve(Curve):YieldCurve178,6225
+ def __init__(self, date, str types,__init__207,7187
+ def __dealloc__(self):__dealloc__261,9373
+ def __getstate__(self):__getstate__266,9548
+ def __setstate__(self, state):__setstate__271,9756
+ def from_discount_factors(cls, base_date, list dates, double[:] dfs, str day_count_conv):from_discount_factors279,10043
+ discount_factor = Curve.__forward_zero_pricediscount_factor297,10930
+ def dates(self):dates300,10994
+ def expected_forward_curve(self, forward_date):expected_forward_curve307,11178
+cdef void tweak_curve(TCurve* sc, TCurve* sc_tweaked, double epsilon,tweak_curve332,12275
+cdef class SpreadCurve(Curve):SpreadCurve355,13019
+ def __init__(self, today, YieldCurve yc, start_date, step_in_date,__init__375,13621
+ survival_probability = Curve.__forward_zero_pricesurvival_probability424,16115
+ def from_flat_hazard(cls, base_date, double rate, Basis basis=CONTINUOUS,from_flat_hazard427,16187
+ def tweak_curve(self, double epsilon, bint multiplicative=True,tweak_curve453,17141
+ def par_spread(self, today, step_in_date, start_date, end_dates,par_spread500,18818
+
+pyisda/pyisda/curve.pxd,527
+ CONTINUOUS = 5000CONTINUOUS142,6172
+ DISCOUNT_RATE = 512DISCOUNT_RATE143,6194
+ SIMPLE_BASIS = 0SIMPLE_BASIS144,6218
+ ANNUAL_BASIS = 1ANNUAL_BASIS145,6239
+ DISCOUNT_FACTOR = -2DISCOUNT_FACTOR146,6260
+cdef class Curve:Curve157,6516
+cdef class YieldCurve(Curve):YieldCurve160,6572
+cdef class SpreadCurve(Curve):SpreadCurve164,6650
+cdef fArray_to_list(TRatePt* fArray, int fNumItems)fArray_to_list167,6691
+cdef void tweak_curve(TCurve* sc, TCurve* sc_tweaked, double epsilon,tweak_curve169,6744
+
+pyisda/pyisda/credit_index.pyx,1110
+cdef class CurveList:CurveList15,599
+ def __init__(self, curves, tickers=None, double[:] weights=None):__init__17,649
+ def __getitem__(self, str ticker):__getitem__55,2291
+ def items(self):items64,2582
+ def curves(self):curves77,3015
+ def curves(self, list l):curves90,3424
+cdef class CreditIndex(CurveList):CreditIndex98,3684
+ def __init__(self, start_date, maturities, curves, double[:] weights=None):__init__99,3719
+ def __dealloc__(self):__dealloc__131,5517
+ def pv_vec(self, step_in_date, value_date, YieldCurve yc, double recovery_rate):pv_vec141,5903
+ def pv(self, step_in_date, value_date, maturity, YieldCurve yc not None,pv181,7942
+ def theta(self, step_in_date, value_date, maturity, YieldCurve yc not None,theta243,10280
+ def duration(self, step_in_date, value_date, maturity, YieldCurve yc not None):duration300,12831
+ def maturities(self):maturities336,13976
+ def tweak_portfolio(self, double epsilon, maturity):tweak_portfolio342,14153
+cdef bint* fill_mask(TDate maturity, const vector[TDate]& maturities,fill_mask353,14623
+
+pyisda/pyisda/version.pyx,28
+def version():version4,71
+
+pyisda/pyisda/credit_index.cpp,137179
+#define PY_SSIZE_T_CLEANPY_SSIZE_T_CLEAN23,565
+#define CYTHON_ABI CYTHON_ABI30,894
+ #define offsetof(offsetof33,959
+ #define __stdcall__stdcall37,1099
+ #define __cdecl__cdecl40,1148
+ #define __fastcall__fastcall43,1198
+ #define DL_IMPORT(DL_IMPORT47,1255
+ #define DL_EXPORT(DL_EXPORT50,1305
+ #define HAVE_LONG_LONGHAVE_LONG_LONG54,1454
+ #define PY_LONG_LONG PY_LONG_LONG58,1518
+ #define Py_HUGE_VAL Py_HUGE_VAL61,1578
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY64,1636
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON65,1673
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON66,1712
+ #undef CYTHON_USE_TYPE_SLOTSCYTHON_USE_TYPE_SLOTS67,1752
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS68,1783
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS69,1817
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS70,1849
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS71,1884
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS72,1921
+ #undef CYTHON_USE_UNICODE_INTERNALSCYTHON_USE_UNICODE_INTERNALS73,1961
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS74,1999
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER75,2040
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER76,2075
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS77,2113
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS78,2150
+ #undef CYTHON_AVOID_BORROWED_REFSCYTHON_AVOID_BORROWED_REFS79,2190
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS80,2226
+ #undef CYTHON_ASSUME_SAFE_MACROSCYTHON_ASSUME_SAFE_MACROS81,2265
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS82,2300
+ #undef CYTHON_UNPACK_METHODSCYTHON_UNPACK_METHODS83,2338
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS84,2369
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE85,2403
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE86,2437
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL87,2474
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL88,2502
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY90,2563
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON91,2600
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON92,2639
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS94,2711
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS96,2756
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS97,2788
+ #undef CYTHON_USE_PYLIST_INTERNALSCYTHON_USE_PYLIST_INTERNALS98,2823
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS99,2860
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS101,2939
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER103,2991
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER104,3026
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS105,3064
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS106,3101
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS108,3178
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS111,3264
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS114,3345
+ #undef CYTHON_FAST_THREAD_STATECYTHON_FAST_THREAD_STATE116,3390
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE117,3424
+ #undef CYTHON_FAST_PYCALLCYTHON_FAST_PYCALL118,3461
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL119,3489
+ #define CYTHON_COMPILING_IN_PYPY CYTHON_COMPILING_IN_PYPY121,3526
+ #define CYTHON_COMPILING_IN_PYSTON CYTHON_COMPILING_IN_PYSTON122,3563
+ #define CYTHON_COMPILING_IN_CPYTHON CYTHON_COMPILING_IN_CPYTHON123,3602
+ #define CYTHON_USE_TYPE_SLOTS CYTHON_USE_TYPE_SLOTS125,3674
+ #undef CYTHON_USE_ASYNC_SLOTSCYTHON_USE_ASYNC_SLOTS128,3746
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS129,3780
+ #define CYTHON_USE_ASYNC_SLOTS CYTHON_USE_ASYNC_SLOTS131,3858
+ #undef CYTHON_USE_PYLONG_INTERNALSCYTHON_USE_PYLONG_INTERNALS134,3938
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS135,3977
+ #define CYTHON_USE_PYLONG_INTERNALS CYTHON_USE_PYLONG_INTERNALS137,4065
+ #define CYTHON_USE_PYLIST_INTERNALS CYTHON_USE_PYLIST_INTERNALS140,4154
+ #define CYTHON_USE_UNICODE_INTERNALS CYTHON_USE_UNICODE_INTERNALS143,4244
+ #undef CYTHON_USE_UNICODE_WRITERCYTHON_USE_UNICODE_WRITER146,4330
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER147,4367
+ #define CYTHON_USE_UNICODE_WRITER CYTHON_USE_UNICODE_WRITER149,4451
+ #define CYTHON_AVOID_BORROWED_REFS CYTHON_AVOID_BORROWED_REFS152,4537
+ #define CYTHON_ASSUME_SAFE_MACROS CYTHON_ASSUME_SAFE_MACROS155,4623
+ #define CYTHON_UNPACK_METHODS CYTHON_UNPACK_METHODS158,4704
+ #define CYTHON_FAST_THREAD_STATE CYTHON_FAST_THREAD_STATE161,4784
+ #define CYTHON_FAST_PYCALL CYTHON_FAST_PYCALL164,4861
+#define CYTHON_FAST_PYCCALL CYTHON_FAST_PYCCALL168,4944
+ #undef SHIFTSHIFT172,5092
+ #undef BASEBASE173,5107
+ #undef MASKMASK174,5121
+ #define Py_OptimizeFlag Py_OptimizeFlag177,5231
+#define __PYX_BUILD_PY_SSIZE_T __PYX_BUILD_PY_SSIZE_T179,5266
+#define CYTHON_FORMAT_SSIZE_T CYTHON_FORMAT_SSIZE_T180,5301
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME182,5360
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New183,5410
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType185,5584
+ #define __Pyx_BUILTIN_MODULE_NAME __Pyx_BUILTIN_MODULE_NAME187,5636
+ #define __Pyx_PyCode_New(__Pyx_PyCode_New188,5683
+ #define __Pyx_DefaultClassType __Pyx_DefaultClassType190,5858
+ #define Py_TPFLAGS_CHECKTYPES Py_TPFLAGS_CHECKTYPES193,5940
+ #define Py_TPFLAGS_HAVE_INDEX Py_TPFLAGS_HAVE_INDEX196,6011
+ #define Py_TPFLAGS_HAVE_NEWBUFFER Py_TPFLAGS_HAVE_NEWBUFFER199,6086
+ #define Py_TPFLAGS_HAVE_FINALIZE Py_TPFLAGS_HAVE_FINALIZE202,6164
+ #define METH_FASTCALL METH_FASTCALL205,6230
+ typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject **args,__Pyx_PyCFunctionFast206,6259
+ #define __Pyx_PyCFunctionFast __Pyx_PyCFunctionFast209,6428
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check212,6508
+#define __Pyx_PyFastCFunction_Check(__Pyx_PyFastCFunction_Check215,6686
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED218,6796
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY219,6830
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH221,6993
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR222,7059
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE223,7127
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND224,7201
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA225,7261
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ226,7321
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE227,7387
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE228,7462
+ #define CYTHON_PEP393_ENABLED CYTHON_PEP393_ENABLED230,7599
+ #define PyUnicode_1BYTE_KIND PyUnicode_1BYTE_KIND231,7633
+ #define PyUnicode_2BYTE_KIND PyUnicode_2BYTE_KIND232,7667
+ #define PyUnicode_4BYTE_KIND PyUnicode_4BYTE_KIND233,7701
+ #define __Pyx_PyUnicode_READY(__Pyx_PyUnicode_READY234,7735
+ #define __Pyx_PyUnicode_GET_LENGTH(__Pyx_PyUnicode_GET_LENGTH235,7781
+ #define __Pyx_PyUnicode_READ_CHAR(__Pyx_PyUnicode_READ_CHAR236,7845
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(__Pyx_PyUnicode_MAX_CHAR_VALUE237,7927
+ #define __Pyx_PyUnicode_KIND(__Pyx_PyUnicode_KIND238,8019
+ #define __Pyx_PyUnicode_DATA(__Pyx_PyUnicode_DATA239,8082
+ #define __Pyx_PyUnicode_READ(__Pyx_PyUnicode_READ240,8157
+ #define __Pyx_PyUnicode_WRITE(__Pyx_PyUnicode_WRITE241,8243
+ #define __Pyx_PyUnicode_IS_TRUE(__Pyx_PyUnicode_IS_TRUE242,8329
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat245,8436
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe246,8499
+ #define __Pyx_PyUnicode_Concat(__Pyx_PyUnicode_Concat248,8568
+ #define __Pyx_PyUnicode_ConcatSafe(__Pyx_PyUnicode_ConcatSafe249,8635
+ #define PyUnicode_Contains(PyUnicode_Contains253,8863
+ #define PyByteArray_Check(PyByteArray_Check256,8992
+ #define PyObject_Format(PyObject_Format259,9134
+ #define PyObject_Malloc(PyObject_Malloc262,9285
+ #define PyObject_Free(PyObject_Free263,9332
+ #define PyObject_Realloc(PyObject_Realloc264,9377
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars267,9463
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber268,9526
+ #define __Pyx_PyCode_HasFreeVars(__Pyx_PyCode_HasFreeVars270,9622
+ #define __Pyx_PyFrame_SetLineNumber(__Pyx_PyFrame_SetLineNumber271,9690
+#define __Pyx_PyString_FormatSafe(__Pyx_PyString_FormatSafe273,9780
+#define __Pyx_PyUnicode_FormatSafe(__Pyx_PyUnicode_FormatSafe274,9908
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format276,10057
+ #define __Pyx_PyString_Format(__Pyx_PyString_Format278,10125
+ #define PyObject_ASCII(PyObject_ASCII281,10246
+ #define PyBaseString_Type PyBaseString_Type284,10335
+ #define PyStringObject PyStringObject285,10389
+ #define PyString_Type PyString_Type286,10444
+ #define PyString_Check PyString_Check287,10498
+ #define PyString_CheckExact PyString_CheckExact288,10553
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check291,10646
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact292,10707
+ #define __Pyx_PyBaseString_Check(__Pyx_PyBaseString_Check294,10784
+ #define __Pyx_PyBaseString_CheckExact(__Pyx_PyBaseString_CheckExact295,10870
+ #define PySet_CheckExact(PySet_CheckExact298,11003
+#define __Pyx_TypeCheck(__Pyx_TypeCheck300,11079
+#define __Pyx_PyException_Check(__Pyx_PyException_Check301,11160
+ #define PyIntObject PyIntObject303,11261
+ #define PyInt_Type PyInt_Type304,11313
+ #define PyInt_Check(PyInt_Check305,11364
+ #define PyInt_CheckExact(PyInt_CheckExact306,11420
+ #define PyInt_FromString PyInt_FromString307,11481
+ #define PyInt_FromUnicode PyInt_FromUnicode308,11538
+ #define PyInt_FromLong PyInt_FromLong309,11596
+ #define PyInt_FromSize_t PyInt_FromSize_t310,11651
+ #define PyInt_FromSsize_t PyInt_FromSsize_t311,11708
+ #define PyInt_AsLong PyInt_AsLong312,11766
+ #define PyInt_AS_LONG PyInt_AS_LONG313,11819
+ #define PyInt_AsSsize_t PyInt_AsSsize_t314,11873
+ #define PyInt_AsUnsignedLongMask PyInt_AsUnsignedLongMask315,11929
+ #define PyInt_AsUnsignedLongLongMask PyInt_AsUnsignedLongLongMask316,11994
+ #define PyNumber_Int PyNumber_Int317,12063
+ #define PyBoolObject PyBoolObject320,12149
+ #define PyUnicode_InternFromString(PyUnicode_InternFromString324,12299
+ typedef long Py_hash_t;Py_hash_t328,12413
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t329,12439
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t330,12487
+ #define __Pyx_PyInt_FromHash_t __Pyx_PyInt_FromHash_t332,12539
+ #define __Pyx_PyInt_AsHash_t __Pyx_PyInt_AsHash_t333,12590
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New336,12672
+ #define __Pyx_PyMethod_New(__Pyx_PyMethod_New338,12791
+ #define __Pyx_PyAsyncMethodsStruct __Pyx_PyAsyncMethodsStruct342,12940
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync343,12994
+ unaryfunc am_await;am_await346,13089
+ unaryfunc am_aiter;am_aiter347,13117
+ unaryfunc am_anext;am_anext348,13145
+ } __Pyx_PyAsyncMethodsStruct;__Pyx_PyAsyncMethodsStruct349,13173
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync350,13207
+ #define __Pyx_PyType_AsAsync(__Pyx_PyType_AsAsync353,13320
+ #define CYTHON_RESTRICT CYTHON_RESTRICT357,13416
+ #define CYTHON_RESTRICT CYTHON_RESTRICT359,13503
+ #define CYTHON_RESTRICT CYTHON_RESTRICT361,13608
+ #define CYTHON_RESTRICTCYTHON_RESTRICT363,13653
+# define CYTHON_UNUSED CYTHON_UNUSED369,13833
+# define CYTHON_UNUSEDCYTHON_UNUSED371,13898
+# define CYTHON_UNUSED CYTHON_UNUSED374,14010
+# define CYTHON_UNUSEDCYTHON_UNUSED376,14071
+ template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }CYTHON_MAYBE_UNUSED_VAR381,14170
+# define CYTHON_MAYBE_UNUSED_VAR(CYTHON_MAYBE_UNUSED_VAR383,14246
+# define CYTHON_NCP_UNUSEDCYTHON_NCP_UNUSED388,14370
+# define CYTHON_NCP_UNUSED CYTHON_NCP_UNUSED390,14405
+#define __Pyx_void_to_None(__Pyx_void_to_None393,14462
+ #define CYTHON_INLINE CYTHON_INLINE400,14720
+ #define CYTHON_INLINE CYTHON_INLINE402,14794
+void __Pyx_call_destructor(T& x) {__Pyx_call_destructor406,14864
+class __Pyx_FakeReference {__Pyx_FakeReference410,14934
+ __Pyx_FakeReference() : ptr(NULL) { }__Pyx_FakeReference412,14972
+ __Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }__Pyx_FakeReference413,15014
+ T *operator->() { return ptr; }operator ->414,15084
+ T *operator&() { return ptr; }operator &415,15120
+ operator T&() { return *ptr; }operator T&416,15155
+ template<typename U> bool operator ==(U other) { return *ptr == other; }operator ==417,15190
+ template<typename U> bool operator !=(U other) { return *ptr != other; }operator !=418,15267
+ T *ptr;ptr420,15355
+ #define _USE_MATH_DEFINES_USE_MATH_DEFINES424,15413
+#define __PYX_NAN(__PYX_NAN428,15477
+static CYTHON_INLINE float __PYX_NAN() {__PYX_NAN430,15517
+#define __Pyx_truncl __Pyx_truncl437,15686
+#define __Pyx_truncl __Pyx_truncl439,15719
+#define __PYX_ERR(__PYX_ERR443,15756
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide449,15939
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide450,16009
+ #define __Pyx_PyNumber_Divide(__Pyx_PyNumber_Divide452,16092
+ #define __Pyx_PyNumber_InPlaceDivide(__Pyx_PyNumber_InPlaceDivide453,16158
+ #define __PYX_EXTERN_C __PYX_EXTERN_C458,16283
+ #define __PYX_EXTERN_C __PYX_EXTERN_C460,16329
+#define __PYX_HAVE__pyisda__credit_index__PYX_HAVE__pyisda__credit_index464,16380
+#define __PYX_HAVE_API__pyisda__credit_index__PYX_HAVE_API__pyisda__credit_index465,16421
+#define CYTHON_WITHOUT_ASSERTIONSCYTHON_WITHOUT_ASSERTIONS504,17336
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;p507,17378
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;s507,17378
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;n507,17378
+typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;encoding507,17378
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_unicode508,17465
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;is_str508,17465
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;intern508,17465
+ const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;__Pyx_StringTabEntry508,17465
+#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII __PYX_DEFAULT_STRING_ENCODING_IS_ASCII510,17567
+#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT511,17616
+#define __PYX_DEFAULT_STRING_ENCODING __PYX_DEFAULT_STRING_ENCODING512,17667
+#define __Pyx_PyObject_FromString __Pyx_PyObject_FromString513,17708
+#define __Pyx_PyObject_FromStringAndSize __Pyx_PyObject_FromStringAndSize514,17767
+#define __Pyx_uchar_cast(__Pyx_uchar_cast515,17840
+#define __Pyx_long_cast(__Pyx_long_cast516,17887
+#define __Pyx_fits_Py_ssize_t(__Pyx_fits_Py_ssize_t517,17924
+ #define __Pyx_sst_abs(__Pyx_sst_abs529,18530
+ #define __Pyx_sst_abs(__Pyx_sst_abs531,18613
+ #define __Pyx_sst_abs(__Pyx_sst_abs533,18692
+ #define __Pyx_sst_abs(__Pyx_sst_abs535,18782
+ #define __Pyx_sst_abs(__Pyx_sst_abs537,18893
+ #define __Pyx_sst_abs(__Pyx_sst_abs539,18964
+ #define __Pyx_sst_abs(__Pyx_sst_abs541,19026
+#define __Pyx_PyByteArray_FromString(__Pyx_PyByteArray_FromString545,19248
+#define __Pyx_PyByteArray_FromStringAndSize(__Pyx_PyByteArray_FromStringAndSize546,19358
+#define __Pyx_PyBytes_FromString __Pyx_PyBytes_FromString547,19457
+#define __Pyx_PyBytes_FromStringAndSize __Pyx_PyBytes_FromStringAndSize548,19516
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString551,19679
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize552,19746
+ #define __Pyx_PyStr_FromString __Pyx_PyStr_FromString554,19826
+ #define __Pyx_PyStr_FromStringAndSize __Pyx_PyStr_FromStringAndSize555,19895
+#define __Pyx_PyObject_AsSString(__Pyx_PyObject_AsSString557,19978
+#define __Pyx_PyObject_AsUString(__Pyx_PyObject_AsUString558,20061
+#define __Pyx_PyObject_FromCString(__Pyx_PyObject_FromCString559,20146
+#define __Pyx_PyBytes_FromCString(__Pyx_PyBytes_FromCString560,20227
+#define __Pyx_PyByteArray_FromCString(__Pyx_PyByteArray_FromCString561,20307
+#define __Pyx_PyStr_FromCString(__Pyx_PyStr_FromCString562,20395
+#define __Pyx_PyUnicode_FromCString(__Pyx_PyUnicode_FromCString563,20473
+static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)__Pyx_Py_UNICODE_strlen565,20580
+#define __Pyx_Py_UNICODE_strlen __Pyx_Py_UNICODE_strlen572,20755
+#define __Pyx_PyUnicode_FromUnicode(__Pyx_PyUnicode_FromUnicode574,20812
+#define __Pyx_PyUnicode_FromUnicodeAndLength __Pyx_PyUnicode_FromUnicodeAndLength575,20910
+#define __Pyx_PyUnicode_AsUnicode __Pyx_PyUnicode_AsUnicode576,20977
+#define __Pyx_NewRef(__Pyx_NewRef577,21042
+#define __Pyx_Owned_Py_None(__Pyx_Owned_Py_None578,21090
+#define __Pyx_PyBool_FromLong(__Pyx_PyBool_FromLong579,21143
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble585,21522
+#define __pyx_PyFloat_AsDouble(__pyx_PyFloat_AsDouble587,21631
+#define __pyx_PyFloat_AsFloat(__pyx_PyFloat_AsFloat589,21692
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int591,21787
+#define __Pyx_PyNumber_Int(__Pyx_PyNumber_Int593,21883
+#define __Pyx_PyNumber_Float(__Pyx_PyNumber_Float595,21978
+static int __Pyx_sys_getdefaultencoding_not_ascii;__Pyx_sys_getdefaultencoding_not_ascii597,22139
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params598,22190
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize643,23919
+#define __Pyx_PyUnicode_FromStringAndSize(__Pyx_PyUnicode_FromStringAndSize645,24020
+static char* __PYX_DEFAULT_STRING_ENCODING;__PYX_DEFAULT_STRING_ENCODING647,24187
+static int __Pyx_init_sys_getdefaultencoding_params(void) {__Pyx_init_sys_getdefaultencoding_params648,24231
+ #define likely(likely674,25125
+ #define unlikely(unlikely675,25174
+ #define likely(likely677,25259
+ #define unlikely(unlikely678,25285
+static PyObject *__pyx_m;__pyx_m681,25334
+static PyObject *__pyx_d;__pyx_d682,25360
+static PyObject *__pyx_b;__pyx_b683,25386
+static PyObject *__pyx_empty_tuple;__pyx_empty_tuple684,25412
+static PyObject *__pyx_empty_bytes;__pyx_empty_bytes685,25448
+static PyObject *__pyx_empty_unicode;__pyx_empty_unicode686,25484
+static int __pyx_lineno;__pyx_lineno687,25522
+static int __pyx_clineno = 0;__pyx_clineno688,25547
+static const char * __pyx_cfilenm= __FILE__;__pyx_cfilenm689,25577
+static const char *__pyx_filename;__pyx_filename690,25622
+ #define CYTHON_CCOMPLEX CYTHON_CCOMPLEX695,25734
+ #define CYTHON_CCOMPLEX CYTHON_CCOMPLEX697,25792
+ #define CYTHON_CCOMPLEX CYTHON_CCOMPLEX699,25830
+ #undef _Complex_I_Complex_I710,26075
+ #define _Complex_I _Complex_I711,26095
+static const char *__pyx_f[] = {__pyx_f715,26131
+ struct __pyx_memoryview_obj *memview;memview729,26415
+ char *data;data730,26455
+ Py_ssize_t shape[8];shape731,26469
+ Py_ssize_t strides[8];strides732,26492
+ Py_ssize_t suboffsets[8];suboffsets733,26517
+} __Pyx_memviewslice;__Pyx_memviewslice734,26545
+#define IS_UNSIGNED(IS_UNSIGNED737,26600
+#define __PYX_BUF_FLAGS_PACKED_STRUCT __PYX_BUF_FLAGS_PACKED_STRUCT739,26671
+ const char* name;name741,26735
+ struct __Pyx_StructField_* fields;fields742,26755
+ size_t size;size743,26792
+ size_t arraysize[8];arraysize744,26807
+ int ndim;ndim745,26830
+ char typegroup;typegroup746,26842
+ char is_unsigned;is_unsigned747,26860
+ int flags;flags748,26880
+} __Pyx_TypeInfo;__Pyx_TypeInfo749,26893
+typedef struct __Pyx_StructField_ {__Pyx_StructField_750,26911
+ __Pyx_TypeInfo* type;type751,26947
+ const char* name;name752,26971
+ size_t offset;offset753,26991
+} __Pyx_StructField;__Pyx_StructField754,27008
+ __Pyx_StructField* field;field756,27046
+ size_t parent_offset;parent_offset757,27074
+} __Pyx_BufFmt_StackElem;__Pyx_BufFmt_StackElem758,27098
+ __Pyx_StructField root;root760,27141
+ __Pyx_BufFmt_StackElem* head;head761,27167
+ size_t fmt_offset;fmt_offset762,27199
+ size_t new_count, enc_count;new_count763,27220
+ size_t new_count, enc_count;enc_count763,27220
+ size_t struct_alignment;struct_alignment764,27251
+ int is_complex;is_complex765,27278
+ char enc_type;enc_type766,27296
+ char new_packmode;new_packmode767,27313
+ char enc_packmode;enc_packmode768,27334
+ char is_valid_array;is_valid_array769,27355
+} __Pyx_BufFmt_Context;__Pyx_BufFmt_Context770,27378
+ #define CYTHON_ATOMICS CYTHON_ATOMICS775,27468
+#define __pyx_atomic_int_type __pyx_atomic_int_type777,27504
+ #define __pyx_atomic_incr_aligned(__pyx_atomic_incr_aligned781,27713
+ #define __pyx_atomic_decr_aligned(__pyx_atomic_decr_aligned782,27795
+ #undef __pyx_atomic_int_type__pyx_atomic_int_type788,28028
+ #define __pyx_atomic_int_type __pyx_atomic_int_type789,28061
+ #define __pyx_atomic_incr_aligned(__pyx_atomic_incr_aligned790,28100
+ #define __pyx_atomic_decr_aligned(__pyx_atomic_decr_aligned791,28179
+ #define __pyx_atomic_incr_aligned(__pyx_atomic_incr_aligned796,28422
+ #define __pyx_atomic_decr_aligned(__pyx_atomic_decr_aligned797,28502
+ #undef CYTHON_ATOMICSCYTHON_ATOMICS802,28669
+ #define CYTHON_ATOMICS CYTHON_ATOMICS803,28695
+typedef volatile __pyx_atomic_int_type __pyx_atomic_int;__pyx_atomic_int808,28810
+ #define __pyx_add_acquisition_count(__pyx_add_acquisition_count810,28886
+ #define __pyx_sub_acquisition_count(__pyx_sub_acquisition_count812,29030
+ #define __pyx_add_acquisition_count(__pyx_add_acquisition_count815,29179
+ #define __pyx_sub_acquisition_count(__pyx_sub_acquisition_count817,29331
+typedef long __pyx_t_6pyisda_4date_TDate;__pyx_t_6pyisda_4date_TDate829,29632
+typedef int __pyx_t_6pyisda_4legs_TBoolean;__pyx_t_6pyisda_4legs_TBoolean838,29819
+typedef npy_int8 __pyx_t_5numpy_int8_t;__pyx_t_5numpy_int8_t847,30156
+typedef npy_int16 __pyx_t_5numpy_int16_t;__pyx_t_5numpy_int16_t856,30467
+typedef npy_int32 __pyx_t_5numpy_int32_t;__pyx_t_5numpy_int32_t865,30812
+typedef npy_int64 __pyx_t_5numpy_int64_t;__pyx_t_5numpy_int64_t874,31160
+typedef npy_uint8 __pyx_t_5numpy_uint8_t;__pyx_t_5numpy_uint8_t883,31478
+typedef npy_uint16 __pyx_t_5numpy_uint16_t;__pyx_t_5numpy_uint16_t892,31795
+typedef npy_uint32 __pyx_t_5numpy_uint32_t;__pyx_t_5numpy_uint32_t901,32147
+typedef npy_uint64 __pyx_t_5numpy_uint64_t;__pyx_t_5numpy_uint64_t910,32502
+typedef npy_float32 __pyx_t_5numpy_float32_t;__pyx_t_5numpy_float32_t919,32828
+typedef npy_float64 __pyx_t_5numpy_float64_t;__pyx_t_5numpy_float64_t928,33157
+typedef npy_long __pyx_t_5numpy_int_t;__pyx_t_5numpy_int_t937,33542
+typedef npy_longlong __pyx_t_5numpy_long_t;__pyx_t_5numpy_long_t946,33874
+typedef npy_longlong __pyx_t_5numpy_longlong_t;__pyx_t_5numpy_longlong_t955,34189
+typedef npy_ulong __pyx_t_5numpy_uint_t;__pyx_t_5numpy_uint_t964,34515
+typedef npy_ulonglong __pyx_t_5numpy_ulong_t;__pyx_t_5numpy_ulong_t973,34800
+typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;__pyx_t_5numpy_ulonglong_t982,35120
+typedef npy_intp __pyx_t_5numpy_intp_t;__pyx_t_5numpy_intp_t991,35414
+typedef npy_uintp __pyx_t_5numpy_uintp_t;__pyx_t_5numpy_uintp_t1000,35694
+typedef npy_double __pyx_t_5numpy_float_t;__pyx_t_5numpy_float_t1009,36014
+typedef npy_double __pyx_t_5numpy_double_t;__pyx_t_5numpy_double_t1018,36304
+typedef npy_longdouble __pyx_t_5numpy_longdouble_t;__pyx_t_5numpy_longdouble_t1027,36628
+ typedef ::std::complex< float > __pyx_t_float_complex;__pyx_t_float_complex1031,36746
+ typedef float _Complex __pyx_t_float_complex;__pyx_t_float_complex1033,36813
+ typedef struct { float real, imag; } __pyx_t_float_complex;real1036,36878
+ typedef struct { float real, imag; } __pyx_t_float_complex;imag1036,36878
+ typedef struct { float real, imag; } __pyx_t_float_complex;__pyx_t_float_complex1036,36878
+ typedef ::std::complex< double > __pyx_t_double_complex;__pyx_t_double_complex1043,37107
+ typedef double _Complex __pyx_t_double_complex;__pyx_t_double_complex1045,37176
+ typedef struct { double real, imag; } __pyx_t_double_complex;real1048,37243
+ typedef struct { double real, imag; } __pyx_t_double_complex;imag1048,37243
+ typedef struct { double real, imag; } __pyx_t_double_complex;__pyx_t_double_complex1048,37243
+enum __pyx_t_6pyisda_4date_DCC {__pyx_t_6pyisda_4date_DCC1074,38142
+ __pyx_e_6pyisda_4date_ACT_365 = 1L,__pyx_e_6pyisda_4date_ACT_3651075,38175
+ __pyx_e_6pyisda_4date_ACT_365F = 2L,__pyx_e_6pyisda_4date_ACT_365F1076,38213
+ __pyx_e_6pyisda_4date_ACT_360 = 3L__pyx_e_6pyisda_4date_ACT_3601077,38252
+enum __pyx_t_6pyisda_5curve_Basis {__pyx_t_6pyisda_5curve_Basis1087,38568
+ __pyx_e_6pyisda_5curve_CONTINUOUS = 0x1388,__pyx_e_6pyisda_5curve_CONTINUOUS1088,38604
+ __pyx_e_6pyisda_5curve_DISCOUNT_RATE = 0x200,__pyx_e_6pyisda_5curve_DISCOUNT_RATE1089,38650
+ __pyx_e_6pyisda_5curve_SIMPLE_BASIS = 0,__pyx_e_6pyisda_5curve_SIMPLE_BASIS1090,38698
+ __pyx_e_6pyisda_5curve_ANNUAL_BASIS = 1,__pyx_e_6pyisda_5curve_ANNUAL_BASIS1091,38741
+ __pyx_e_6pyisda_5curve_DISCOUNT_FACTOR = -2L__pyx_e_6pyisda_5curve_DISCOUNT_FACTOR1092,38784
+typedef npy_cfloat __pyx_t_5numpy_cfloat_t;__pyx_t_5numpy_cfloat_t1102,39123
+typedef npy_cdouble __pyx_t_5numpy_cdouble_t;__pyx_t_5numpy_cdouble_t1111,39420
+typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;__pyx_t_5numpy_clongdouble_t1120,39753
+typedef npy_cdouble __pyx_t_5numpy_complex_t;__pyx_t_5numpy_complex_t1129,40071
+struct __pyx_obj_6pyisda_5curve_Curve {__pyx_obj_6pyisda_5curve_Curve1138,40267
+ std::shared_ptr<TCurve> _thisptr;_thisptr1140,40323
+struct __pyx_obj_6pyisda_5curve_YieldCurve {__pyx_obj_6pyisda_5curve_YieldCurve1151,40547
+ struct __pyx_obj_6pyisda_5curve_Curve __pyx_base;__pyx_base1152,40592
+ TDate *_dates;_dates1153,40644
+ size_t _ninstr;_ninstr1154,40661
+struct __pyx_obj_6pyisda_5curve_SpreadCurve {__pyx_obj_6pyisda_5curve_SpreadCurve1165,40817
+ struct __pyx_obj_6pyisda_5curve_Curve __pyx_base;__pyx_base1166,40863
+struct __pyx_obj_6pyisda_4legs_ContingentLeg {__pyx_obj_6pyisda_4legs_ContingentLeg1177,41082
+ TContingentLeg *_thisptr;_thisptr1179,41145
+struct __pyx_obj_6pyisda_4legs_FeeLeg {__pyx_obj_6pyisda_4legs_FeeLeg1189,41289
+ TFeeLeg *_thisptr;_thisptr1191,41345
+struct __pyx_obj_6pyisda_12credit_index_CurveList {__pyx_obj_6pyisda_12credit_index_CurveList1202,41577
+ __pyx_t_6pyisda_4date_TDate _base_date;_base_date1204,41645
+ std::vector<std::shared_ptr<TCurve> > _curves;_curves1205,41687
+ std::vector<double> _weights;_weights1206,41737
+ std::vector<double> _T;_T1207,41770
+ PyObject *_tickers;_tickers1208,41797
+ PyObject *_tickersdict;_tickersdict1209,41819
+struct __pyx_obj_6pyisda_12credit_index_CreditIndex {__pyx_obj_6pyisda_12credit_index_CreditIndex1220,42049
+ struct __pyx_obj_6pyisda_12credit_index_CurveList __pyx_base;__pyx_base1221,42103
+ PyObject *_start_date;_start_date1222,42167
+ std::vector<__pyx_t_6pyisda_4date_TDate> _maturities;_maturities1223,42192
+ TContingentLeg **_contingent_legs;_contingent_legs1224,42249
+ TFeeLeg **_fee_legs;_fee_legs1225,42286
+struct __pyx_obj_6pyisda_12credit_index___pyx_scope_struct__items {__pyx_obj_6pyisda_12credit_index___pyx_scope_struct__items1236,42541
+ size_t __pyx_v_i;__pyx_v_i1238,42625
+ std::vector<std::shared_ptr<TCurve> > ::iterator __pyx_v_it;__pyx_v_it1239,42645
+ struct __pyx_obj_6pyisda_5curve_SpreadCurve *__pyx_v_sc;__pyx_v_sc1240,42708
+ struct __pyx_obj_6pyisda_12credit_index_CurveList *__pyx_v_self;__pyx_v_self1241,42767
+struct __pyx_array_obj {__pyx_array_obj1252,42964
+ struct __pyx_vtabstruct_array *__pyx_vtab;__pyx_vtab1254,43005
+ char *data;data1255,43050
+ Py_ssize_t len;len1256,43064
+ char *format;format1257,43082
+ int ndim;ndim1258,43098
+ Py_ssize_t *_shape;_shape1259,43110
+ Py_ssize_t *_strides;_strides1260,43132
+ Py_ssize_t itemsize;itemsize1261,43156
+ PyObject *mode;mode1262,43179
+ PyObject *_format;_format1263,43197
+ void (*callback_free_data)(void *);callback_free_data1264,43218
+ int free_data;free_data1265,43256
+ int dtype_is_object;dtype_is_object1266,43273
+struct __pyx_MemviewEnum_obj {__pyx_MemviewEnum_obj1277,43479
+ PyObject *name;name1279,43526
+struct __pyx_memoryview_obj {__pyx_memoryview_obj1290,43702
+ struct __pyx_vtabstruct_memoryview *__pyx_vtab;__pyx_vtab1292,43748
+ PyObject *obj;obj1293,43798
+ PyObject *_size;_size1294,43815
+ PyObject *_array_interface;_array_interface1295,43834
+ PyThread_type_lock lock;lock1296,43864
+ __pyx_atomic_int acquisition_count[2];acquisition_count1297,43891
+ __pyx_atomic_int *acquisition_count_aligned_p;acquisition_count_aligned_p1298,43932
+ Py_buffer view;view1299,43981
+ int flags;flags1300,43999
+ int dtype_is_object;dtype_is_object1301,44012
+ __Pyx_TypeInfo *typeinfo;typeinfo1302,44035
+struct __pyx_memoryviewslice_obj {__pyx_memoryviewslice_obj1313,44277
+ struct __pyx_memoryview_obj __pyx_base;__pyx_base1314,44312
+ __Pyx_memviewslice from_slice;from_slice1315,44354
+ PyObject *from_object;from_object1316,44387
+ PyObject *(*to_object_func)(char *);to_object_func1317,44412
+ int (*to_dtype_func)(char *, PyObject *);to_dtype_func1318,44451
+struct __pyx_vtabstruct_array {__pyx_vtabstruct_array1331,44627
+ PyObject *(*get_memview)(struct __pyx_array_obj *);get_memview1332,44659
+static struct __pyx_vtabstruct_array *__pyx_vtabptr_array;__pyx_vtabptr_array1334,44716
+struct __pyx_vtabstruct_memoryview {__pyx_vtabstruct_memoryview1345,44931
+ char *(*get_item_pointer)(struct __pyx_memoryview_obj *, PyObject *);get_item_pointer1346,44968
+ PyObject *(*is_slice)(struct __pyx_memoryview_obj *, PyObject *);is_slice1347,45040
+ PyObject *(*setitem_slice_assignment)(struct __pyx_memoryview_obj *, PyObject *, PyObject *);setitem_slice_assignment1348,45108
+ PyObject *(*setitem_slice_assign_scalar)(struct __pyx_memoryview_obj *, struct __pyx_memoryview_obj *, PyObject *);setitem_slice_assign_scalar1349,45204
+ PyObject *(*setitem_indexed)(struct __pyx_memoryview_obj *, PyObject *, PyObject *);setitem_indexed1350,45322
+ PyObject *(*convert_item_to_object)(struct __pyx_memoryview_obj *, char *);convert_item_to_object1351,45409
+ PyObject *(*assign_item_from_object)(struct __pyx_memoryview_obj *, char *, PyObject *);assign_item_from_object1352,45487
+static struct __pyx_vtabstruct_memoryview *__pyx_vtabptr_memoryview;__pyx_vtabptr_memoryview1354,45581
+struct __pyx_vtabstruct__memoryviewslice {__pyx_vtabstruct__memoryviewslice1365,45862
+ struct __pyx_vtabstruct_memoryview __pyx_base;__pyx_base1366,45905
+static struct __pyx_vtabstruct__memoryviewslice *__pyx_vtabptr__memoryviewslice;__pyx_vtabptr__memoryviewslice1368,45957
+ #define CYTHON_REFNANNY CYTHON_REFNANNY1373,46126
+ void (*INCREF)(void*, PyObject*, int);INCREF1377,46200
+ void (*DECREF)(void*, PyObject*, int);DECREF1378,46243
+ void (*GOTREF)(void*, PyObject*, int);GOTREF1379,46286
+ void (*GIVEREF)(void*, PyObject*, int);GIVEREF1380,46329
+ void* (*SetupContext)(const char*, int, const char*);SetupContext1381,46373
+ void (*FinishContext)(void**);FinishContext1382,46431
+ } __Pyx_RefNannyAPIStruct;__Pyx_RefNannyAPIStruct1383,46466
+ static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;__Pyx_RefNanny1384,46495
+ #define __Pyx_RefNannyDeclarations __Pyx_RefNannyDeclarations1386,46632
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext1388,46717
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext1397,47153
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext1400,47301
+ #define __Pyx_INCREF(__Pyx_INCREF1402,47399
+ #define __Pyx_DECREF(__Pyx_DECREF1403,47492
+ #define __Pyx_GOTREF(__Pyx_GOTREF1404,47585
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF1405,47678
+ #define __Pyx_XINCREF(__Pyx_XINCREF1406,47772
+ #define __Pyx_XDECREF(__Pyx_XDECREF1407,47851
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF1408,47930
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF1409,48009
+ #define __Pyx_RefNannyDeclarations__Pyx_RefNannyDeclarations1411,48094
+ #define __Pyx_RefNannySetupContext(__Pyx_RefNannySetupContext1412,48131
+ #define __Pyx_RefNannyFinishContext(__Pyx_RefNannyFinishContext1413,48187
+ #define __Pyx_INCREF(__Pyx_INCREF1414,48227
+ #define __Pyx_DECREF(__Pyx_DECREF1415,48266
+ #define __Pyx_GOTREF(__Pyx_GOTREF1416,48305
+ #define __Pyx_GIVEREF(__Pyx_GIVEREF1417,48331
+ #define __Pyx_XINCREF(__Pyx_XINCREF1418,48358
+ #define __Pyx_XDECREF(__Pyx_XDECREF1419,48399
+ #define __Pyx_XGOTREF(__Pyx_XGOTREF1420,48440
+ #define __Pyx_XGIVEREF(__Pyx_XGIVEREF1421,48467
+#define __Pyx_XDECREF_SET(__Pyx_XDECREF_SET1423,48502
+#define __Pyx_DECREF_SET(__Pyx_DECREF_SET1427,48633
+#define __Pyx_CLEAR(__Pyx_CLEAR1431,48762
+#define __Pyx_XCLEAR(__Pyx_XCLEAR1432,48866
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {__Pyx_PyObject_GetAttrStr1436,49046
+#define __Pyx_PyObject_GetAttrStr(__Pyx_PyObject_GetAttrStr1447,49443
+#define __Pyx_BUF_MAX_NDIMS __Pyx_BUF_MAX_NDIMS1471,50487
+#define __Pyx_MEMVIEW_DIRECT __Pyx_MEMVIEW_DIRECT1472,50533
+#define __Pyx_MEMVIEW_PTR __Pyx_MEMVIEW_PTR1473,50566
+#define __Pyx_MEMVIEW_FULL __Pyx_MEMVIEW_FULL1474,50599
+#define __Pyx_MEMVIEW_CONTIG __Pyx_MEMVIEW_CONTIG1475,50632
+#define __Pyx_MEMVIEW_STRIDED __Pyx_MEMVIEW_STRIDED1476,50665
+#define __Pyx_MEMVIEW_FOLLOW __Pyx_MEMVIEW_FOLLOW1477,50699
+#define __Pyx_IS_C_CONTIG __Pyx_IS_C_CONTIG1478,50733
+#define __Pyx_IS_F_CONTIG __Pyx_IS_F_CONTIG1479,50761
+#define __pyx_get_slice_count_pointer(__pyx_get_slice_count_pointer1489,51258
+#define __pyx_get_slice_count(__pyx_get_slice_count1490,51344
+#define __PYX_INC_MEMVIEW(__PYX_INC_MEMVIEW1491,51425
+#define __PYX_XDEC_MEMVIEW(__PYX_XDEC_MEMVIEW1492,51513
+#define __Pyx_GetItemInt(__Pyx_GetItemInt1501,51956
+#define __Pyx_GetItemInt_List(__Pyx_GetItemInt_List1506,52340
+#define __Pyx_GetItemInt_Tuple(__Pyx_GetItemInt_Tuple1512,52833
+#define __Pyx_PyObject_Call(__Pyx_PyObject_Call1529,53855
+#define __Pyx_PyThreadState_declare __Pyx_PyThreadState_declare1534,53993
+#define __Pyx_PyThreadState_assign __Pyx_PyThreadState_assign1535,54059
+#define __Pyx_PyThreadState_declare__Pyx_PyThreadState_declare1537,54137
+#define __Pyx_PyThreadState_assign__Pyx_PyThreadState_assign1538,54173
+#define __Pyx_ErrRestoreWithState(__Pyx_ErrRestoreWithState1543,54275
+#define __Pyx_ErrFetchWithState(__Pyx_ErrFetchWithState1544,54389
+#define __Pyx_ErrRestore(__Pyx_ErrRestore1545,54501
+#define __Pyx_ErrFetch(__Pyx_ErrFetch1546,54599
+#define __Pyx_ErrRestoreWithState(__Pyx_ErrRestoreWithState1550,54944
+#define __Pyx_ErrFetchWithState(__Pyx_ErrFetchWithState1551,55027
+#define __Pyx_ErrRestore(__Pyx_ErrRestore1552,55106
+#define __Pyx_ErrFetch(__Pyx_ErrFetch1553,55180
+static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {__Pyx_PyList_Append1573,55879
+#define __Pyx_PyList_Append(__Pyx_PyList_Append1585,56268
+static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) {__Pyx_PySequence_ContainsTF1596,56595
+#define __Pyx_tp_new(__Pyx_tp_new1602,56830
+static CYTHON_INLINE PyObject* __Pyx_tp_new_kwargs(PyObject* type_obj, PyObject* args, PyObject* kwargs) {__Pyx_tp_new_kwargs1603,56909
+static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {__Pyx_PyDict_GetItem1609,57197
+ #define __Pyx_PyDict_GetItem(__Pyx_PyDict_GetItem1625,57643
+#define __Pyx_PyCFunction_FastCall(__Pyx_PyCFunction_FastCall1632,57889
+#define __Pyx_PyFunction_FastCall(__Pyx_PyFunction_FastCall1637,58024
+#define __Pyx_PyFunction_FastCallDict(__Pyx_PyFunction_FastCallDict1642,58296
+#define __Pyx_BufPtrStrided2d(__Pyx_BufPtrStrided2d1657,58755
+#define __Pyx_ExceptionSave(__Pyx_ExceptionSave1666,59115
+#define __Pyx_ExceptionReset(__Pyx_ExceptionReset1668,59334
+#define __Pyx_ExceptionSave(__Pyx_ExceptionSave1671,59559
+#define __Pyx_ExceptionReset(__Pyx_ExceptionReset1672,59640
+#define __Pyx_PyErr_ExceptionMatches(__Pyx_PyErr_ExceptionMatches1677,59792
+#define __Pyx_PyErr_ExceptionMatches(__Pyx_PyErr_ExceptionMatches1680,59995
+#define __Pyx_GetException(__Pyx_GetException1685,60128
+#define __Pyx_PyString_Equals __Pyx_PyString_Equals1699,60700
+#define __Pyx_PyString_Equals __Pyx_PyString_Equals1701,60759
+#define UNARY_NEG_WOULD_OVERFLOW(UNARY_NEG_WOULD_OVERFLOW1708,60944
+#define __Pyx_ExceptionSwap(__Pyx_ExceptionSwap1724,61686
+static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {__Pyx_ListComp_Append1736,62334
+#define __Pyx_ListComp_Append(__Pyx_ListComp_Append1748,62689
+#define __Pyx_PyInt_AddObjC(__Pyx_PyInt_AddObjC1755,62904
+static CYTHON_INLINE int __Pyx_PyList_Extend(PyObject* L, PyObject* v) {__Pyx_PyList_Extend1760,63062
+ #define __PYX_FORCE_INIT_THREADS __PYX_FORCE_INIT_THREADS1777,63543
+ PyCodeObject* code_object;code_object1793,64023
+ int code_line;code_line1794,64054
+} __Pyx_CodeObjectCacheEntry;__Pyx_CodeObjectCacheEntry1795,64073
+struct __Pyx_CodeObjectCache {__Pyx_CodeObjectCache1796,64103
+ int count;count1797,64134
+ int max_count;max_count1798,64149
+ __Pyx_CodeObjectCacheEntry* entries;entries1799,64168
+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};__pyx_code_cache1801,64212
+ #define __Pyx_GetBuffer __Pyx_GetBuffer1817,64872
+ #define __Pyx_ReleaseBuffer __Pyx_ReleaseBuffer1818,64919
+ Py_ssize_t shape, strides, suboffsets;shape1824,65026
+ Py_ssize_t shape, strides, suboffsets;strides1824,65026
+ Py_ssize_t shape, strides, suboffsets;suboffsets1824,65026
+} __Pyx_Buf_DimInfo;__Pyx_Buf_DimInfo1825,65067
+ size_t refcount;refcount1827,65105
+ Py_buffer pybuffer;pybuffer1828,65124
+} __Pyx_Buffer;__Pyx_Buffer1829,65146
+ __Pyx_Buffer *rcbuffer;rcbuffer1831,65179
+ char *data;data1832,65205
+ __Pyx_Buf_DimInfo diminfo[8];diminfo1833,65219
+} __Pyx_LocalBuf_ND;__Pyx_LocalBuf_ND1834,65251
+static Py_ssize_t __Pyx_zeros[] = {0, 0, 0, 0, 0, 0, 0, 0};__Pyx_zeros1837,65290
+static Py_ssize_t __Pyx_minusones[] = {-1, -1, -1, -1, -1, -1, -1, -1};__Pyx_minusones1838,65350
+static void __Pyx_CppExn2PyErr() {__Pyx_CppExn2PyErr1878,66740
+ #define __Pyx_CREAL(__Pyx_CREAL1924,68395
+ #define __Pyx_CIMAG(__Pyx_CIMAG1925,68435
+ #define __Pyx_CREAL(__Pyx_CREAL1927,68483
+ #define __Pyx_CIMAG(__Pyx_CIMAG1928,68524
+ #define __Pyx_CREAL(__Pyx_CREAL1931,68580
+ #define __Pyx_CIMAG(__Pyx_CIMAG1932,68618
+ #define __Pyx_SET_CREAL(__Pyx_SET_CREAL1936,68867
+ #define __Pyx_SET_CIMAG(__Pyx_SET_CIMAG1937,68914
+ #define __Pyx_SET_CREAL(__Pyx_SET_CREAL1939,68967
+ #define __Pyx_SET_CIMAG(__Pyx_SET_CIMAG1940,69021
+ #define __Pyx_c_eq_float(__Pyx_c_eq_float1945,69126
+ #define __Pyx_c_sum_float(__Pyx_c_sum_float1946,69174
+ #define __Pyx_c_diff_float(__Pyx_c_diff_float1947,69221
+ #define __Pyx_c_prod_float(__Pyx_c_prod_float1948,69268
+ #define __Pyx_c_quot_float(__Pyx_c_quot_float1949,69315
+ #define __Pyx_c_neg_float(__Pyx_c_neg_float1950,69362
+ #define __Pyx_c_is_zero_float(__Pyx_c_is_zero_float1952,69427
+ #define __Pyx_c_conj_float(__Pyx_c_conj_float1953,69480
+ #define __Pyx_c_abs_float(__Pyx_c_abs_float1955,69544
+ #define __Pyx_c_pow_float(__Pyx_c_pow_float1956,69601
+ #define __Pyx_c_is_zero_float(__Pyx_c_is_zero_float1959,69680
+ #define __Pyx_c_conj_float(__Pyx_c_conj_float1960,69726
+ #define __Pyx_c_abs_float(__Pyx_c_abs_float1962,69784
+ #define __Pyx_c_pow_float(__Pyx_c_pow_float1963,69836
+ #define __Pyx_c_eq_double(__Pyx_c_eq_double1983,70979
+ #define __Pyx_c_sum_double(__Pyx_c_sum_double1984,71028
+ #define __Pyx_c_diff_double(__Pyx_c_diff_double1985,71076
+ #define __Pyx_c_prod_double(__Pyx_c_prod_double1986,71124
+ #define __Pyx_c_quot_double(__Pyx_c_quot_double1987,71172
+ #define __Pyx_c_neg_double(__Pyx_c_neg_double1988,71220
+ #define __Pyx_c_is_zero_double(__Pyx_c_is_zero_double1990,71286
+ #define __Pyx_c_conj_double(__Pyx_c_conj_double1991,71341
+ #define __Pyx_c_abs_double(__Pyx_c_abs_double1993,71406
+ #define __Pyx_c_pow_double(__Pyx_c_pow_double1994,71464
+ #define __Pyx_c_is_zero_double(__Pyx_c_is_zero_double1997,71544
+ #define __Pyx_c_conj_double(__Pyx_c_conj_double1998,71591
+ #define __Pyx_c_abs_double(__Pyx_c_abs_double2000,71649
+ #define __Pyx_c_pow_double(__Pyx_c_pow_double2001,71701
+typedef PyObject *(*__pyx_coroutine_body_t)(PyObject *, PyObject *);__pyx_coroutine_body_t2048,73848
+ __pyx_coroutine_body_t body;body2051,73952
+ PyObject *closure;closure2052,73985
+ PyObject *exc_type;exc_type2053,74008
+ PyObject *exc_value;exc_value2054,74032
+ PyObject *exc_traceback;exc_traceback2055,74057
+ PyObject *gi_weakreflist;gi_weakreflist2056,74086
+ PyObject *classobj;classobj2057,74116
+ PyObject *yieldfrom;yieldfrom2058,74140
+ PyObject *gi_name;gi_name2059,74165
+ PyObject *gi_qualname;gi_qualname2060,74188
+ PyObject *gi_modulename;gi_modulename2061,74215
+ int resume_label;resume_label2062,74244
+ char is_running;is_running2063,74266
+} __pyx_CoroutineObject;__pyx_CoroutineObject2064,74287
+#define __Pyx_PyGen_FetchStopIterationValue(__Pyx_PyGen_FetchStopIterationValue2072,74660
+#define __Pyx_Generator_USED__Pyx_Generator_USED2082,74969
+static PyTypeObject *__pyx_GeneratorType = 0;__pyx_GeneratorType2083,74998
+#define __Pyx_Generator_CheckExact(__Pyx_Generator_CheckExact2084,75044
+#define __Pyx_Generator_New(__Pyx_Generator_New2085,75122
+ #define __Pyx_PyIdentifier_FromString(__Pyx_PyIdentifier_FromString2096,75561
+ #define __Pyx_PyIdentifier_FromString(__Pyx_PyIdentifier_FromString2098,75633
+static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;__pyx_ptype_7cpython_4type_type2130,77734
+static PyTypeObject *__pyx_ptype_7cpython_4bool_bool = 0;__pyx_ptype_7cpython_4bool_bool2163,78554
+static PyTypeObject *__pyx_ptype_7cpython_7complex_complex = 0;__pyx_ptype_7cpython_7complex_complex2172,78803
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_date = 0;__pyx_ptype_7cpython_8datetime_date2211,79798
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_time = 0;__pyx_ptype_7cpython_8datetime_time2212,79860
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_datetime = 0;__pyx_ptype_7cpython_8datetime_datetime2213,79922
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_timedelta = 0;__pyx_ptype_7cpython_8datetime_timedelta2214,79988
+static PyTypeObject *__pyx_ptype_7cpython_8datetime_tzinfo = 0;__pyx_ptype_7cpython_8datetime_tzinfo2215,80055
+static __pyx_t_6pyisda_4date_TDate (*__pyx_f_6pyisda_4date_pydate_to_TDate)(PyDateTime_Date *); /*proto*/__pyx_f_6pyisda_4date_pydate_to_TDate2218,80165
+static PyDateTime_Date *(*__pyx_f_6pyisda_4date_TDate_to_pydate)(__pyx_t_6pyisda_4date_TDate, int __pyx_skip_dispatch); /*proto*/__pyx_f_6pyisda_4date_TDate_to_pydate2219,80271
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_Curve = 0;__pyx_ptype_6pyisda_5curve_Curve2226,80537
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_YieldCurve = 0;__pyx_ptype_6pyisda_5curve_YieldCurve2227,80596
+static PyTypeObject *__pyx_ptype_6pyisda_5curve_SpreadCurve = 0;__pyx_ptype_6pyisda_5curve_SpreadCurve2228,80660
+static void (*__pyx_f_6pyisda_5curve_tweak_curve)(TCurve *, TCurve *, double, std::vector<double> &, std::vector<double> const &, int *); /*proto*/__pyx_f_6pyisda_5curve_tweak_curve2229,80725
+static PyTypeObject *__pyx_ptype_6pyisda_4legs_ContingentLeg = 0;__pyx_ptype_6pyisda_4legs_ContingentLeg2234,80969
+static PyTypeObject *__pyx_ptype_6pyisda_4legs_FeeLeg = 0;__pyx_ptype_6pyisda_4legs_FeeLeg2235,81035
+static PyTypeObject *__pyx_ptype_5numpy_dtype = 0;__pyx_ptype_5numpy_dtype2246,81307
+static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0;__pyx_ptype_5numpy_flatiter2247,81358
+static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0;__pyx_ptype_5numpy_broadcast2248,81412
+static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0;__pyx_ptype_5numpy_ndarray2249,81467
+static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0;__pyx_ptype_5numpy_ufunc2250,81520
+static PyTypeObject *__pyx_ptype_6pyisda_12credit_index_CurveList = 0;__pyx_ptype_6pyisda_12credit_index_CurveList2255,81806
+static PyTypeObject *__pyx_ptype_6pyisda_12credit_index_CreditIndex = 0;__pyx_ptype_6pyisda_12credit_index_CreditIndex2256,81877
+static PyTypeObject *__pyx_ptype_6pyisda_12credit_index___pyx_scope_struct__items = 0;__pyx_ptype_6pyisda_12credit_index___pyx_scope_struct__items2257,81950
+static PyTypeObject *__pyx_array_type = 0;__pyx_array_type2258,82037
+static PyTypeObject *__pyx_MemviewEnum_type = 0;__pyx_MemviewEnum_type2259,82080
+static PyTypeObject *__pyx_memoryview_type = 0;__pyx_memoryview_type2260,82129
+static PyTypeObject *__pyx_memoryviewslice_type = 0;__pyx_memoryviewslice_type2261,82177
+static PyObject *generic = 0;generic2262,82230
+static PyObject *strided = 0;strided2263,82260
+static PyObject *indirect = 0;indirect2264,82290
+static PyObject *contiguous = 0;contiguous2265,82321
+static PyObject *indirect_contiguous = 0;indirect_contiguous2266,82354
+static int __pyx_memoryview_thread_locks_used;__pyx_memoryview_thread_locks_used2267,82396
+static PyThread_type_lock __pyx_memoryview_thread_locks[8];__pyx_memoryview_thread_locks2268,82443
+static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), { 0 }, 0, 'R', 0, 0 };__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t2302,85829
+static __Pyx_TypeInfo __Pyx_TypeInfo_double = { "double", NULL, sizeof(double), { 0 }, 0, 'R', 0, 0 };__Pyx_TypeInfo_double2303,85974
+#define __Pyx_MODULE_NAME __Pyx_MODULE_NAME2304,86077
+int __pyx_module_is_main_pyisda__credit_index = 0;__pyx_module_is_main_pyisda__credit_index2305,86125
+static PyObject *__pyx_builtin_TypeError;__pyx_builtin_TypeError2308,86223
+static PyObject *__pyx_builtin_range;__pyx_builtin_range2309,86265
+static PyObject *__pyx_builtin_enumerate;__pyx_builtin_enumerate2310,86303
+static PyObject *__pyx_builtin_ValueError;__pyx_builtin_ValueError2311,86345
+static PyObject *__pyx_builtin_KeyError;__pyx_builtin_KeyError2312,86388
+static PyObject *__pyx_builtin_RuntimeError;__pyx_builtin_RuntimeError2313,86429
+static PyObject *__pyx_builtin_ImportError;__pyx_builtin_ImportError2314,86474
+static PyObject *__pyx_builtin_MemoryError;__pyx_builtin_MemoryError2315,86518
+static PyObject *__pyx_builtin_Ellipsis;__pyx_builtin_Ellipsis2316,86562
+static PyObject *__pyx_builtin_id;__pyx_builtin_id2317,86603
+static PyObject *__pyx_builtin_IndexError;__pyx_builtin_IndexError2318,86638
+static const char __pyx_k_O[] = "O";__pyx_k_O2319,86681
+static const char __pyx_k_c[] = "c";__pyx_k_c2320,86718
+static const char __pyx_k_id[] = "id";__pyx_k_id2321,86755
+static const char __pyx_k_pd[] = "pd";__pyx_k_pd2322,86794
+static const char __pyx_k_yc[] = "yc";__pyx_k_yc2323,86833
+static const char __pyx_k_obj[] = "obj";__pyx_k_obj2324,86872
+static const char __pyx_k_args[] = "args";__pyx_k_args2325,86913
+static const char __pyx_k_base[] = "base";__pyx_k_base2326,86956
+static const char __pyx_k_init[] = "__init__";__pyx_k_init2327,86999
+static const char __pyx_k_main[] = "__main__";__pyx_k_main2328,87046
+static const char __pyx_k_mode[] = "mode";__pyx_k_mode2329,87093
+static const char __pyx_k_name[] = "name";__pyx_k_name2330,87136
+static const char __pyx_k_ndim[] = "ndim";__pyx_k_ndim2331,87179
+static const char __pyx_k_pack[] = "pack";__pyx_k_pack2332,87222
+static const char __pyx_k_send[] = "send";__pyx_k_send2333,87265
+static const char __pyx_k_size[] = "size";__pyx_k_size2334,87308
+static const char __pyx_k_step[] = "step";__pyx_k_step2335,87351
+static const char __pyx_k_stop[] = "stop";__pyx_k_stop2336,87394
+static const char __pyx_k_test[] = "__test__";__pyx_k_test2337,87437
+static const char __pyx_k_ASCII[] = "ASCII";__pyx_k_ASCII2338,87484
+static const char __pyx_k_class[] = "__class__";__pyx_k_class2339,87529
+static const char __pyx_k_close[] = "close";__pyx_k_close2340,87578
+static const char __pyx_k_error[] = "error";__pyx_k_error2341,87623
+static const char __pyx_k_flags[] = "flags";__pyx_k_flags2342,87668
+static const char __pyx_k_index[] = "index";__pyx_k_index2343,87713
+static const char __pyx_k_items[] = "items";__pyx_k_items2344,87758
+static const char __pyx_k_range[] = "range";__pyx_k_range2345,87803
+static const char __pyx_k_shape[] = "shape";__pyx_k_shape2346,87848
+static const char __pyx_k_start[] = "start";__pyx_k_start2347,87893
+static const char __pyx_k_throw[] = "throw";__pyx_k_throw2348,87938
+static const char __pyx_k_concat[] = "concat";__pyx_k_concat2349,87983
+static const char __pyx_k_curves[] = "curves";__pyx_k_curves2350,88030
+static const char __pyx_k_encode[] = "encode";__pyx_k_encode2351,88077
+static const char __pyx_k_format[] = "format";__pyx_k_format2352,88124
+static const char __pyx_k_import[] = "__import__";__pyx_k_import2353,88171
+static const char __pyx_k_name_2[] = "__name__";__pyx_k_name_22354,88222
+static const char __pyx_k_pandas[] = "pandas";__pyx_k_pandas2355,88271
+static const char __pyx_k_struct[] = "struct";__pyx_k_struct2356,88318
+static const char __pyx_k_unpack[] = "unpack";__pyx_k_unpack2357,88365
+static const char __pyx_k_columns[] = "columns";__pyx_k_columns2358,88412
+static const char __pyx_k_epsilon[] = "epsilon";__pyx_k_epsilon2359,88461
+static const char __pyx_k_fortran[] = "fortran";__pyx_k_fortran2360,88510
+static const char __pyx_k_memview[] = "memview";__pyx_k_memview2361,88559
+static const char __pyx_k_tickers[] = "tickers";__pyx_k_tickers2362,88608
+static const char __pyx_k_weights[] = "weights";__pyx_k_weights2363,88657
+static const char __pyx_k_Ellipsis[] = "Ellipsis";__pyx_k_Ellipsis2364,88706
+static const char __pyx_k_KeyError[] = "KeyError";__pyx_k_KeyError2365,88757
+static const char __pyx_k_duration[] = "duration";__pyx_k_duration2366,88808
+static const char __pyx_k_itemsize[] = "itemsize";__pyx_k_itemsize2367,88859
+static const char __pyx_k_maturity[] = "maturity";__pyx_k_maturity2368,88910
+static const char __pyx_k_DataFrame[] = "DataFrame";__pyx_k_DataFrame2369,88961
+static const char __pyx_k_TypeError[] = "TypeError";__pyx_k_TypeError2370,89014
+static const char __pyx_k_enumerate[] = "enumerate";__pyx_k_enumerate2371,89067
+static const char __pyx_k_IndexError[] = "IndexError";__pyx_k_IndexError2372,89120
+static const char __pyx_k_ValueError[] = "ValueError";__pyx_k_ValueError2373,89175
+static const char __pyx_k_fixed_rate[] = "fixed_rate";__pyx_k_fixed_rate2374,89230
+static const char __pyx_k_maturities[] = "maturities";__pyx_k_maturities2375,89285
+static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";__pyx_k_pyx_vtable2376,89340
+static const char __pyx_k_start_date[] = "start_date";__pyx_k_start_date2377,89399
+static const char __pyx_k_value_date[] = "value_date";__pyx_k_value_date2378,89454
+static const char __pyx_k_ImportError[] = "ImportError";__pyx_k_ImportError2379,89509
+static const char __pyx_k_MemoryError[] = "MemoryError";__pyx_k_MemoryError2380,89566
+static const char __pyx_k_RuntimeError[] = "RuntimeError";__pyx_k_RuntimeError2381,89623
+static const char __pyx_k_step_in_date[] = "step_in_date";__pyx_k_step_in_date2382,89682
+static const char __pyx_k_DatetimeIndex[] = "DatetimeIndex";__pyx_k_DatetimeIndex2383,89741
+static const char __pyx_k_protection_pv[] = "protection_pv";__pyx_k_protection_pv2384,89802
+static const char __pyx_k_pyx_getbuffer[] = "__pyx_getbuffer";__pyx_k_pyx_getbuffer2385,89863
+static const char __pyx_k_recovery_rate[] = "recovery_rate";__pyx_k_recovery_rate2386,89926
+static const char __pyx_k_CurveList_items[] = "CurveList.items";__pyx_k_CurveList_items2387,89987
+static const char __pyx_k_allocate_buffer[] = "allocate_buffer";__pyx_k_allocate_buffer2388,90052
+static const char __pyx_k_dtype_is_object[] = "dtype_is_object";__pyx_k_dtype_is_object2389,90117
+static const char __pyx_k_can_t_convert_stub[] = "can't convert stub";__pyx_k_can_t_convert_stub2390,90182
+static const char __pyx_k_strided_and_direct[] = "<strided and direct>";__pyx_k_strided_and_direct2391,90253
+static const char __pyx_k_pyisda_credit_index[] = "pyisda.credit_index";__pyx_k_pyisda_credit_index2392,90326
+static const char __pyx_k_strided_and_indirect[] = "<strided and indirect>";__pyx_k_strided_and_indirect2393,90399
+static const char __pyx_k_contiguous_and_direct[] = "<contiguous and direct>";__pyx_k_contiguous_and_direct2394,90476
+static const char __pyx_k_MemoryView_of_r_object[] = "<MemoryView of %r object>";__pyx_k_MemoryView_of_r_object2395,90555
+static const char __pyx_k_l_should_have_elements[] = "l should have {} elements";__pyx_k_l_should_have_elements2396,90637
+static const char __pyx_k_MemoryView_of_r_at_0x_x[] = "<MemoryView of %r at 0x%x>";__pyx_k_MemoryView_of_r_at_0x_x2397,90719
+static const char __pyx_k_contiguous_and_indirect[] = "<contiguous and indirect>";__pyx_k_contiguous_and_indirect2398,90803
+static const char __pyx_k_maturity_is_not_correct[] = "maturity is not correct";__pyx_k_maturity_is_not_correct2399,90886
+static const char __pyx_k_Cannot_index_with_type_s[] = "Cannot index with type '%s'";__pyx_k_Cannot_index_with_type_s2400,90967
+static const char __pyx_k_Invalid_shape_in_axis_d_d[] = "Invalid shape in axis %d: %d.";__pyx_k_Invalid_shape_in_axis_d_d2401,91053
+static const char __pyx_k_itemsize_0_for_cython_array[] = "itemsize <= 0 for cython.array";__pyx_k_itemsize_0_for_cython_array2402,91142
+static const char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous";__pyx_k_ndarray_is_not_C_contiguous2403,91234
+static const char __pyx_k_unable_to_allocate_array_data[] = "unable to allocate array data.";__pyx_k_unable_to_allocate_array_data2404,91323
+static const char __pyx_k_strided_and_direct_or_indirect[] = "<strided and direct or indirect>";__pyx_k_strided_and_direct_or_indirect2405,91417
+static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import";__pyx_k_numpy_core_multiarray_failed_to2406,91514
+static const char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)";__pyx_k_unknown_dtype_code_in_numpy_pxd2407,91618
+static const char __pyx_k_Buffer_view_does_not_expose_stri[] = "Buffer view does not expose strides";__pyx_k_Buffer_view_does_not_expose_stri2408,91720
+static const char __pyx_k_Can_only_create_a_buffer_that_is[] = "Can only create a buffer that is contiguous in memory.";__pyx_k_Can_only_create_a_buffer_that_is2409,91822
+static const char __pyx_k_Empty_shape_tuple_for_cython_arr[] = "Empty shape tuple for cython.array";__pyx_k_Empty_shape_tuple_for_cython_arr2410,91943
+static const char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd";__pyx_k_Format_string_allocated_too_shor2411,92044
+static const char __pyx_k_Indirect_dimensions_not_supporte[] = "Indirect dimensions not supported";__pyx_k_Indirect_dimensions_not_supporte2412,92170
+static const char __pyx_k_Invalid_mode_expected_c_or_fortr[] = "Invalid mode, expected 'c' or 'fortran', got %s";__pyx_k_Invalid_mode_expected_c_or_fortr2413,92270
+static const char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported";__pyx_k_Non_native_byte_order_not_suppor2414,92384
+static const char __pyx_k_Out_of_bounds_on_buffer_access_a[] = "Out of bounds on buffer access (axis %d)";__pyx_k_Out_of_bounds_on_buffer_access_a2415,92486
+static const char __pyx_k_Unable_to_convert_item_to_object[] = "Unable to convert item to object";__pyx_k_Unable_to_convert_item_to_object2416,92593
+static const char __pyx_k_curves_need_to_be_a_list_of_Spre[] = "curves need to be a list of SpreadCurve or a list of tuple (SpreadCurve, ticker)";__pyx_k_curves_need_to_be_a_list_of_Spre2417,92692
+static const char __pyx_k_got_differing_extents_in_dimensi[] = "got differing extents in dimension %d (got %d and %d)";__pyx_k_got_differing_extents_in_dimensi2418,92839
+static const char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous";__pyx_k_ndarray_is_not_Fortran_contiguou2419,92959
+static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import";__pyx_k_numpy_core_umath_failed_to_impor2420,93059
+static const char __pyx_k_tickers_must_have_the_same_lengt[] = "tickers must have the same length as curves";__pyx_k_tickers_must_have_the_same_lengt2421,93159
+static const char __pyx_k_unable_to_allocate_shape_and_str[] = "unable to allocate shape and strides.";__pyx_k_unable_to_allocate_shape_and_str2422,93269
+static const char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short.";__pyx_k_Format_string_allocated_too_shor_22423,93373
+static PyObject *__pyx_n_s_ASCII;__pyx_n_s_ASCII2424,93476
+static PyObject *__pyx_kp_s_Buffer_view_does_not_expose_stri;__pyx_kp_s_Buffer_view_does_not_expose_stri2425,93510
+static PyObject *__pyx_kp_s_Can_only_create_a_buffer_that_is;__pyx_kp_s_Can_only_create_a_buffer_that_is2426,93572
+static PyObject *__pyx_kp_s_Cannot_index_with_type_s;__pyx_kp_s_Cannot_index_with_type_s2427,93634
+static PyObject *__pyx_n_s_CurveList_items;__pyx_n_s_CurveList_items2428,93688
+static PyObject *__pyx_n_s_DataFrame;__pyx_n_s_DataFrame2429,93732
+static PyObject *__pyx_n_s_DatetimeIndex;__pyx_n_s_DatetimeIndex2430,93770
+static PyObject *__pyx_n_s_Ellipsis;__pyx_n_s_Ellipsis2431,93812
+static PyObject *__pyx_kp_s_Empty_shape_tuple_for_cython_arr;__pyx_kp_s_Empty_shape_tuple_for_cython_arr2432,93849
+static PyObject *__pyx_kp_u_Format_string_allocated_too_shor;__pyx_kp_u_Format_string_allocated_too_shor2433,93911
+static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2;__pyx_kp_u_Format_string_allocated_too_shor_22434,93973
+static PyObject *__pyx_n_s_ImportError;__pyx_n_s_ImportError2435,94037
+static PyObject *__pyx_n_s_IndexError;__pyx_n_s_IndexError2436,94077
+static PyObject *__pyx_kp_s_Indirect_dimensions_not_supporte;__pyx_kp_s_Indirect_dimensions_not_supporte2437,94116
+static PyObject *__pyx_kp_s_Invalid_mode_expected_c_or_fortr;__pyx_kp_s_Invalid_mode_expected_c_or_fortr2438,94178
+static PyObject *__pyx_kp_s_Invalid_shape_in_axis_d_d;__pyx_kp_s_Invalid_shape_in_axis_d_d2439,94240
+static PyObject *__pyx_n_s_KeyError;__pyx_n_s_KeyError2440,94295
+static PyObject *__pyx_n_s_MemoryError;__pyx_n_s_MemoryError2441,94332
+static PyObject *__pyx_kp_s_MemoryView_of_r_at_0x_x;__pyx_kp_s_MemoryView_of_r_at_0x_x2442,94372
+static PyObject *__pyx_kp_s_MemoryView_of_r_object;__pyx_kp_s_MemoryView_of_r_object2443,94425
+static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor;__pyx_kp_u_Non_native_byte_order_not_suppor2444,94477
+static PyObject *__pyx_n_b_O;__pyx_n_b_O2445,94539
+static PyObject *__pyx_kp_s_Out_of_bounds_on_buffer_access_a;__pyx_kp_s_Out_of_bounds_on_buffer_access_a2446,94569
+static PyObject *__pyx_n_s_RuntimeError;__pyx_n_s_RuntimeError2447,94631
+static PyObject *__pyx_n_s_TypeError;__pyx_n_s_TypeError2448,94672
+static PyObject *__pyx_kp_s_Unable_to_convert_item_to_object;__pyx_kp_s_Unable_to_convert_item_to_object2449,94710
+static PyObject *__pyx_n_s_ValueError;__pyx_n_s_ValueError2450,94772
+static PyObject *__pyx_n_s_allocate_buffer;__pyx_n_s_allocate_buffer2451,94811
+static PyObject *__pyx_n_s_args;__pyx_n_s_args2452,94855
+static PyObject *__pyx_n_s_base;__pyx_n_s_base2453,94888
+static PyObject *__pyx_n_s_c;__pyx_n_s_c2454,94921
+static PyObject *__pyx_n_u_c;__pyx_n_u_c2455,94951
+static PyObject *__pyx_kp_s_can_t_convert_stub;__pyx_kp_s_can_t_convert_stub2456,94981
+static PyObject *__pyx_n_s_class;__pyx_n_s_class2457,95029
+static PyObject *__pyx_n_s_close;__pyx_n_s_close2458,95063
+static PyObject *__pyx_n_s_columns;__pyx_n_s_columns2459,95097
+static PyObject *__pyx_n_s_concat;__pyx_n_s_concat2460,95133
+static PyObject *__pyx_kp_s_contiguous_and_direct;__pyx_kp_s_contiguous_and_direct2461,95168
+static PyObject *__pyx_kp_s_contiguous_and_indirect;__pyx_kp_s_contiguous_and_indirect2462,95219
+static PyObject *__pyx_n_s_curves;__pyx_n_s_curves2463,95272
+static PyObject *__pyx_kp_s_curves_need_to_be_a_list_of_Spre;__pyx_kp_s_curves_need_to_be_a_list_of_Spre2464,95307
+static PyObject *__pyx_n_s_dtype_is_object;__pyx_n_s_dtype_is_object2465,95369
+static PyObject *__pyx_n_s_duration;__pyx_n_s_duration2466,95413
+static PyObject *__pyx_n_s_encode;__pyx_n_s_encode2467,95450
+static PyObject *__pyx_n_s_enumerate;__pyx_n_s_enumerate2468,95485
+static PyObject *__pyx_n_s_epsilon;__pyx_n_s_epsilon2469,95523
+static PyObject *__pyx_n_s_error;__pyx_n_s_error2470,95559
+static PyObject *__pyx_n_s_fixed_rate;__pyx_n_s_fixed_rate2471,95593
+static PyObject *__pyx_n_s_flags;__pyx_n_s_flags2472,95632
+static PyObject *__pyx_n_s_format;__pyx_n_s_format2473,95666
+static PyObject *__pyx_n_s_fortran;__pyx_n_s_fortran2474,95701
+static PyObject *__pyx_n_u_fortran;__pyx_n_u_fortran2475,95737
+static PyObject *__pyx_kp_s_got_differing_extents_in_dimensi;__pyx_kp_s_got_differing_extents_in_dimensi2476,95773
+static PyObject *__pyx_n_s_id;__pyx_n_s_id2477,95835
+static PyObject *__pyx_n_s_import;__pyx_n_s_import2478,95866
+static PyObject *__pyx_n_s_index;__pyx_n_s_index2479,95901
+static PyObject *__pyx_n_s_init;__pyx_n_s_init2480,95935
+static PyObject *__pyx_n_s_items;__pyx_n_s_items2481,95968
+static PyObject *__pyx_n_s_itemsize;__pyx_n_s_itemsize2482,96002
+static PyObject *__pyx_kp_s_itemsize_0_for_cython_array;__pyx_kp_s_itemsize_0_for_cython_array2483,96039
+static PyObject *__pyx_kp_s_l_should_have_elements;__pyx_kp_s_l_should_have_elements2484,96096
+static PyObject *__pyx_n_s_main;__pyx_n_s_main2485,96148
+static PyObject *__pyx_n_s_maturities;__pyx_n_s_maturities2486,96181
+static PyObject *__pyx_n_s_maturity;__pyx_n_s_maturity2487,96220
+static PyObject *__pyx_kp_s_maturity_is_not_correct;__pyx_kp_s_maturity_is_not_correct2488,96257
+static PyObject *__pyx_n_s_memview;__pyx_n_s_memview2489,96310
+static PyObject *__pyx_n_s_mode;__pyx_n_s_mode2490,96346
+static PyObject *__pyx_n_s_name;__pyx_n_s_name2491,96379
+static PyObject *__pyx_n_s_name_2;__pyx_n_s_name_22492,96412
+static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous;__pyx_kp_u_ndarray_is_not_C_contiguous2493,96447
+static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou;__pyx_kp_u_ndarray_is_not_Fortran_contiguou2494,96504
+static PyObject *__pyx_n_s_ndim;__pyx_n_s_ndim2495,96566
+static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to;__pyx_kp_s_numpy_core_multiarray_failed_to2496,96599
+static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor;__pyx_kp_s_numpy_core_umath_failed_to_impor2497,96660
+static PyObject *__pyx_n_s_obj;__pyx_n_s_obj2498,96722
+static PyObject *__pyx_n_s_pack;__pyx_n_s_pack2499,96754
+static PyObject *__pyx_n_s_pandas;__pyx_n_s_pandas2500,96787
+static PyObject *__pyx_n_s_pd;__pyx_n_s_pd2501,96822
+static PyObject *__pyx_n_s_protection_pv;__pyx_n_s_protection_pv2502,96853
+static PyObject *__pyx_n_s_pyisda_credit_index;__pyx_n_s_pyisda_credit_index2503,96895
+static PyObject *__pyx_n_s_pyx_getbuffer;__pyx_n_s_pyx_getbuffer2504,96943
+static PyObject *__pyx_n_s_pyx_vtable;__pyx_n_s_pyx_vtable2505,96985
+static PyObject *__pyx_n_s_range;__pyx_n_s_range2506,97024
+static PyObject *__pyx_n_s_recovery_rate;__pyx_n_s_recovery_rate2507,97058
+static PyObject *__pyx_n_s_send;__pyx_n_s_send2508,97100
+static PyObject *__pyx_n_s_shape;__pyx_n_s_shape2509,97133
+static PyObject *__pyx_n_s_size;__pyx_n_s_size2510,97167
+static PyObject *__pyx_n_s_start;__pyx_n_s_start2511,97200
+static PyObject *__pyx_n_s_start_date;__pyx_n_s_start_date2512,97234
+static PyObject *__pyx_n_s_step;__pyx_n_s_step2513,97273
+static PyObject *__pyx_n_s_step_in_date;__pyx_n_s_step_in_date2514,97306
+static PyObject *__pyx_n_s_stop;__pyx_n_s_stop2515,97347
+static PyObject *__pyx_kp_s_strided_and_direct;__pyx_kp_s_strided_and_direct2516,97380
+static PyObject *__pyx_kp_s_strided_and_direct_or_indirect;__pyx_kp_s_strided_and_direct_or_indirect2517,97428
+static PyObject *__pyx_kp_s_strided_and_indirect;__pyx_kp_s_strided_and_indirect2518,97488
+static PyObject *__pyx_n_s_struct;__pyx_n_s_struct2519,97538
+static PyObject *__pyx_n_s_test;__pyx_n_s_test2520,97573
+static PyObject *__pyx_n_s_throw;__pyx_n_s_throw2521,97606
+static PyObject *__pyx_n_s_tickers;__pyx_n_s_tickers2522,97640
+static PyObject *__pyx_kp_s_tickers_must_have_the_same_lengt;__pyx_kp_s_tickers_must_have_the_same_lengt2523,97676
+static PyObject *__pyx_kp_s_unable_to_allocate_array_data;__pyx_kp_s_unable_to_allocate_array_data2524,97738
+static PyObject *__pyx_kp_s_unable_to_allocate_shape_and_str;__pyx_kp_s_unable_to_allocate_shape_and_str2525,97797
+static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd;__pyx_kp_u_unknown_dtype_code_in_numpy_pxd2526,97859
+static PyObject *__pyx_n_s_unpack;__pyx_n_s_unpack2527,97920
+static PyObject *__pyx_n_s_value_date;__pyx_n_s_value_date2528,97955
+static PyObject *__pyx_n_s_weights;__pyx_n_s_weights2529,97994
+static PyObject *__pyx_n_s_yc;__pyx_n_s_yc2530,98030
+static PyObject *__pyx_int_0;__pyx_int_02585,106930
+static PyObject *__pyx_int_1;__pyx_int_12586,106960
+static PyObject *__pyx_int_neg_1;__pyx_int_neg_12587,106990
+static __Pyx_memviewslice __pyx_k_;__pyx_k_2588,107024
+static __Pyx_memviewslice __pyx_k__4;__pyx_k__42589,107060
+static PyObject *__pyx_tuple__2;__pyx_tuple__22590,107098
+static PyObject *__pyx_tuple__3;__pyx_tuple__32591,107131
+static PyObject *__pyx_tuple__5;__pyx_tuple__52592,107164
+static PyObject *__pyx_tuple__6;__pyx_tuple__62593,107197
+static PyObject *__pyx_tuple__7;__pyx_tuple__72594,107230
+static PyObject *__pyx_tuple__8;__pyx_tuple__82595,107263
+static PyObject *__pyx_tuple__9;__pyx_tuple__92596,107296
+static PyObject *__pyx_slice__28;__pyx_slice__282597,107329
+static PyObject *__pyx_slice__29;__pyx_slice__292598,107363
+static PyObject *__pyx_slice__30;__pyx_slice__302599,107397
+static PyObject *__pyx_tuple__10;__pyx_tuple__102600,107431
+static PyObject *__pyx_tuple__11;__pyx_tuple__112601,107465
+static PyObject *__pyx_tuple__12;__pyx_tuple__122602,107499
+static PyObject *__pyx_tuple__13;__pyx_tuple__132603,107533
+static PyObject *__pyx_tuple__14;__pyx_tuple__142604,107567
+static PyObject *__pyx_tuple__15;__pyx_tuple__152605,107601
+static PyObject *__pyx_tuple__16;__pyx_tuple__162606,107635
+static PyObject *__pyx_tuple__17;__pyx_tuple__172607,107669
+static PyObject *__pyx_tuple__18;__pyx_tuple__182608,107703
+static PyObject *__pyx_tuple__19;__pyx_tuple__192609,107737
+static PyObject *__pyx_tuple__20;__pyx_tuple__202610,107771
+static PyObject *__pyx_tuple__21;__pyx_tuple__212611,107805
+static PyObject *__pyx_tuple__22;__pyx_tuple__222612,107839
+static PyObject *__pyx_tuple__23;__pyx_tuple__232613,107873
+static PyObject *__pyx_tuple__24;__pyx_tuple__242614,107907
+static PyObject *__pyx_tuple__25;__pyx_tuple__252615,107941
+static PyObject *__pyx_tuple__26;__pyx_tuple__262616,107975
+static PyObject *__pyx_tuple__27;__pyx_tuple__272617,108009
+static PyObject *__pyx_tuple__31;__pyx_tuple__312618,108043
+static PyObject *__pyx_tuple__32;__pyx_tuple__322619,108077
+static PyObject *__pyx_tuple__33;__pyx_tuple__332620,108111
+static PyObject *__pyx_tuple__34;__pyx_tuple__342621,108145
+static PyObject *__pyx_tuple__35;__pyx_tuple__352622,108179
+static PyObject *__pyx_tuple__36;__pyx_tuple__362623,108213
+static int __pyx_pw_6pyisda_12credit_index_9CurveList_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_12credit_index_9CurveList_1__init__2635,108682
+static int __pyx_pf_6pyisda_12credit_index_9CurveList___init__(struct __pyx_obj_6pyisda_12credit_index_CurveList *__pyx_v_self, PyObject *__pyx_v_curves, PyObject *__pyx_v_tickers, __Pyx_memviewslice __pyx_v_weights) {__pyx_pf_6pyisda_12credit_index_9CurveList___init__2708,111761
+static PyObject *__pyx_pw_6pyisda_12credit_index_9CurveList_3__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_ticker) {__pyx_pw_6pyisda_12credit_index_9CurveList_3__getitem__3430,142400
+static PyObject *__pyx_pf_6pyisda_12credit_index_9CurveList_2__getitem__(struct __pyx_obj_6pyisda_12credit_index_CurveList *__pyx_v_self, PyObject *__pyx_v_ticker) {__pyx_pf_6pyisda_12credit_index_9CurveList_2__getitem__3446,143086
+static char __pyx_doc_6pyisda_12credit_index_9CurveList_4items[] = "CurveList.items(self)";__pyx_doc_6pyisda_12credit_index_9CurveList_4items3572,148276
+static PyObject *__pyx_pw_6pyisda_12credit_index_9CurveList_5items(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_pw_6pyisda_12credit_index_9CurveList_5items3573,148368
+static PyObject *__pyx_pf_6pyisda_12credit_index_9CurveList_4items(struct __pyx_obj_6pyisda_12credit_index_CurveList *__pyx_v_self) {__pyx_pf_6pyisda_12credit_index_9CurveList_4items3584,148813
+static PyObject *__pyx_gb_6pyisda_12credit_index_9CurveList_6generator(__pyx_CoroutineObject *__pyx_generator, PyObject *__pyx_sent_value) /* generator body */__pyx_gb_6pyisda_12credit_index_9CurveList_6generator3617,150488
+static PyObject *__pyx_pw_6pyisda_12credit_index_9CurveList_6curves_1__get__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_12credit_index_9CurveList_6curves_1__get__3764,156288
+static PyObject *__pyx_pf_6pyisda_12credit_index_9CurveList_6curves___get__(struct __pyx_obj_6pyisda_12credit_index_CurveList *__pyx_v_self) {__pyx_pf_6pyisda_12credit_index_9CurveList_6curves___get__3775,156722
+static int __pyx_pw_6pyisda_12credit_index_9CurveList_6curves_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_l) {__pyx_pw_6pyisda_12credit_index_9CurveList_6curves_3__set__3885,160619
+static int __pyx_pf_6pyisda_12credit_index_9CurveList_6curves_2__set__(struct __pyx_obj_6pyisda_12credit_index_CurveList *__pyx_v_self, PyObject *__pyx_v_l) {__pyx_pf_6pyisda_12credit_index_9CurveList_6curves_2__set__3901,161269
+static int __pyx_pw_6pyisda_12credit_index_11CreditIndex_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_12credit_index_11CreditIndex_1__init__4093,168900
+static int __pyx_pf_6pyisda_12credit_index_11CreditIndex___init__(struct __pyx_obj_6pyisda_12credit_index_CreditIndex *__pyx_v_self, PyObject *__pyx_v_start_date, PyObject *__pyx_v_maturities, PyObject *__pyx_v_curves, __Pyx_memviewslice __pyx_v_weights) {__pyx_pf_6pyisda_12credit_index_11CreditIndex___init__4174,172476
+static void __pyx_pw_6pyisda_12credit_index_11CreditIndex_3__dealloc__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_12credit_index_11CreditIndex_3__dealloc__4481,186649
+static void __pyx_pf_6pyisda_12credit_index_11CreditIndex_2__dealloc__(struct __pyx_obj_6pyisda_12credit_index_CreditIndex *__pyx_v_self) {__pyx_pf_6pyisda_12credit_index_11CreditIndex_2__dealloc__4490,187030
+static char __pyx_doc_6pyisda_12credit_index_11CreditIndex_4pv_vec[] = "CreditIndex.pv_vec(self, step_in_date, value_date, YieldCurve yc, double recovery_rate)";__pyx_doc_6pyisda_12credit_index_11CreditIndex_4pv_vec4600,191120
+static PyObject *__pyx_pw_6pyisda_12credit_index_11CreditIndex_5pv_vec(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_12credit_index_11CreditIndex_5pv_vec4601,191282
+static PyObject *__pyx_pf_6pyisda_12credit_index_11CreditIndex_4pv_vec(struct __pyx_obj_6pyisda_12credit_index_CreditIndex *__pyx_v_self, PyObject *__pyx_v_step_in_date, PyObject *__pyx_v_value_date, struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_yc, double __pyx_v_recovery_rate) {__pyx_pf_6pyisda_12credit_index_11CreditIndex_4pv_vec4680,195021
+static char __pyx_doc_6pyisda_12credit_index_11CreditIndex_6pv[] = "CreditIndex.pv(self, step_in_date, value_date, maturity, YieldCurve yc, double recovery_rate, double fixed_rate, double epsilon=0.0)";__pyx_doc_6pyisda_12credit_index_11CreditIndex_6pv5221,222029
+static PyObject *__pyx_pw_6pyisda_12credit_index_11CreditIndex_7pv(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_12credit_index_11CreditIndex_7pv5222,222232
+static PyObject *__pyx_pf_6pyisda_12credit_index_11CreditIndex_6pv(struct __pyx_obj_6pyisda_12credit_index_CreditIndex *__pyx_v_self, PyObject *__pyx_v_step_in_date, PyObject *__pyx_v_value_date, PyObject *__pyx_v_maturity, struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_yc, double __pyx_v_recovery_rate, double __pyx_v_fixed_rate, double __pyx_v_epsilon) {__pyx_pf_6pyisda_12credit_index_11CreditIndex_6pv5334,227627
+static char __pyx_doc_6pyisda_12credit_index_11CreditIndex_8theta[] = "CreditIndex.theta(self, step_in_date, value_date, maturity, YieldCurve yc, double recovery_rate, double fixed_rate)";__pyx_doc_6pyisda_12credit_index_11CreditIndex_8theta5723,242920
+static PyObject *__pyx_pw_6pyisda_12credit_index_11CreditIndex_9theta(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_12credit_index_11CreditIndex_9theta5724,243109
+static PyObject *__pyx_pf_6pyisda_12credit_index_11CreditIndex_8theta(struct __pyx_obj_6pyisda_12credit_index_CreditIndex *__pyx_v_self, PyObject *__pyx_v_step_in_date, PyObject *__pyx_v_value_date, PyObject *__pyx_v_maturity, struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_yc, double __pyx_v_recovery_rate, double __pyx_v_fixed_rate) {__pyx_pf_6pyisda_12credit_index_11CreditIndex_8theta5821,247878
+static char __pyx_doc_6pyisda_12credit_index_11CreditIndex_10duration[] = "CreditIndex.duration(self, step_in_date, value_date, maturity, YieldCurve yc)";__pyx_doc_6pyisda_12credit_index_11CreditIndex_10duration6075,258841
+static PyObject *__pyx_pw_6pyisda_12credit_index_11CreditIndex_11duration(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_12credit_index_11CreditIndex_11duration6076,258996
+static PyObject *__pyx_pf_6pyisda_12credit_index_11CreditIndex_10duration(struct __pyx_obj_6pyisda_12credit_index_CreditIndex *__pyx_v_self, PyObject *__pyx_v_step_in_date, PyObject *__pyx_v_value_date, PyObject *__pyx_v_maturity, struct __pyx_obj_6pyisda_5curve_YieldCurve *__pyx_v_yc) {__pyx_pf_6pyisda_12credit_index_11CreditIndex_10duration6155,262606
+static PyObject *__pyx_pw_6pyisda_12credit_index_11CreditIndex_10maturities_1__get__(PyObject *__pyx_v_self) {__pyx_pw_6pyisda_12credit_index_11CreditIndex_10maturities_1__get__6358,270139
+static PyObject *__pyx_pf_6pyisda_12credit_index_11CreditIndex_10maturities___get__(struct __pyx_obj_6pyisda_12credit_index_CreditIndex *__pyx_v_self) {__pyx_pf_6pyisda_12credit_index_11CreditIndex_10maturities___get__6369,270591
+static char __pyx_doc_6pyisda_12credit_index_11CreditIndex_12tweak_portfolio[] = "CreditIndex.tweak_portfolio(self, double epsilon, maturity)";__pyx_doc_6pyisda_12credit_index_11CreditIndex_12tweak_portfolio6458,273787
+static PyObject *__pyx_pw_6pyisda_12credit_index_11CreditIndex_13tweak_portfolio(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_pw_6pyisda_12credit_index_11CreditIndex_13tweak_portfolio6459,273931
+static PyObject *__pyx_pf_6pyisda_12credit_index_11CreditIndex_12tweak_portfolio(struct __pyx_obj_6pyisda_12credit_index_CreditIndex *__pyx_v_self, double __pyx_v_epsilon, PyObject *__pyx_v_maturity) {__pyx_pf_6pyisda_12credit_index_11CreditIndex_12tweak_portfolio6515,276493
+static int *__pyx_f_6pyisda_12credit_index_fill_mask(__pyx_t_6pyisda_4date_TDate __pyx_v_maturity, std::vector<__pyx_t_6pyisda_4date_TDate> const &__pyx_v_maturities, std::shared_ptr<TCurve> const &__pyx_v_sc) {__pyx_f_6pyisda_12credit_index_fill_mask6629,281016
+static CYTHON_INLINE void __pyx_f_7cpython_8datetime_import_datetime(void) {__pyx_f_7cpython_8datetime_import_datetime6825,287380
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_date_new(int __pyx_v_year, int __pyx_v_month, int __pyx_v_day) {__pyx_f_7cpython_8datetime_date_new6858,288453
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_time_new(int __pyx_v_hour, int __pyx_v_minute, int __pyx_v_second, int __pyx_v_microsecond, PyObject *__pyx_v_tz) {__pyx_f_7cpython_8datetime_time_new6905,290317
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_datetime_new(int __pyx_v_year, int __pyx_v_month, int __pyx_v_day, int __pyx_v_hour, int __pyx_v_minute, int __pyx_v_second, int __pyx_v_microsecond, PyObject *__pyx_v_tz) {__pyx_f_7cpython_8datetime_datetime_new6952,292451
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_timedelta_new(int __pyx_v_days, int __pyx_v_seconds, int __pyx_v_useconds) {__pyx_f_7cpython_8datetime_timedelta_new6999,294754
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_time_tzinfo(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_tzinfo7046,296556
+static CYTHON_INLINE PyObject *__pyx_f_7cpython_8datetime_datetime_tzinfo(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_tzinfo7120,298651
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_year(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_year7194,300744
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_month(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_month7231,301590
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_date_day(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_date_day7268,302437
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_year(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_year7305,303282
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_month(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_month7342,304164
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_day(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_day7379,305047
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_hour(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_hour7416,305909
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_minute(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_minute7453,306779
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_second(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_second7490,307667
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_time_microsecond(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_time_microsecond7527,308575
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_hour(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_hour7564,309512
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_minute(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_minute7601,310418
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_second(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_second7638,311342
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_datetime_microsecond(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_datetime_microsecond7675,312286
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_days(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_days7712,313250
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_seconds(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_seconds7749,314171
+static CYTHON_INLINE int __pyx_f_7cpython_8datetime_timedelta_microseconds(PyObject *__pyx_v_o) {__pyx_f_7cpython_8datetime_timedelta_microseconds7785,315135
+static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_pw_5numpy_7ndarray_1__getbuffer__7821,316538
+static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_pf_5numpy_7ndarray___getbuffer__7832,316995
+static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {__pyx_pw_5numpy_7ndarray_3__releasebuffer__8693,353796
+static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) {__pyx_pf_5numpy_7ndarray_2__releasebuffer__8702,354183
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {__pyx_f_5numpy_PyArray_MultiIterNew18783,357547
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {__pyx_f_5numpy_PyArray_MultiIterNew28830,359145
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {__pyx_f_5numpy_PyArray_MultiIterNew38877,360848
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {__pyx_f_5numpy_PyArray_MultiIterNew48924,362658
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {__pyx_f_5numpy_PyArray_MultiIterNew58971,364574
+static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {__pyx_f_5numpy__util_dtypestring9018,366703
+static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {__pyx_f_5numpy_set_array_base9773,403450
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {__pyx_f_5numpy_get_array_base9869,406690
+static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {__pyx_f_5numpy_import_array9943,408912
+static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {__pyx_f_5numpy_import_umath10074,413504
+static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {__pyx_f_5numpy_import_ufunc10205,418023
+static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_array___cinit__10335,422587
+static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, PyObject *__pyx_v_format, PyObject *__pyx_v_mode, int __pyx_v_allocate_buffer) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__10449,427480
+static CYTHON_UNUSED int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_array_getbuffer11061,449286
+static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(struct __pyx_array_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__11072,449760
+static void __pyx_array___dealloc__(PyObject *__pyx_v_self) {__pyx_array___dealloc__11363,459511
+static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(struct __pyx_array_obj *__pyx_v_self) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__11372,459832
+static PyObject *__pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__11494,464035
+static PyObject *__pyx_pf_15View_dot_MemoryView_5array_7memview___get__(struct __pyx_array_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_5array_7memview___get__11505,464434
+static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *__pyx_v_self) {__pyx_array_get_memview11552,465824
+static PyObject *__pyx_array___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_attr) {__pyx_array___getattr__11631,468609
+static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__getattr__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_attr) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__getattr__11642,469040
+static PyObject *__pyx_array___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item) {__pyx_array___getitem__11696,470758
+static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getitem__11707,471189
+static int __pyx_array___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) {__pyx_array___setitem__11761,472959
+static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__setitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) {__pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__setitem__11772,473429
+static struct __pyx_array_obj *__pyx_array_new(PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, char *__pyx_v_format, char *__pyx_v_mode, char *__pyx_v_buf) {__pyx_array_new11818,474926
+static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_MemviewEnum___init__11992,481444
+static int __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v_name) {__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__12039,483292
+static PyObject *__pyx_MemviewEnum___repr__(PyObject *__pyx_v_self) {__pyx_MemviewEnum___repr__12081,484474
+static PyObject *__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(struct __pyx_MemviewEnum_obj *__pyx_v_self) {__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__12092,484861
+static void *__pyx_align_pointer(void *__pyx_v_memory, size_t __pyx_v_alignment) {__pyx_align_pointer12132,485982
+static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {__pyx_memoryview___cinit__12217,488302
+static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_flags, int __pyx_v_dtype_is_object) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__12288,491406
+static void __pyx_memoryview___dealloc__(PyObject *__pyx_v_self) {__pyx_memoryview___dealloc__12584,502276
+static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__12593,502618
+static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index) {__pyx_memoryview_get_item_pointer12772,510094
+static PyObject *__pyx_memoryview___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index) {__pyx_memoryview___getitem__12909,515185
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__12920,515639
+static int __pyx_memoryview___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {__pyx_memoryview___setitem__13099,521629
+static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__13110,522121
+static PyObject *__pyx_memoryview_is_slice(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj) {__pyx_memoryview_is_slice13294,529183
+static PyObject *__pyx_memoryview_setitem_slice_assignment(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src) {__pyx_memoryview_setitem_slice_assignment13505,536625
+static PyObject *__pyx_memoryview_setitem_slice_assign_scalar(struct __pyx_memoryview_obj *__pyx_v_self, struct __pyx_memoryview_obj *__pyx_v_dst, PyObject *__pyx_v_value) {__pyx_memoryview_setitem_slice_assign_scalar13588,540655
+static PyObject *__pyx_memoryview_setitem_indexed(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {__pyx_memoryview_setitem_indexed13874,550504
+static PyObject *__pyx_memoryview_convert_item_to_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp) {__pyx_memoryview_convert_item_to_object13932,552758
+static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value) {__pyx_memoryview_assign_item_from_object14206,563066
+static CYTHON_UNUSED int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_memoryview_getbuffer14444,572074
+static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(struct __pyx_memoryview_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__14455,572569
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__14728,580200
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__14739,580604
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__14811,583066
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__14822,583476
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__14864,584535
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__14875,584947
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__14942,587233
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__14953,587649
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__15053,591093
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__15064,591517
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__15168,595067
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__15179,595477
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__15228,596837
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__15239,597255
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__15288,598648
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__15299,599062
+static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__15358,600988
+static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__15369,601398
+static Py_ssize_t __pyx_memoryview___len__(PyObject *__pyx_v_self) {__pyx_memoryview___len__15496,605043
+static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__15507,605430
+static PyObject *__pyx_memoryview___repr__(PyObject *__pyx_v_self) {__pyx_memoryview___repr__15576,607178
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__15587,607570
+static PyObject *__pyx_memoryview___str__(PyObject *__pyx_v_self) {__pyx_memoryview___str__15681,611187
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__15692,611576
+static PyObject *__pyx_memoryview_is_c_contig(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_memoryview_is_c_contig15757,613988
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig15768,614421
+static PyObject *__pyx_memoryview_is_f_contig(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_memoryview_is_f_contig15828,616521
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig15839,616954
+static PyObject *__pyx_memoryview_copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_memoryview_copy15899,619116
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy15910,619528
+static PyObject *__pyx_memoryview_copy_fortran(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {__pyx_memoryview_copy_fortran15990,622533
+static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(struct __pyx_memoryview_obj *__pyx_v_self) {__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran16001,622969
+static PyObject *__pyx_memoryview_new(PyObject *__pyx_v_o, int __pyx_v_flags, int __pyx_v_dtype_is_object, __Pyx_TypeInfo *__pyx_v_typeinfo) {__pyx_memoryview_new16080,625891
+static CYTHON_INLINE int __pyx_memoryview_check(PyObject *__pyx_v_o) {__pyx_memoryview_check16168,629163
+static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {_unellipsify16207,630227
+static PyObject *assert_direct_dimensions(Py_ssize_t *__pyx_v_suboffsets, int __pyx_v_ndim) {assert_direct_dimensions16666,646105
+static struct __pyx_memoryview_obj *__pyx_memview_slice(struct __pyx_memoryview_obj *__pyx_v_memview, PyObject *__pyx_v_indices) {__pyx_memview_slice16751,648961
+static int __pyx_memoryview_slice_memviewslice(__Pyx_memviewslice *__pyx_v_dst, Py_ssize_t __pyx_v_shape, Py_ssize_t __pyx_v_stride, Py_ssize_t __pyx_v_suboffset, int __pyx_v_dim, int __pyx_v_new_ndim, int *__pyx_v_suboffset_dim, Py_ssize_t __pyx_v_start, Py_ssize_t __pyx_v_stop, Py_ssize_t __pyx_v_step, int __pyx_v_have_start, int __pyx_v_have_stop, int __pyx_v_have_step, int __pyx_v_is_slice) {__pyx_memoryview_slice_memviewslice17328,670720
+static char *__pyx_pybuffer_index(Py_buffer *__pyx_v_view, char *__pyx_v_bufp, Py_ssize_t __pyx_v_index, Py_ssize_t __pyx_v_dim) {__pyx_pybuffer_index18109,692202
+static int __pyx_memslice_transpose(__Pyx_memviewslice *__pyx_v_memslice) {__pyx_memslice_transpose18425,702491
+static void __pyx_memoryviewslice___dealloc__(PyObject *__pyx_v_self) {__pyx_memoryviewslice___dealloc__18596,707762
+static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(struct __pyx_memoryviewslice_obj *__pyx_v_self) {__pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__18605,708124
+static PyObject *__pyx_memoryviewslice_convert_item_to_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp) {__pyx_memoryviewslice_convert_item_to_object18638,709139
+static PyObject *__pyx_memoryviewslice_assign_item_from_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value) {__pyx_memoryviewslice_assign_item_from_object18721,711967
+static PyObject *__pyx_pw_15View_dot_MemoryView_16_memoryviewslice_4base_1__get__(PyObject *__pyx_v_self) {__pyx_pw_15View_dot_MemoryView_16_memoryviewslice_4base_1__get__18803,714805
+static PyObject *__pyx_pf_15View_dot_MemoryView_16_memoryviewslice_4base___get__(struct __pyx_memoryviewslice_obj *__pyx_v_self) {__pyx_pf_15View_dot_MemoryView_16_memoryviewslice_4base___get__18814,715232
+static PyObject *__pyx_memoryview_fromslice(__Pyx_memviewslice __pyx_v_memviewslice, int __pyx_v_ndim, PyObject *(*__pyx_v_to_object_func)(char *), int (*__pyx_v_to_dtype_func)(char *, PyObject *), int __pyx_v_dtype_is_object) {__pyx_memoryview_fromslice18854,716364
+static __Pyx_memviewslice *__pyx_memoryview_get_slice_from_memoryview(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_mslice) {__pyx_memoryview_get_slice_from_memoryview19206,728407
+static void __pyx_memoryview_slice_copy(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_dst) {__pyx_memoryview_slice_copy19306,731736
+static PyObject *__pyx_memoryview_copy_object(struct __pyx_memoryview_obj *__pyx_v_memview) {__pyx_memoryview_copy_object19430,735608
+static PyObject *__pyx_memoryview_copy_object_from_slice(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_memviewslice) {__pyx_memoryview_copy_object_from_slice19487,737573
+static Py_ssize_t abs_py_ssize_t(Py_ssize_t __pyx_v_arg) {abs_py_ssize_t19610,741904
+static char __pyx_get_best_slice_order(__Pyx_memviewslice *__pyx_v_mslice, int __pyx_v_ndim) {__pyx_get_best_slice_order19676,743382
+static void _copy_strided_to_strided(char *__pyx_v_src_data, Py_ssize_t *__pyx_v_src_strides, char *__pyx_v_dst_data, Py_ssize_t *__pyx_v_dst_strides, Py_ssize_t *__pyx_v_src_shape, Py_ssize_t *__pyx_v_dst_shape, int __pyx_v_ndim, size_t __pyx_v_itemsize) {_copy_strided_to_strided19864,748309
+static void copy_strided_to_strided(__Pyx_memviewslice *__pyx_v_src, __Pyx_memviewslice *__pyx_v_dst, int __pyx_v_ndim, size_t __pyx_v_itemsize) {copy_strided_to_strided20098,756586
+static Py_ssize_t __pyx_memoryview_slice_get_size(__Pyx_memviewslice *__pyx_v_src, int __pyx_v_ndim) {__pyx_memoryview_slice_get_size20128,757875
+static Py_ssize_t __pyx_fill_contig_strides_array(Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, Py_ssize_t __pyx_v_stride, int __pyx_v_ndim, char __pyx_v_order) {__pyx_fill_contig_strides_array20198,759795
+static void *__pyx_memoryview_copy_data_to_temp(__Pyx_memviewslice *__pyx_v_src, __Pyx_memviewslice *__pyx_v_tmpslice, char __pyx_v_order, int __pyx_v_ndim) {__pyx_memoryview_copy_data_to_temp20318,763232
+static int __pyx_memoryview_err_extents(int __pyx_v_i, Py_ssize_t __pyx_v_extent1, Py_ssize_t __pyx_v_extent2) {__pyx_memoryview_err_extents20567,770399
+static int __pyx_memoryview_err_dim(PyObject *__pyx_v_error, char *__pyx_v_msg, int __pyx_v_dim) {__pyx_memoryview_err_dim20657,774005
+static int __pyx_memoryview_err(PyObject *__pyx_v_error, char *__pyx_v_msg) {__pyx_memoryview_err20770,778355
+static int __pyx_memoryview_copy_contents(__Pyx_memviewslice __pyx_v_src, __Pyx_memviewslice __pyx_v_dst, int __pyx_v_src_ndim, int __pyx_v_dst_ndim, int __pyx_v_dtype_is_object) {__pyx_memoryview_copy_contents20909,783304
+static void __pyx_memoryview_broadcast_leading(__Pyx_memviewslice *__pyx_v_mslice, int __pyx_v_ndim, int __pyx_v_ndim_other) {__pyx_memoryview_broadcast_leading21483,801466
+static void __pyx_memoryview_refcount_copying(__Pyx_memviewslice *__pyx_v_dst, int __pyx_v_dtype_is_object, int __pyx_v_ndim, int __pyx_v_inc) {__pyx_memoryview_refcount_copying21594,805156
+static void __pyx_memoryview_refcount_objects_in_slice_with_gil(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, int __pyx_v_inc) {__pyx_memoryview_refcount_objects_in_slice_with_gil21644,806875
+static void __pyx_memoryview_refcount_objects_in_slice(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, int __pyx_v_inc) {__pyx_memoryview_refcount_objects_in_slice21683,808488
+static void __pyx_memoryview_slice_assign_scalar(__Pyx_memviewslice *__pyx_v_dst, int __pyx_v_ndim, size_t __pyx_v_itemsize, void *__pyx_v_item, int __pyx_v_dtype_is_object) {__pyx_memoryview_slice_assign_scalar21813,812437
+static void __pyx_memoryview__slice_assign_scalar(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, size_t __pyx_v_itemsize, void *__pyx_v_item) {__pyx_memoryview__slice_assign_scalar21861,814547
+static PyObject *__pyx_tp_new_6pyisda_12credit_index_CurveList(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {__pyx_tp_new_6pyisda_12credit_index_CurveList21981,818277
+static void __pyx_tp_dealloc_6pyisda_12credit_index_CurveList(PyObject *o) {__pyx_tp_dealloc_6pyisda_12credit_index_CurveList21999,819061
+static int __pyx_tp_traverse_6pyisda_12credit_index_CurveList(PyObject *o, visitproc v, void *a) {__pyx_tp_traverse_6pyisda_12credit_index_CurveList22015,819638
+static int __pyx_tp_clear_6pyisda_12credit_index_CurveList(PyObject *o) {__pyx_tp_clear_6pyisda_12credit_index_CurveList22027,820026
+static PyObject *__pyx_sq_item_6pyisda_12credit_index_CurveList(PyObject *o, Py_ssize_t i) {__pyx_sq_item_6pyisda_12credit_index_CurveList22038,820474
+static PyObject *__pyx_getprop_6pyisda_12credit_index_9CurveList_curves(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop_6pyisda_12credit_index_9CurveList_curves22046,820721
+static int __pyx_setprop_6pyisda_12credit_index_9CurveList_curves(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {__pyx_setprop_6pyisda_12credit_index_9CurveList_curves22050,820907
+static PyMethodDef __pyx_methods_6pyisda_12credit_index_CurveList[] = {__pyx_methods_6pyisda_12credit_index_CurveList22060,821207
+static struct PyGetSetDef __pyx_getsets_6pyisda_12credit_index_CurveList[] = {__pyx_getsets_6pyisda_12credit_index_CurveList22065,821440
+static PySequenceMethods __pyx_tp_as_sequence_CurveList = {__pyx_tp_as_sequence_CurveList22070,821812
+static PyMappingMethods __pyx_tp_as_mapping_CurveList = {__pyx_tp_as_mapping_CurveList22083,822131
+static PyTypeObject __pyx_type_6pyisda_12credit_index_CurveList = {__pyx_type_6pyisda_12credit_index_CurveList22089,822314
+static PyObject *__pyx_tp_new_6pyisda_12credit_index_CreditIndex(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new_6pyisda_12credit_index_CreditIndex22147,824147
+static void __pyx_tp_dealloc_6pyisda_12credit_index_CreditIndex(PyObject *o) {__pyx_tp_dealloc_6pyisda_12credit_index_CreditIndex22157,824623
+static int __pyx_tp_traverse_6pyisda_12credit_index_CreditIndex(PyObject *o, visitproc v, void *a) {__pyx_tp_traverse_6pyisda_12credit_index_CreditIndex22179,825389
+static int __pyx_tp_clear_6pyisda_12credit_index_CreditIndex(PyObject *o) {__pyx_tp_clear_6pyisda_12credit_index_CreditIndex22189,825793
+static PyObject *__pyx_getprop_6pyisda_12credit_index_11CreditIndex_maturities(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop_6pyisda_12credit_index_11CreditIndex_maturities22199,826176
+static PyMethodDef __pyx_methods_6pyisda_12credit_index_CreditIndex[] = {__pyx_methods_6pyisda_12credit_index_CreditIndex22203,826377
+static struct PyGetSetDef __pyx_getsets_6pyisda_12credit_index_CreditIndex[] = {__pyx_getsets_6pyisda_12credit_index_CreditIndex22212,827322
+static PyTypeObject __pyx_type_6pyisda_12credit_index_CreditIndex = {__pyx_type_6pyisda_12credit_index_CreditIndex22217,827531
+static struct __pyx_obj_6pyisda_12credit_index___pyx_scope_struct__items *__pyx_freelist_6pyisda_12credit_index___pyx_scope_struct__items[8];__pyx_freelist_6pyisda_12credit_index___pyx_scope_struct__items22275,829338
+static int __pyx_freecount_6pyisda_12credit_index___pyx_scope_struct__items = 0;__pyx_freecount_6pyisda_12credit_index___pyx_scope_struct__items22276,829480
+static PyObject *__pyx_tp_new_6pyisda_12credit_index___pyx_scope_struct__items(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {__pyx_tp_new_6pyisda_12credit_index___pyx_scope_struct__items22278,829562
+static void __pyx_tp_dealloc_6pyisda_12credit_index___pyx_scope_struct__items(PyObject *o) {__pyx_tp_dealloc_6pyisda_12credit_index___pyx_scope_struct__items22295,830575
+static int __pyx_tp_traverse_6pyisda_12credit_index___pyx_scope_struct__items(PyObject *o, visitproc v, void *a) {__pyx_tp_traverse_6pyisda_12credit_index___pyx_scope_struct__items22308,831415
+static int __pyx_tp_clear_6pyisda_12credit_index___pyx_scope_struct__items(PyObject *o) {__pyx_tp_clear_6pyisda_12credit_index___pyx_scope_struct__items22320,831881
+static PyTypeObject __pyx_type_6pyisda_12credit_index___pyx_scope_struct__items = {__pyx_type_6pyisda_12credit_index___pyx_scope_struct__items22332,832460
+static struct __pyx_vtabstruct_array __pyx_vtable_array;__pyx_vtable_array22389,834119
+static PyObject *__pyx_tp_new_array(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new_array22391,834177
+static void __pyx_tp_dealloc_array(PyObject *o) {__pyx_tp_dealloc_array22411,834819
+static PyObject *__pyx_sq_item_array(PyObject *o, Py_ssize_t i) {__pyx_sq_item_array22430,835392
+static int __pyx_mp_ass_subscript_array(PyObject *o, PyObject *i, PyObject *v) {__pyx_mp_ass_subscript_array22438,835612
+static PyObject *__pyx_tp_getattro_array(PyObject *o, PyObject *n) {__pyx_tp_getattro_array22449,835902
+static PyObject *__pyx_getprop___pyx_array_memview(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_array_memview22458,836155
+static PyMethodDef __pyx_methods_array[] = {__pyx_methods_array22462,836316
+static struct PyGetSetDef __pyx_getsets_array[] = {__pyx_getsets_array22467,836461
+static PySequenceMethods __pyx_tp_as_sequence_array = {__pyx_tp_as_sequence_array22472,836610
+static PyMappingMethods __pyx_tp_as_mapping_array = {__pyx_tp_as_mapping_array22485,836898
+static PyBufferProcs __pyx_tp_as_buffer_array = {__pyx_tp_as_buffer_array22491,837072
+static PyTypeObject __pyx_type___pyx_array = {__pyx_type___pyx_array22508,837441
+static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {__pyx_tp_new_Enum22566,838922
+static void __pyx_tp_dealloc_Enum(PyObject *o) {__pyx_tp_dealloc_Enum22580,839387
+static int __pyx_tp_traverse_Enum(PyObject *o, visitproc v, void *a) {__pyx_tp_traverse_Enum22592,839754
+static int __pyx_tp_clear_Enum(PyObject *o) {__pyx_tp_clear_Enum22601,839984
+static PyMethodDef __pyx_methods_Enum[] = {__pyx_methods_Enum22610,840223
+static PyTypeObject __pyx_type___pyx_MemviewEnum = {__pyx_type___pyx_MemviewEnum22614,840286
+static struct __pyx_vtabstruct_memoryview __pyx_vtable_memoryview;__pyx_vtable_memoryview22671,841767
+static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new_memoryview22673,841835
+static void __pyx_tp_dealloc_memoryview(PyObject *o) {__pyx_tp_dealloc_memoryview22695,842548
+static int __pyx_tp_traverse_memoryview(PyObject *o, visitproc v, void *a) {__pyx_tp_traverse_memoryview22717,843167
+static int __pyx_tp_clear_memoryview(PyObject *o) {__pyx_tp_clear_memoryview22735,843625
+static PyObject *__pyx_sq_item_memoryview(PyObject *o, Py_ssize_t i) {__pyx_sq_item_memoryview22750,844096
+static int __pyx_mp_ass_subscript_memoryview(PyObject *o, PyObject *i, PyObject *v) {__pyx_mp_ass_subscript_memoryview22758,844321
+static PyObject *__pyx_getprop___pyx_memoryview_T(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_T22769,844621
+static PyObject *__pyx_getprop___pyx_memoryview_base(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_base22773,844781
+static PyObject *__pyx_getprop___pyx_memoryview_shape(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_shape22777,844947
+static PyObject *__pyx_getprop___pyx_memoryview_strides(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_strides22781,845115
+static PyObject *__pyx_getprop___pyx_memoryview_suboffsets(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_suboffsets22785,845287
+static PyObject *__pyx_getprop___pyx_memoryview_ndim(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_ndim22789,845466
+static PyObject *__pyx_getprop___pyx_memoryview_itemsize(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_itemsize22793,845632
+static PyObject *__pyx_getprop___pyx_memoryview_nbytes(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_nbytes22797,845806
+static PyObject *__pyx_getprop___pyx_memoryview_size(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryview_size22801,845976
+static PyMethodDef __pyx_methods_memoryview[] = {__pyx_methods_memoryview22805,846142
+static struct PyGetSetDef __pyx_getsets_memoryview[] = {__pyx_getsets_memoryview22813,846511
+static PySequenceMethods __pyx_tp_as_sequence_memoryview = {__pyx_tp_as_sequence_memoryview22826,847282
+static PyMappingMethods __pyx_tp_as_mapping_memoryview = {__pyx_tp_as_mapping_memoryview22839,847603
+static PyBufferProcs __pyx_tp_as_buffer_memoryview = {__pyx_tp_as_buffer_memoryview22845,847815
+static PyTypeObject __pyx_type___pyx_memoryview = {__pyx_type___pyx_memoryview22862,848194
+static struct __pyx_vtabstruct__memoryviewslice __pyx_vtable__memoryviewslice;__pyx_vtable__memoryviewslice22919,849819
+static PyObject *__pyx_tp_new__memoryviewslice(PyTypeObject *t, PyObject *a, PyObject *k) {__pyx_tp_new__memoryviewslice22921,849899
+static void __pyx_tp_dealloc__memoryviewslice(PyObject *o) {__pyx_tp_dealloc__memoryviewslice22932,850350
+static int __pyx_tp_traverse__memoryviewslice(PyObject *o, visitproc v, void *a) {__pyx_tp_traverse__memoryviewslice22953,850972
+static int __pyx_tp_clear__memoryviewslice(PyObject *o) {__pyx_tp_clear__memoryviewslice22963,851298
+static PyObject *__pyx_getprop___pyx_memoryviewslice_base(PyObject *o, CYTHON_UNUSED void *x) {__pyx_getprop___pyx_memoryviewslice_base22974,851644
+static PyMethodDef __pyx_methods__memoryviewslice[] = {__pyx_methods__memoryviewslice22978,851821
+static struct PyGetSetDef __pyx_getsets__memoryviewslice[] = {__pyx_getsets__memoryviewslice22982,851896
+static PyTypeObject __pyx_type___pyx_memoryviewslice = {__pyx_type___pyx_memoryviewslice22987,852060
+static PyMethodDef __pyx_methods[] = {__pyx_methods23053,853832
+static struct PyModuleDef __pyx_moduledef = {__pyx_moduledef23058,853916
+static __Pyx_StringTabEntry __pyx_string_tab[] = {__pyx_string_tab23075,854292
+static int __Pyx_InitCachedBuiltins(void) {__Pyx_InitCachedBuiltins23185,864849
+static int __Pyx_InitCachedConstants(void) {__Pyx_InitCachedConstants23202,866408
+static int __Pyx_InitGlobals(void) {__Pyx_InitGlobals23587,883464
+PyMODINIT_FUNC initcredit_index(void)initcredit_index23599,883996
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {__Pyx_RefNannyImportAPI24000,905893
+static PyObject *__Pyx_GetBuiltinName(PyObject *name) {__Pyx_GetBuiltinName24016,906321
+static void __Pyx_RaiseDoubleKeywordsError(__Pyx_RaiseDoubleKeywordsError24030,906720
+static int __Pyx_ParseOptionalKeywords(__Pyx_ParseOptionalKeywords24044,907129
+static CYTHON_INLINE int __Pyx_IsLittleEndian(void) {__Pyx_IsLittleEndian24146,910707
+static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,__Pyx_BufFmt_Init24150,910822
+static int __Pyx_BufFmt_ParseNumber(const char** ts) {__Pyx_BufFmt_ParseNumber24177,911606
+static int __Pyx_BufFmt_ExpectNumber(const char **ts) {__Pyx_BufFmt_ExpectNumber24192,911938
+static void __Pyx_BufFmt_RaiseUnexpectedChar(char ch) {__Pyx_BufFmt_RaiseUnexpectedChar24199,912219
+static const char* __Pyx_BufFmt_DescribeTypeChar(char ch, int is_complex) {__Pyx_BufFmt_DescribeTypeChar24203,912374
+static size_t __Pyx_BufFmt_TypeCharToStandardSize(char ch, int is_complex) {__Pyx_BufFmt_TypeCharToStandardSize24227,913313
+static size_t __Pyx_BufFmt_TypeCharToNativeSize(char ch, int is_complex) {__Pyx_BufFmt_TypeCharToNativeSize24245,913975
+typedef struct { char c; short x; } __Pyx_st_short;c24264,914672
+typedef struct { char c; short x; } __Pyx_st_short;x24264,914672
+typedef struct { char c; short x; } __Pyx_st_short;__Pyx_st_short24264,914672
+typedef struct { char c; int x; } __Pyx_st_int;c24265,914724
+typedef struct { char c; int x; } __Pyx_st_int;x24265,914724
+typedef struct { char c; int x; } __Pyx_st_int;__Pyx_st_int24265,914724
+typedef struct { char c; long x; } __Pyx_st_long;c24266,914772
+typedef struct { char c; long x; } __Pyx_st_long;x24266,914772
+typedef struct { char c; long x; } __Pyx_st_long;__Pyx_st_long24266,914772
+typedef struct { char c; float x; } __Pyx_st_float;c24267,914822
+typedef struct { char c; float x; } __Pyx_st_float;x24267,914822
+typedef struct { char c; float x; } __Pyx_st_float;__Pyx_st_float24267,914822
+typedef struct { char c; double x; } __Pyx_st_double;c24268,914874
+typedef struct { char c; double x; } __Pyx_st_double;x24268,914874
+typedef struct { char c; double x; } __Pyx_st_double;__Pyx_st_double24268,914874
+typedef struct { char c; long double x; } __Pyx_st_longdouble;c24269,914928
+typedef struct { char c; long double x; } __Pyx_st_longdouble;x24269,914928
+typedef struct { char c; long double x; } __Pyx_st_longdouble;__Pyx_st_longdouble24269,914928
+typedef struct { char c; void *x; } __Pyx_st_void_p;c24270,914991
+typedef struct { char c; void *x; } __Pyx_st_void_p;x24270,914991
+typedef struct { char c; void *x; } __Pyx_st_void_p;__Pyx_st_void_p24270,914991
+typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;c24272,915066
+typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;x24272,915066
+typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;__Pyx_st_longlong24272,915066
+static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, CYTHON_UNUSED int is_complex) {__Pyx_BufFmt_TypeCharToAlignment24274,915135
+typedef struct { short x; char c; } __Pyx_pad_short;x24296,916169
+typedef struct { short x; char c; } __Pyx_pad_short;c24296,916169
+typedef struct { short x; char c; } __Pyx_pad_short;__Pyx_pad_short24296,916169
+typedef struct { int x; char c; } __Pyx_pad_int;x24297,916222
+typedef struct { int x; char c; } __Pyx_pad_int;c24297,916222
+typedef struct { int x; char c; } __Pyx_pad_int;__Pyx_pad_int24297,916222
+typedef struct { long x; char c; } __Pyx_pad_long;x24298,916271
+typedef struct { long x; char c; } __Pyx_pad_long;c24298,916271
+typedef struct { long x; char c; } __Pyx_pad_long;__Pyx_pad_long24298,916271
+typedef struct { float x; char c; } __Pyx_pad_float;x24299,916322
+typedef struct { float x; char c; } __Pyx_pad_float;c24299,916322
+typedef struct { float x; char c; } __Pyx_pad_float;__Pyx_pad_float24299,916322
+typedef struct { double x; char c; } __Pyx_pad_double;x24300,916375
+typedef struct { double x; char c; } __Pyx_pad_double;c24300,916375
+typedef struct { double x; char c; } __Pyx_pad_double;__Pyx_pad_double24300,916375
+typedef struct { long double x; char c; } __Pyx_pad_longdouble;x24301,916430
+typedef struct { long double x; char c; } __Pyx_pad_longdouble;c24301,916430
+typedef struct { long double x; char c; } __Pyx_pad_longdouble;__Pyx_pad_longdouble24301,916430
+typedef struct { void *x; char c; } __Pyx_pad_void_p;x24302,916494
+typedef struct { void *x; char c; } __Pyx_pad_void_p;c24302,916494
+typedef struct { void *x; char c; } __Pyx_pad_void_p;__Pyx_pad_void_p24302,916494
+typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;x24304,916570
+typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;c24304,916570
+typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;__Pyx_pad_longlong24304,916570
+static size_t __Pyx_BufFmt_TypeCharToPadding(char ch, CYTHON_UNUSED int is_complex) {__Pyx_BufFmt_TypeCharToPadding24306,916640
+static char __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) {__Pyx_BufFmt_TypeCharToGroup24324,917490
+static void __Pyx_BufFmt_RaiseExpected(__Pyx_BufFmt_Context* ctx) {__Pyx_BufFmt_RaiseExpected24345,918010
+static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) {__Pyx_BufFmt_ProcessTypeChunk24369,918957
+__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)__pyx_buffmt_parse_array24472,922750
+static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) {__Pyx_BufFmt_CheckString24515,924343
+static CYTHON_INLINE void __Pyx_ZeroBuffer(Py_buffer* buf) {__Pyx_ZeroBuffer24648,928359
+static CYTHON_INLINE int __Pyx_GetBufferAndValidate(__Pyx_GetBufferAndValidate24655,928555
+static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) {__Pyx_SafeReleaseBuffer24689,929736
+__Pyx_init_memviewslice(struct __pyx_memoryview_obj *memview,__Pyx_init_memviewslice24697,929974
+static CYTHON_INLINE void __pyx_fatalerror(const char *fmt, ...) {__pyx_fatalerror24749,931575
+__pyx_add_acquisition_count_locked(__pyx_atomic_int *acquisition_count,__pyx_add_acquisition_count_locked24762,931877
+__pyx_sub_acquisition_count_locked(__pyx_atomic_int *acquisition_count,__pyx_sub_acquisition_count_locked24772,932179
+__Pyx_INC_MEMVIEW(__Pyx_memviewslice *memslice, int have_gil, int lineno)__Pyx_INC_MEMVIEW24782,932482
+static CYTHON_INLINE void __Pyx_XDEC_MEMVIEW(__Pyx_memviewslice *memslice,__Pyx_XDEC_MEMVIEW24802,933217
+ static void __Pyx_RaiseArgtupleInvalid(__Pyx_RaiseArgtupleInvalid24831,934190
+ static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {__Pyx_GetItemInt_Generic24857,934948
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,__Pyx_GetItemInt_List_Fast24864,935142
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,__Pyx_GetItemInt_Tuple_Fast24879,935824
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,__Pyx_GetItemInt_Fast24894,936510
+ static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {__Pyx_TypeTest24938,938233
+static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {__Pyx_PyObject_Call24952,938690
+static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {__Pyx_ErrRestoreInState24972,939361
+static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx_ErrFetchInState24984,939821
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,__Pyx_Raise24996,940199
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {__Pyx_Raise25047,941679
+ static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {__Pyx_RaiseTooManyValuesError25158,945343
+ static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {__Pyx_RaiseNeedMoreValuesError25164,945594
+ static CYTHON_INLINE int __Pyx_IterFinish(void) {__Pyx_IterFinish25171,945863
+ static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {__Pyx_IternextUnpackEndCheck25206,946897
+ static void __Pyx_RaiseBufferIndexError(int axis) {__Pyx_RaiseBufferIndexError25218,947199
+ static void __Pyx_RaiseArgumentTypeInvalid(const char* name, PyObject *obj, PyTypeObject *type) {__Pyx_RaiseArgumentTypeInvalid25224,947365
+static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,__Pyx_ArgTypeTest25229,947634
+static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {__Pyx_PyCFunction_FastCall25252,948367
+static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,__Pyx_PyFunction_FastCallNoKw25271,949247
+static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, int nargs, PyObject *kwargs) {__Pyx_PyFunction_FastCallDict25300,950176
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallMethO25390,953066
+static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx__PyObject_CallOneArg25410,953724
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallOneArg25420,954048
+static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {__Pyx_PyObject_CallOneArg25442,954792
+ static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {__Pyx_GetModuleGlobalName25453,955113
+ static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {__Pyx_RaiseNoneNotIterableError25471,955557
+static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx__ExceptionSave25477,955771
+static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {__Pyx__ExceptionReset25485,956058
+static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {__Pyx_PyErr_ExceptionMatchesInState25501,956571
+static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx__GetException25511,956913
+ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {__Pyx_PyBytes_Equals25571,958611
+ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {__Pyx_PyUnicode_Equals25609,959926
+ static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t a, Py_ssize_t b) {__Pyx_div_Py_ssize_t25693,962639
+ static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {__Pyx_GetAttr25701,962854
+ static CYTHON_INLINE PyObject* __Pyx_decode_c_string(__Pyx_decode_c_string25714,963194
+static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {__Pyx__ExceptionSwap25748,964344
+static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {__Pyx_ExceptionSwap25761,964782
+ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {__Pyx_Import25772,965108
+static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED int inplace) {__Pyx_PyInt_AddObjC25847,967436
+ static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {__Pyx_RaiseUnboundLocalError25962,973076
+ static CYTHON_INLINE long __Pyx_div_long(long a, long b) {__Pyx_div_long25967,973282
+ static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,__Pyx_WriteUnraisable25975,973478
+ static int __Pyx_SetVtable(PyObject *dict, void *vtable) {__Pyx_SetVtable26017,974684
+ static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {__pyx_bisect_code_objects26035,975107
+static PyCodeObject *__pyx_find_code_object(int code_line) {__pyx_find_code_object26056,975746
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {__pyx_insert_code_object26070,976306
+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(__Pyx_CreateCodeObjectForTraceback26118,978102
+static void __Pyx_AddTraceback(const char *funcname, int c_line,__Pyx_AddTraceback26170,979711
+static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) {__Pyx_GetBuffer26196,980641
+static void __Pyx_ReleaseBuffer(Py_buffer *view) {__Pyx_ReleaseBuffer26204,981262
+__pyx_memviewslice_is_contig(const __Pyx_memviewslice mvs,__pyx_memviewslice_is_contig26220,981701
+__pyx_get_array_memory_extents(__Pyx_memviewslice *slice,__pyx_get_array_memory_extents26243,982293
+__pyx_slices_overlap(__Pyx_memviewslice *slice1,__pyx_slices_overlap26267,982996
+__pyx_capsule_create(void *p, CYTHON_UNUSED const char *sig)__pyx_capsule_create26279,983443
+__pyx_typeinfo_cmp(__Pyx_TypeInfo *a, __Pyx_TypeInfo *b)__pyx_typeinfo_cmp26292,983718
+__pyx_check_strides(Py_buffer *buf, int dim, int ndim, int spec)__pyx_check_strides26333,984990
+__pyx_check_suboffsets(Py_buffer *buf, int dim, CYTHON_UNUSED int ndim, int spec)__pyx_check_suboffsets26386,986987
+__pyx_verify_contig(Py_buffer *buf, int ndim, int c_or_f_flag)__pyx_verify_contig26409,987733
+static int __Pyx_ValidateAndInit_memviewslice(__Pyx_ValidateAndInit_memviewslice26440,988697
+ static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_ds_double(PyObject *obj) {__Pyx_PyObject_to_MemoryviewSlice_ds_double26514,991403
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {__Pyx_PyInt_From_long26537,992279
+ #define __PYX_VERIFY_RETURN_INT(__PYX_VERIFY_RETURN_INT26568,993440
+#define __PYX_VERIFY_RETURN_INT_EXC(__PYX_VERIFY_RETURN_INT_EXC26570,993587
+#define __PYX__VERIFY_RETURN_INT(__PYX__VERIFY_RETURN_INT26572,993728
+ static CYTHON_INLINE PyObject *__pyx_memview_get_double(const char *itemp) {__pyx_memview_get_double26590,994408
+static CYTHON_INLINE int __pyx_memview_set_double(const char *itemp, PyObject *obj) {__pyx_memview_set_double26593,994560
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {__Pyx_PyInt_From_int26602,994826
+ static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {__pyx_t_float_complex_from_parts26635,996023
+ static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {__pyx_t_float_complex_from_parts26639,996181
+ static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {__pyx_t_float_complex_from_parts26644,996356
+ static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_eq_float26655,996606
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_sum_float26658,996766
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_diff_float26664,997008
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_prod_float26670,997251
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_quot_float26677,997540
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_quot_float26697,998484
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) {__Pyx_c_neg_float26708,998997
+ static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) {__Pyx_c_is_zero_float26714,999198
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) {__Pyx_c_conj_float26717,999328
+ static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) {__Pyx_c_abs_float26724,999540
+ static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {__Pyx_c_pow_float26731,999819
+ static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {__pyx_t_double_complex_from_parts26790,1001953
+ static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {__pyx_t_double_complex_from_parts26794,1002116
+ static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {__pyx_t_double_complex_from_parts26799,1002296
+ static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_eq_double26810,1002551
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_sum_double26813,1002714
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_diff_double26819,1002961
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_prod_double26825,1003209
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_quot_double26832,1003503
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_quot_double26852,1004457
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) {__Pyx_c_neg_double26863,1004977
+ static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) {__Pyx_c_is_zero_double26869,1005182
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) {__Pyx_c_conj_double26872,1005314
+ static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) {__Pyx_c_abs_double26879,1005530
+ static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {__Pyx_c_pow_double26886,1005810
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value) {__Pyx_PyInt_From_enum__NPY_TYPES26943,1007896
+__pyx_memoryview_copy_new_contig(const __Pyx_memviewslice *from_mvs,__pyx_memoryview_copy_new_contig26975,1009212
+ static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) {__Pyx_PyInt_As_size_t27041,1011638
+ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {__Pyx_PyInt_As_long27230,1021658
+ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {__Pyx_PyInt_As_int27419,1031484
+ static CYTHON_INLINE char __Pyx_PyInt_As_char(PyObject *x) {__Pyx_PyInt_As_char27608,1041213
+ static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {__Pyx_FetchCommonType27797,1051044
+ static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {__Pyx_PyObject_CallMethod127836,1052378
+#define __Pyx_Coroutine_Undelegate(__Pyx_Coroutine_Undelegate27887,1054261
+static int __Pyx_PyGen_FetchStopIterationValue(PyObject **pvalue) {__Pyx_PyGen_FetchStopIterationValue27889,1054365
+void __Pyx_Coroutine_ExceptionClear(__pyx_CoroutineObject *self) {__Pyx_Coroutine_ExceptionClear27972,1056736
+int __Pyx_Coroutine_CheckRunning(__pyx_CoroutineObject *gen) {__Pyx_Coroutine_CheckRunning27984,1057132
+PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value) {__Pyx_Coroutine_SendEx27993,1057391
+PyObject *__Pyx_Coroutine_MethodReturn(PyObject *retval) {__Pyx_Coroutine_MethodReturn28046,1059186
+PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) {__Pyx_Coroutine_FinishDelegation28053,1059387
+static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) {__Pyx_Coroutine_Send28062,1059672
+static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) {__Pyx_Coroutine_CloseIter28097,1060801
+static PyObject *__Pyx_Generator_Next(PyObject *self) {__Pyx_Generator_Next28134,1061838
+static PyObject *__Pyx_Coroutine_Close(PyObject *self) {__Pyx_Coroutine_Close28156,1062538
+static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) {__Pyx_Coroutine_Throw28191,1063724
+static int __Pyx_Coroutine_traverse(PyObject *self, visitproc visit, void *arg) {__Pyx_Coroutine_traverse28250,1065792
+static int __Pyx_Coroutine_clear(PyObject *self) {__Pyx_Coroutine_clear28260,1066135
+static void __Pyx_Coroutine_dealloc(PyObject *self) {__Pyx_Coroutine_dealloc28272,1066507
+static void __Pyx_Coroutine_del(PyObject *self) {__Pyx_Coroutine_del28293,1067107
+__Pyx_Coroutine_get_name(__pyx_CoroutineObject *self)__Pyx_Coroutine_get_name28334,1068297
+__Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value)__Pyx_Coroutine_set_name28342,1068481
+__Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self)__Pyx_Coroutine_get_qualname28361,1068998
+__Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value)__Pyx_Coroutine_set_qualname28369,1069190
+static __pyx_CoroutineObject *__Pyx__Coroutine_New(__Pyx__Coroutine_New28387,1069705
+ static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) {__Pyx_Coroutine_patch_module28415,1070578
+static PyObject* __Pyx_patch_abc_module(PyObject *module) {__Pyx_patch_abc_module28457,1072133
+static int __Pyx_patch_abc(void) {__Pyx_patch_abc28472,1072648
+ static PyMethodDef __pyx_Generator_methods[] = {__pyx_Generator_methods28509,1073885
+static PyMemberDef __pyx_Generator_memberlist[] = {__pyx_Generator_memberlist28518,1074484
+static PyGetSetDef __pyx_Generator_getsets[] = {__pyx_Generator_getsets28524,1074825
+static PyTypeObject __pyx_GeneratorType_type = {__pyx_GeneratorType_type28531,1075213
+static int __pyx_Generator_init(void) {__pyx_Generator_init28587,1076080
+ static int __Pyx_check_binary_version(void) {__Pyx_check_binary_version28598,1076431
+#define __PYX_HAVE_RT_ImportModule__PYX_HAVE_RT_ImportModule28615,1077137
+static PyObject *__Pyx_ImportModule(const char *name) {__Pyx_ImportModule28616,1077172
+#define __PYX_HAVE_RT_ImportType__PYX_HAVE_RT_ImportType28633,1077577
+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,__Pyx_ImportType28634,1077610
+#define __PYX_HAVE_RT_ImportFunction__PYX_HAVE_RT_ImportFunction28698,1079572
+static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {__Pyx_ImportFunction28699,1079609
+ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {__Pyx_InitStrings28751,1081151
+static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {__Pyx_PyUnicode_FromString28781,1082087
+static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {__Pyx_PyObject_AsString28784,1082248
+static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {__Pyx_PyObject_AsStringAndSize28788,1082394
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {__Pyx_PyObject_IsTrue28846,1084270
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {__Pyx_PyNumber_IntOrLong28851,1084467
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {__Pyx_PyIndex_AsSsize_t28902,1085615
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {__Pyx_PyInt_FromSize_t28964,1087906
+
+pyisda/pyisda/utils.py,303
+def getMarkitIRData(date = datetime.date.today() - datetime.timedelta(days = 1),getMarkitIRData18,698
+def rate_helpers(currency="USD", MarkitData=None):rate_helpers39,1913
+def YC(currency="USD", helpers = None, MarkitData=None):YC65,3423
+def build_yc(trade_date, ql_curve=False):build_yc72,3691
+
+pyisda/pyisda/flat_hazard.pyx,176
+def strike_vec(double[:] spreads, YieldCurve yc, trade_date, value_date,strike_vec19,644
+def pv_vec(double[:] spreads, YieldCurve yc, trade_date, value_date,pv_vec114,5164
+
+pyisda/pyisda/curve.h,386
+#define __PYX_HAVE__pyisda__curve__PYX_HAVE__pyisda__curve4,68
+enum BadDay {BadDay14,273
+ FOLLOW = ((long)'F'),FOLLOW23,492
+ PREVIOUS = ((long)'P'),PREVIOUS24,516
+ NONE = ((long)'N'),NONE25,542
+ MODIFIED = ((long)'M')MODIFIED26,564
+ #define __PYX_EXTERN_C __PYX_EXTERN_C33,676
+ #define __PYX_EXTERN_C __PYX_EXTERN_C35,722
+ #define DL_IMPORT(DL_IMPORT40,791
+
+pyisda/pyisda/legs.pxd,607
+ cdef TContingentLeg* JpmcdsCdsContingentLegMake(JpmcdsCdsContingentLegMake39,870
+ cdef TFeeLeg* JpmcdsCdsFeeLegMake(JpmcdsCdsFeeLegMake50,1280
+ cdef int JpmcdsContingentLegPV(TContingentLeg *cl, # Contingent legJpmcdsContingentLegPV80,2616
+ cdef int JpmcdsFeeLegPV(TFeeLeg *fl,JpmcdsFeeLegPV90,3251
+ cdef TCashFlowList* JpmcdsFeeLegFlows(TFeeLeg *fl)JpmcdsFeeLegFlows99,3609
+ cdef void JpmcdsFeeLegFree(TFeeLeg *p)JpmcdsFeeLegFree101,3664
+ cdef void FeeLegAI(TFeeLeg* fl,FeeLegAI103,3707
+cdef class ContingentLeg:ContingentLeg107,3812
+cdef class FeeLeg:FeeLeg111,3874
+
+pyisda/docs/conf.py,925
+extensions = [extensions33,1068
+templates_path = ['_templates']templates_path42,1290
+source_suffix = '.rst'source_suffix48,1452
+master_doc = 'index'master_doc55,1574
+project = 'PyISDA'project58,1637
+copyright = '2016, Guillaume Horel'copyright59,1656
+author = 'Guillaume Horel'author60,1692
+version = '0.1'version67,1921
+release = '0.1'release69,1987
+language = Nonelanguage76,2258
+exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']exclude_patterns90,2689
+pygments_style = 'sphinx'pygments_style112,3303
+todo_include_todos = Truetodo_include_todos121,3597
+html_theme = 'sphinx_rtd_theme'html_theme129,3808
+html_static_path = ['_static']html_static_path163,4918
+htmlhelp_basename = 'PyISDAdoc'htmlhelp_basename243,7289
+latex_elements = {latex_elements247,7399
+latex_documents = [latex_documents268,7917
+man_pages = [man_pages310,8992
+texinfo_documents = [texinfo_documents325,9391
+
+pyisda/docs/Makefile,450
+SPHINXOPTS =SPHINXOPTS5,92
+SPHINXBUILD = sphinx-buildSPHINXBUILD6,108
+PAPER =PAPER7,137
+BUILDDIR = _buildBUILDDIR8,153
+PAPEROPT_a4 = -D latex_paper_size=a4PAPEROPT_a411,199
+PAPEROPT_letter = -D latex_paper_size=letterPAPEROPT_letter12,240
+ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .ALLSPHINXOPTS13,285
+I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .I18NSPHINXOPTS15,441
+
+pyisda/c_layer/cdsbootstrap.h,484
+#define SUCCESS SUCCESS12,171
+#define FAILURE FAILURE13,189
+ TDate stepinDate;stepinDate17,226
+ TDate cashSettleDate;cashSettleDate18,258
+ TCurve *discountCurve;discountCurve19,294
+ TCurve *cdsCurve;cdsCurve20,329
+ double recoveryRate;recoveryRate21,359
+ double spread;spread22,393
+ TContingentLeg *cl;cl23,421
+ TFeeLeg *fl;fl24,445
+} cds_bootstrap_ctx;cds_bootstrap_ctx25,469
+
+pyisda/c_layer/cdsbootstrap.c,61
+int cdsBootstrapPointFunctioncdsBootstrapPointFunction3,27
+
+pyisda/Makefile,0
+
+pyisda/setup.py,1075
+all_extensions = Extension("*", ["pyisda/*.pyx"],all_extensions6,124
+ include_dirs = ['c_layer', numpy.get_include()],include_dirs7,174
+ libraries = ["cds"],libraries8,250
+ language = 'c++')language9,298
+c_extension = Extension("pyisda.flat_hazard",c_extension11,344
+ include_dirs = ['c_layer', numpy.get_include()],include_dirs12,390
+ sources = ['pyisda/flat_hazard.pyx', 'c_layer/cdsbootstrap.c'],sources13,463
+ libraries = ['cds'],libraries14,551
+ language = 'c++')language15,596
+all_extensions = cythonize([c_extension, all_extensions], nthreads = 4,all_extensions17,639
+ compiler_directives={'embedsignature':True})compiler_directives18,711
+ name = "pyisda",name21,791
+ version = '0.1',version22,812
+ author = 'Guillaume Horel',author23,833
+ ext_modules = all_extensions,ext_modules24,865
+ packages = ['pyisda'])packages25,899
+
+pyisda/example.py,1776
+ today_date = datetime.date(2016, 7, 12)today_date11,298
+ yc = build_yc(today_date, True)yc12,342
+ step_in_date = today_date + datetime.timedelta(days=1)step_in_date13,378
+ value_date = datetime.date(2016, 7, 15) # settle_datevalue_date14,437
+ start_date = datetime.date(2016, 6, 20)start_date16,496
+ end_date = datetime.date(2021, 6, 20)end_date17,540
+ upfront_quote = -0.03063upfront_quote18,582
+ spread = spread_from_upfront(today_date, value_date, start_date, step_in_date,spread19,611
+ upf = upfront_charge(today_date, value_date, start_date, step_in_date,upf23,898
+ coupon_leg = FeeLeg(start_date, end_date, True, 1000000, 0.01)coupon_leg28,1091
+ contingent_leg = ContingentLeg(start_date, end_date, 1000000)contingent_leg29,1158
+ ig_spread = 0.0070ig_spread31,1225
+ spread = array.array('d', [ig_spread])spread32,1248
+ recovery = array.array('d', [0.4])recovery33,1291
+ upfront = array.array('d', [-0.0164243])upfront34,1330
+ sc = SpreadCurve(today_date, yc, start_date, step_in_date, value_date,sc36,1419
+ sc_data = sc.inspect()['data']sc_data38,1560
+ rate = sc_data[0][1]rate39,1595
+ continuous_rate = math.log(1+rate)continuous_rate41,1679
+ sc2 = SpreadCurve.from_flat_hazard(today_date, continuous_rate)sc242,1718
+ coupon_leg_pv = coupon_leg.pv(today_date, step_in_date,coupon_leg_pv43,1786
+ coupon_leg_pv2 = coupon_leg.pv(today_date, step_in_date,coupon_leg_pv245,1906
+ contingent_leg_pv = contingent_leg.pv(today_date, step_in_date,contingent_leg_pv48,2072
+ contingent_leg_pv2 = contingent_leg.pv(today_date, step_in_date,contingent_leg_pv250,2207
+ pv = 1000000 * upfront_charge(today_date, value_date, start_date, step_in_date,pv53,2385
+
+ecb_yieldcurve.py,221
r = requests.get('http://www.ecb.europa.eu/stats/money/yc/data/fmd/download/yc_latest.zip?')r9,111
yc = io.BytesIO(r.content)yc10,204
ycunzip = ZipFile(yc)ycunzip11,231
zipinfos = ycunzip.infolist()zipinfos12,253
-handle_default.py,350
-from __future__ import divisiondivision1,0
-from db import dbconndbconn2,32
-import datetimedatetime3,54
-from sys import argvargv4,70
+handle_default.py,210
def affected_indices(company_id):affected_indices6,92
def create_newindices(recordslist, lastdate, nissuers):create_newindices18,525
def update_indexmembers(newids, company_id):update_indexmembers40,1428
-bbg_helpers.py,1530
-import blpapiblpapi1,0
-import syssys2,14
-import pandas as pdpd3,25
-from contextlib import contextmanagercontextmanager4,45
-import logginglogging5,83
-import datetimedatetime6,98
+bbg_helpers.py,1410
logger = logging.getLogger(__name__)logger8,115
BBG_IP = ['192.168.9.61', '192.168.9.65', '192.168.0.10', '192.168.0.12']BBG_IP10,153
def init_bbg_session(ip_list, port=8194):init_bbg_session13,244
def append_overrides(request, d):append_overrides36,993
def event_loop(session, request):event_loop46,1326
-def get_pythonvalue(e):get_pythonvalue59,1822
-def field_array_todf(field):field_array_todf65,2002
-def process_historical_msg(msg):process_historical_msg70,2210
-def process_reference_msg(msg):process_reference_msg76,2462
-def retrieve_data(session, securities, fields, overrides={},retrieve_data93,3164
- testdate = pd.datetime(2013, 1, 1)testdate120,4234
- hist_securities = ['CADUSD Curncy', "EURUSD Curncy"]hist_securities121,4273
- hist_fields = ['PX_LAST']hist_fields122,4330
- securities = ['38145BAA9 Mtge', '75157EAE2 Mtge', 'XS0295516776 Mtge']securities123,4360
- fields = ['CUR_CPN', 'START_ACC_DT']fields124,4435
- hist_data = retrieve_data(session, hist_securities, hist_fields, start_date=testdate)hist_data126,4522
- overrides={'SETTLE_DT': testdate}overrides127,4616
- ref_data = retrieve_data(session, securities, fields, overrides=overrides)ref_data128,4658
- struct_data = retrieve_data(session, securities, ["HIST_CASH_FLOW"])struct_data129,4741
+def get_pythonvalue(e):get_pythonvalue59,1809
+def field_array_todf(field):field_array_todf65,1989
+def process_historical_msg(msg):process_historical_msg72,2252
+def process_reference_msg(msg):process_reference_msg78,2504
+def retrieve_data(session, securities, fields, overrides={},retrieve_data98,3331
+ testdate = pd.datetime(2013, 1, 1)testdate146,5096
+ hist_securities = ['CADUSD Curncy', "EURUSD Curncy"]hist_securities147,5135
+ hist_fields = ['PX_LAST']hist_fields148,5192
+ securities = ['004421BW2 Mtge', '75157EAE2 Mtge', 'XS0295516776 Mtge']securities149,5222
+ fields = ['CUR_CPN', 'START_ACC_DT']fields150,5297
+ hist_data = retrieve_data(session, securities, hist_fields, start_date=testdate,hist_data152,5384
+ frequency="MONTHLY")frequency153,5473
+ overrides={'SETTLE_DT': testdate}overrides154,5528
+ ref_data = retrieve_data(session, securities, fields, overrides=overrides)ref_data155,5570
+ struct_data = retrieve_data(session, securities, ["HIST_CASH_FLOW"])struct_data156,5653
-send_email.py,1031
-from apiclient.discovery import buildbuild1,0
-from apiclient import errorserrors2,38
-from httplib2 import HttpHttp3,67
-import oauth2clientoauth2client4,93
-from oauth2client import client, toolsclient5,113
-from oauth2client import client, toolstools5,113
-import osos6,152
-import jsonjson7,162
-import base64base648,174
-import binasciibinascii9,188
-from email.mime.text import MIMETextMIMEText10,204
-import syssys11,241
-import argparseargparse13,253
-flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args()flags14,269
-SCOPES = 'https://www.googleapis.com/auth/gmail.modify'SCOPES16,342
-CLIENT_SECRET_FILE = 'secret.json'CLIENT_SECRET_FILE17,398
-APPLICATION_NAME = 'Swaptions'APPLICATION_NAME18,433
-def get_gmail_service():get_gmail_service20,465
-class EmailMessage(MIMEText):EmailMessage45,1449
- _service = get_gmail_service()_service46,1479
- def msgdict(self):msgdict48,1515
- def send(self):send54,1738
-def main():main62,2047
- message = main()message74,2391
+send_email.py,473
+SCOPES = 'https://www.googleapis.com/auth/gmail.modify'SCOPES15,270
+CLIENT_SECRET_FILE = 'secret.json'CLIENT_SECRET_FILE16,326
+APPLICATION_NAME = 'Swaptions'APPLICATION_NAME17,361
+def get_gmail_service():get_gmail_service19,393
+class EmailMessage(MIMEText):EmailMessage45,1457
+ _service = get_gmail_service()_service46,1487
+ def msgdict(self):msgdict48,1523
+ def send(self):send54,1746
+def main():main62,2055
+ message = main()message74,2399
GHquad.c,56
void GHquad(int n, double* Z, double* w) {GHquad7,167
-download_emails.py,849
-from datetime import datetimedatetime1,0
-import osos2,30
-from pathlib import PathPath3,40
-from apiclient.discovery import buildbuild5,66
-from apiclient import errorserrors6,104
-from httplib2 import HttpHttp7,133
-import oauth2clientoauth2client8,159
-from oauth2client import clientclient9,179
-from oauth2client import toolstools10,211
-import jsonjson11,242
-import base64base6412,254
-import binasciibinascii13,268
-from send_email import get_gmail_serviceget_gmail_service14,284
-import argparseargparse15,325
-import logginglogging16,341
-def ListMessagesWithLabels(service, user_id, label_ids=[]):ListMessagesWithLabels18,357
-def labels_dict(service, user_id):labels_dict49,1729
-def get_msg(service, user_id, msg_id):get_msg66,2309
-def msg_content(msg):msg_content73,2597
-def update_emails():update_emails80,2948
+download_emails.py,285
+def ListMessagesWithLabels(service, user_id, label_ids=[]):ListMessagesWithLabels17,326
+def labels_dict(service, user_id):labels_dict48,1698
+def get_msg(service, user_id, msg_id):get_msg65,2278
+def msg_content(msg):msg_content72,2566
+def update_emails():update_emails87,3158
-cds_rebook.py,488
-from sqlalchemy import create_enginecreate_engine2,39
-import pandas as pdpd3,76
-from pandas.tseries.offsets import BDayBDay4,96
-import pdbpdb5,136
+marks_to_HY.py,5400
+def monthlySpreadDiff(index="IG", tenor="5yr"):monthlySpreadDiff16,435
+def nearestDate(base, dates):nearestDate27,1077
+def interpolate_rates(s, hist_data):interpolate_rates31,1235
+def aux(df):aux36,1410
+df = (pd.read_sql_table('external_marks_mapped',dbengine('dawndb'),df42,1549
+BBG_IP = ['192.168.9.65']BBG_IP46,1694
+bbgstartdate = pd.datetime(2013, 1, 1)bbgstartdate48,1795
+hist_securities = ["US0006M Index", "USSWAP2 Curncy", "USSWAP3 Curncy", "USSWAP4 Curncy", "USSWAP5 Curncy", "USSWAP7 Curncy", "USSWAP10 Curncy"]hist_securities49,1834
+hist_fields = ['PX_LAST']hist_fields50,1979
+ hist_data = bbg_helpers.retrieve_data(session, hist_securities, hist_fields, start_date=bbgstartdate)hist_data53,2060
+hist_data1 = pd.concat(hist_data,ignore_index=False, names = ['Rate Index', 'numIndex']).reset_index()hist_data155,2171
+mapping = {"US0006M Index": .5, "USSWAP10 Curncy": 10, "USSWAP2 Curncy": 2, "USSWAP3 Curncy": 3, "USSWAP4 Curncy": 4, "USSWAP5 Curncy": 5, "USSWAP7 Curncy": 7}mapping56,2274
+mapping = pd.Series(mapping, name = 'tenor')mapping57,2434
+mapping = mapping.reset_index()mapping59,2513
+hist_data1 = hist_data1.merge(mapping, on='Rate Index')hist_data160,2545
+hist_data1 = hist_data1[['date','PX_LAST','tenor']].set_index('date')hist_data161,2601
+df1 = dfdf165,2792
+df1 = df1.sort_values('date')df167,2860
+df1 = df1.set_index(['date','identifier','source'])df168,2890
+df1 = df1.groupby(level=['date','identifier','source'])['mark'].mean()df169,2942
+df1 = df1.reset_index()df170,3013
+df1 = df1.set_index(['date'])df171,3037
+mapping = pd.read_sql_query("select distinct date(timestamp) as model_date from priced",dbengine('rmbs_model'), parse_dates = ['model_date']).sort_values('model_date')mapping74,3131
+df2 = df.set_index(['date'])df275,3299
+df2 = df2.groupby(level=['date'])['mark'].mean()df276,3328
+df2 = pd.DataFrame(df2)df279,3450
+df1 = df1.join(df2)df183,3567
+df3=pd.DataFrame()df386,3643
+ "where date(timestamp) = %s and model_version = 1"sql_str88,3743
+ df3= df3.append(pd.read_sql_query(sql_str,dbengine('rmbs_model'), parse_dates = ['date'], params=(date.to_pydatetime(), )))df391,3954
+df3= df3.rename(columns = {"cusip": "identifier"})df393,4083
+df3 = df3.sort_values('date')df394,4134
+df3 = df3.set_index(['date', 'identifier'])df396,4198
+df1 = df1.reset_index()df199,4309
+df1= df1.rename(columns = {"model_date": "date", "date": "monthend_date"})df1100,4333
+df1 = df1.set_index(['date','identifier'])df1101,4408
+df1 = df1.merge(df3, left_index = True, right_index= True)df1103,4452
+df1 = df1.reset_index().sort_values('monthend_date')df1104,4511
+availratesdate = pd.DataFrame(sorted(pd.unique(hist_data1.index)), columns=['date'])availratesdate105,4564
+df1temp = df1.groupby(['identifier','BDay','moddur']).mean().reset_index()df1temp108,4781
+df1 = pd.merge(df1, df1temp[['identifier', 'BDay', 'moddur','yielddiff']], on= ['identifier', 'BDay', 'moddur'])df1111,5006
+df1 = df1.groupby('identifier').apply(aux)df1114,5220
+df1 = df1.set_index(['monthend_date','identifier','source'])df1118,5385
+SpreadFilter = 1000SpreadFilter122,5490
+SpreadDiffFilter = 250SpreadDiffFilter123,5510
+DurationFilter = 1.5DurationFilter124,5533
+begindate = '2014-01-01'begindate125,5554
+enddate = '2017-01-01'enddate126,5579
+interval = 1interval127,5602
+HYDifference = monthlySpreadDiff(index = 'HY')HYDifference128,5615
+difference = df1[abs(df1['spread'])<SpreadFilter].groupby(level=['identifier','source'])['pv','moddur','spread'].diff(periods = interval)difference129,5662
+difference = difference[abs(difference['spread'])<SpreadDiffFilter]difference130,5800
+difference = difference[abs(difference['moddur'])<DurationFilter]difference131,5868
+avgchange1 = pd.DataFrame(difference.groupby(level=['monthend_date']).mean()['spread'])avgchange1135,6042
+avgchange1 = avgchange1.join(HYDifference, rsuffix = 'HY')avgchange1136,6130
+avgchange1 = avgchange1[begindate:enddate]avgchange1137,6189
+regmodel1 = sm.OLS(avgchange1['spread'],avgchange1['spreadHY']).fit()regmodel1138,6232
+ratio1 = (avgchange1['spreadHY']/avgchange1['spread']).mean()ratio1139,6302
+avgchange2 = pd.DataFrame(difference.groupby(level=['monthend_date','source']).mean()['spread'])avgchange2142,6404
+avgchange2 = avgchange2.unstack(level =1)avgchange2143,6501
+HYDifference = HYDifference.to_frame()HYDifference144,6543
+avgchange2 = avgchange2.merge(HYDifference, left_index = True, right_index= True)avgchange2146,6651
+regmodel2 ={}regmodel2147,6733
+ratio2 = {}ratio2148,6747
+Rsquared2 = {}Rsquared2153,6991
+params2 = {}params2154,7006
+difference1 = difference.reset_index().set_index('monthend_date')difference1161,7278
+difference1 = difference1.merge(HYDifference, left_index = True, right_index= True)difference1165,7563
+regmodel3 = {}regmodel3166,7647
+Rsquared3 = {}Rsquared3167,7662
+params3 = {}params3168,7677
+difference4 = difference1.rename(columns = {('HY'): "HY Spread"})difference4178,8192
+difference4 = difference4.set_index('source', append = True)difference4181,8397
+meanmarkchange= difference4.groupby(level = ['monthend_date', 'source'])['spread'].mean().unstack(level = -1)meanmarkchange182,8458
+StdDevmarkchange = difference4.groupby(level = ['monthend_date', 'source'])['spread'].std().unstack(level = -1)StdDevmarkchange183,8568
+
+cds_curve.py,912
+def get_singlenames_quotes(indexname, date):get_singlenames_quotes24,750
+def build_curve(r, today_date, yc, start_date, step_in_date, value_date, end_dates):build_curve30,968
+def grouper(iterable, n, fillvalue=None):grouper44,1647
+def build_curves_dist(quotes, args, workers=4):build_curves_dist50,1876
+def build_curves(quotes, args):build_curves57,2159
+def get_singlenames_curves(index_type, series, trade_date):get_singlenames_curves60,2260
+def all_curves_pv(curves, today_date, jp_yc, start_date, step_in_date, value_date, maturities):all_curves_pv74,2939
+def stack_curves(curves):stack_curves94,3971
+def forward_hazard_rates(sc):forward_hazard_rates101,4249
+serenitas_engine = dbengine('serenitasdb')serenitas_engine114,4545
+def calibrate_portfolio(index_type, series, tenors=['3yr', '5yr', '7yr', '10yr']):calibrate_portfolio116,4589
+ df = calibrate_portfolio("HY", 27)df167,7171
+
+cds_rebook.py,333
def get_outstanding_positions(engine):get_outstanding_positions7,148
def next_redcode(engine, secid):next_redcode19,711
def rebook(engine, secid, lastdate, already_rebooked):rebook31,1141
def rebook_everything(engine):rebook_everything49,1961
engine = create_engine("postgresql://dawn_user@debian/dawndb")engine59,2338
-dawn_utils.py,261
-from sqlalchemy.sql import texttext1,0
-from sqlalchemy import create_enginecreate_engine2,32
-import osos3,69
+dawn_utils.py,111
def create_trigger_function(conn):create_trigger_function5,80
def create_triggers():create_triggers34,1110
- from Dawn import dbdb54,1860
-parse_emails.py,2359
-import pandas as pdpd1,0
-import rere2,20
-import osos3,30
-import pdbpdb4,40
-from download_emails import update_emailsupdate_emails5,51
-import datetimedatetime6,93
-import logginglogging7,109
-import picklepickle8,124
-import syssys9,138
- level=logging.WARNING,level13,238
- format='%(asctime)s %(message)s')format14,281
-def makedf(r, indextype, quote_source):makedf16,336
-def parse_quotedate(fh, date_received):parse_quotedate39,1215
-def parse_refline(line):parse_refline56,1840
-def parse_baml(fh, indextype, series, quotedate):parse_baml68,2295
-def parse_baml_block(fh, indextype):parse_baml_block94,3114
-def parse_ms_block(fh, indextype):parse_ms_block110,3579
-def parse_ms(fh, indextype):parse_ms135,4397
-subject_BAML = re.compile("(?:Fwd:){0,2}(?:BAML )?(\w{2})([0-9]{1,2})\s")subject_BAML145,4719
-subject_MS = re.compile("\$\$ MS CDX OPTIONS: (IG|HY)(\d{2})[^\d]*([\d.]+)")subject_MS146,4793
-def parse_email(email):parse_email148,4871
-def write_todb(swaption_stack, index_data):write_todb175,6155
- from sqlalchemy import MetaData, TableMetaData176,6199
- from sqlalchemy import MetaData, TableTable176,6199
- from db import dbengine, nan_to_nulldbengine177,6242
- from db import dbengine, nan_to_nullnan_to_null177,6242
- import psycopg2psycopg2178,6283
-def get_email_list(date):get_email_list186,6699
- data_dir = os.path.join(os.getenv("DATA_DIR"), "swaptions")data_dir202,7155
- emails = [f for f in os.scandir(data_dir) if f.is_file()]emails203,7219
- swaption_stack = {}swaption_stack204,7281
- index_data = pd.DataFrame()index_data205,7305
- already_uploaded = pickle.load(fh)already_uploaded208,7388
- already_uploaded = {}already_uploaded210,7465
- index_data = index_data.append(fwd_index)index_data221,7850
- swaption_stack = pd.concat(swaption_stack, names=['quotedate', 'index', 'series'])swaption_stack229,8185
- swaption_stack = swaption_stack.reset_index()swaption_stack234,8439
- swaption_stack = swaption_stack.drop_duplicates(['quotedate', 'index', 'series', 'expiry', 'strike'])swaption_stack235,8489
- index_data = index_data.reset_index()index_data236,8595
- index_data = index_data.drop_duplicates(['quotedate', 'index', 'series', 'expiry'])index_data237,8637
+parse_emails.py,2674
+ level=logging.WARNING,level14,332
+ format='%(asctime)s %(message)s')format15,375
+def list_imm_dates(date):list_imm_dates17,430
+def makedf(r, indextype, quote_source):makedf25,610
+def parse_quotedate(fh, date_received):parse_quotedate54,1727
+def parse_refline(line):parse_refline71,2387
+def parse_baml(fh, indextype, series, quotedate, *args):parse_baml83,2842
+def parse_baml_block(fh, indextype):parse_baml_block108,3667
+def parse_ms_block(fh, indextype):parse_ms_block124,4132
+def parse_nomura_block(fh, indextype):parse_nomura_block149,4950
+def parse_sg_block(fh, indextype, expiration_dates):parse_sg_block170,5678
+def parse_gs_block(fh, indextype):parse_gs_block198,6771
+def parse_ms(fh, indextype, *args):parse_ms227,7590
+def parse_nomura(fh, indextype, *args):parse_nomura237,7919
+def parse_sg(fh, indextype, expiration_dates):parse_sg247,8256
+def parse_gs(fh, indextype, series, quotedate, ref):parse_gs257,8565
+subject_baml = re.compile("(?:Fwd:){0,2}(?:BAML )?(\w{2})([0-9]{1,2})\s")subject_baml279,9523
+subject_ms = re.compile("[^$]*\$\$ MS CDX OPTIONS: (IG|HY)(\d{2})[^-]*- REF[^\d]*([\d.]+)")subject_ms280,9597
+subject_nomura = re.compile("(?:Fwd:)?CDX (IG|HY)(\d{2}).*- REF:[^\d]*([\d.]+)")subject_nomura281,9689
+subject_gs = re.compile("GS (IG|HY)(\d{2}) 5y.*- Ref [^\d]*([\d.]+)")subject_gs282,9770
+subject_sg = re.compile("SG OPTIONS - CDX (IG|HY) S(\d{2}).* REF[^\d]*([\d.]+)")subject_sg283,9840
+def parse_email(email):parse_email285,9922
+def write_todb(swaption_stack, index_data):write_todb322,11820
+def get_email_list(date):get_email_list344,12707
+def pickle_drop_date(date):pickle_drop_date358,13118
+ data_dir = os.path.join(os.getenv("DATA_DIR"), "swaptions")data_dir367,13422
+ emails = [f for f in os.scandir(data_dir) if f.is_file()]emails368,13486
+ swaption_stack = {}swaption_stack369,13548
+ index_data = pd.DataFrame()index_data370,13572
+ already_uploaded = pickle.load(fh)already_uploaded373,13655
+ already_uploaded = {}already_uploaded375,13732
+ index_data = index_data.append(fwd_index)index_data389,14264
+ swaption_stack = pd.concat(swaption_stack, names=['quotedate', 'index', 'series'])swaption_stack398,14633
+ swaption_stack = swaption_stack.reset_index()swaption_stack399,14720
+ swaption_stack = swaption_stack.drop_duplicates(['quotedate', 'index', 'series', 'expiry', 'strike'])swaption_stack400,14770
+ index_data = index_data.reset_index()index_data401,14876
+ index_data = index_data.drop_duplicates(['quotedate', 'index', 'series', 'expiry'])index_data402,14918
-populate_risk_numbers.py,565
-import yaml, os, csvyaml1,0
-import yaml, os, csvos1,0
-import yaml, os, csvcsv1,0
-from db import serenitasdbserenitasdb2,21
-import datetimedatetime3,48
+test_pyq.py,1041
+def A(t, T, sigma, a, curve):A18,785
+def B(t, T, a):B23,1055
+def gamma(t, sigma, a, curve):gamma26,1108
+def gamma_v(T, sigma, a, curve): #vectorized version of gamma(t)gamma_v31,1314
+Nsim = 1000Nsim38,1690
+a = 0.376739a42,1801
+sigma = 0.0209835sigma43,1814
+todaysDate = Date(26, 12, 2013);todaysDate45,1833
+crvTodaydates = [Date(26, 12, 2013),crvTodaydates47,1907
+crvTodaydf=[1.0,crvTodaydf80,3118
+crvToday = DiscountCurve(crvTodaydates, crvTodaydf, Actual360(), TARGET())crvToday115,3850
+r0 = crvToday.forward_rate(0, 0, compounding=Continuous, frequency=NoFrequency).rater0118,3979
+months = range(3, 12 * 5 + 1, 3)months119,4064
+sPeriods = [f"{month}M" for month in months]sPeriods120,4097
+Dates = [todaysDate] + [todaysDate+Period(s) for s in sPeriods]Dates122,4158
+T = np.array([Actual360().year_fraction(todaysDate, d) for d in Dates])T123,4222
+hw = HullWhite(crvToday, a, sigma)hw124,4294
+grid = TimeGrid.from_vector(T)grid125,4329
+rmat_test = simulate_process(hw, Nsim, grid, 1)rmat_test126,4360
+
+populate_risk_numbers.py,404
basedir = "/home/share/CorpCDOs"basedir5,65
def get_index_list(basedir):get_index_list6,98
sqlstr = "INSERT INTO risk_numbers VALUES({0},{1})".format(",".join(["%s"] * 10),sqlstr13,388
@@ -434,31 +7675,22 @@ def convert(s):convert33,1066
def populate_risk(basedir, db):populate_risk36,1124
basedir = "/home/share/CorpCDOs"basedir62,2593
-pnl_explain.py,1436
-import numpy as npnp1,0
-import pandas as pdpd2,19
-from db import dbenginedbengine4,40
-from dates import bus_day, imm_dates, yearfracbus_day5,64
-from dates import bus_day, imm_dates, yearfracimm_dates5,64
-from dates import bus_day, imm_dates, yearfracyearfrac5,64
-from psycopg2.extensions import register_adapter, AsIsregister_adapter6,111
-from psycopg2.extensions import register_adapter, AsIsAsIs6,111
-def get_daycount(identifier, engine = dbengine("dawndb")):get_daycount10,214
-def pnl_explain(identifier, start_date = None, end_date = None,pnl_explain24,682
-def pnl_explain_list(id_list, start_date = None, end_date = None, engine = dbengine("dawndb")):pnl_explain_list104,5139
-def compute_tranche_factors(df, attach, detach):compute_tranche_factors108,5375
-def cds_explain(index, series, tenor, attach = np.nan, detach = np.nan,cds_explain117,5891
-def cds_explain_strat(strat, start_date, end_date, engine = dbengine("dawndb")):cds_explain_strat190,9872
- engine = dbengine("dawndb")engine219,11415
- from position import get_list_rangeget_list_range220,11447
- subprime_list = get_list_range(engine, '2015-09-30', '2015-10-31', 'Subprime')subprime_list227,11749
- df_subprime = pnl_explain_list(subprime_list[['identifier', 'strategy']].to_records(index=False),df_subprime228,11832
- df_subprime = pd.concat(df_subprime, names=['identifier', 'strategy', 'date'])df_subprime230,12005
+saga.py,39
+def saga_option(x, y):saga_option1,0
+
+pnl_explain.py,951
+def get_daycount(identifier, engine = dbengine("dawndb")):get_daycount7,112
+def pnl_explain(identifier, start_date = None, end_date = None,pnl_explain21,580
+def pnl_explain_list(id_list, start_date = None, end_date = None, engine = dbengine("dawndb")):pnl_explain_list101,5037
+def compute_tranche_factors(df, attach, detach):compute_tranche_factors105,5273
+def cds_explain(index, series, tenor, attach = np.nan, detach = np.nan,cds_explain114,5789
+def cds_explain_strat(strat, start_date, end_date, engine = dbengine("dawndb")):cds_explain_strat187,9770
+ engine = dbengine("dawndb")engine216,11313
+ subprime_list = get_list_range(engine, '2015-09-30', '2015-10-31', 'Subprime')subprime_list224,11647
+ df_subprime = pnl_explain_list(subprime_list[['identifier', 'strategy']].to_records(index=False),df_subprime225,11730
+ df_subprime = pd.concat(df_subprime, names=['identifier', 'strategy', 'date'])df_subprime227,11903
-script_calibrate_tranches.py,757
-import numpy as npnp1,0
-from tranche_functions import GHquad, BClossdistGHquad2,19
-from tranche_functions import GHquad, BClossdistBClossdist2,19
+script_calibrate_tranches.py,605
n_int = 500n_int4,69
n_credit = 100n_credit5,81
recov = np.array([float(e) for e in fh], dtype='double', order='F')recov9,148
@@ -471,11 +7703,7 @@ rho = 0.45 * np.ones(n_credit)rho16,403
R = np.zeros((n_int, Ngrid, SurvProb.shape[1]))R24,742
S = 1 - Rstoch[:,:,t]S26,834
-optimization.py,512
-import numpy as npnp1,0
-import numpy.linalg as lanumpy2,19
-import numpy.linalg as lala2,19
-from scipy.interpolate import PchipInterpolatorPchipInterpolator3,45
+optimization.py,344
def decr_fun(a, b):decr_fun5,94
def KLfit(P, q, b):KLfit8,175
def interpweights(w, v1, v2):interpweights60,1694
@@ -485,54 +7713,7 @@ def interpvalues(w, v, neww):interpvalues67,1951
b = np.array([2.5, 3.3])b102,2878
test = KLfit(P, w, b)test103,2907
-option_trades.py,1959
-import cvxpycvxpy1,0
-import datetimedatetime2,13
-import mathmath3,29
-import numpy as npnp4,41
-import pandas as pdpd5,60
-from pandas.tseries.offsets import BDayBDay7,81
-from arch import arch_modelarch_model8,121
-from db import dbenginedbengine9,149
-from scipy.interpolate import interp1dinterp1d10,173
-from analytics import IndexIndex11,212
-serenitasdb = dbengine('serenitasdb')serenitasdb13,241
-def get_daily_pnl(index, series, tenor, coupon=1):get_daily_pnl15,280
-def daily_spreads(index, series, tenor):daily_spreads25,820
-def index_returns(date=None, years=3, index="IG", tenor="5yr"):index_returns41,1358
-def realized_vol(index, series, tenor, date=None, years=None):realized_vol55,2034
-def atm_vol_fun(v, ref_is_price=False, moneyness=0.2):atm_vol_fun64,2426
-def atm_vol(index, series, moneyness=0.2):atm_vol70,2747
-def atm_vol_date(index, date):atm_vol_date87,3621
-def rolling_vol(df, col='atm_vol', term=[3]):rolling_vol105,4575
- def aux(s, col, term):aux108,4737
-def vol_var(percentile=0.99, index='IG'):vol_var119,5215
-def lr_var(res):lr_var126,5468
-def index_rolling_returns(date=None, years=3, index="IG", tenor="5yr"):index_rolling_returns131,5668
-def get_index_spread(index, series, date, conn):get_index_spread142,6222
-def get_index_ref(index, series, date, expiry, conn):get_index_ref154,6616
-def get_strike(index, series, date, expiry, conn):get_strike167,7117
-def get_option_pnl(strike, expiry, index, series, start_date, engine):get_option_pnl180,7575
-def sell_vol_strategy(index="IG", months=3):sell_vol_strategy211,9053
-def aggregate_trades(d):aggregate_trades242,10473
-def compute_allocation(df):compute_allocation249,10617
- d1 = sell_vol_strategy(months=1)d1274,11400
- d2 = sell_vol_strategy(months=2)d2275,11437
- d3 = sell_vol_strategy(months=3)d3276,11474
- all_tenors = pd.concat([aggregate_trades(d) for d in [d1, d2, d3]], axis=1)all_tenors277,11511
-
-mailing_list.py,1332
-import smtplibsmtplib1,0
-from email.mime.application import MIMEApplicationMIMEApplication2,15
-from email.mime.multipart import MIMEMultipartMIMEMultipart3,66
-from email.mime.text import MIMETextMIMEText4,113
-from string import TemplateTemplate5,150
-from config import gmail_login, gmail_passwordgmail_login6,178
-from config import gmail_login, gmail_passwordgmail_password6,178
-import osos7,225
-import csvcsv8,235
-import syssys9,246
-import xlrdxlrd10,257
+mailing_list.py,854
root = "/home/share/serenitas/Fund Raising"root12,270
def get_mailinglist(name):get_mailinglist14,315
server = smtplib.SMTP('smtp.gmail.com:587')server25,762
@@ -547,30 +7728,11 @@ def get_mailinglist(name):get_mailinglist14,315
msg_alternative = MIMEMultipart('alternative')msg_alternative54,2237
name = " " + namename56,2309
-client.py,311
-import logginglogging1,0
-import osos2,15
-import redisredis3,25
-import socketsocket4,38
-import taskstasks5,52
-from json import loads, dumpsloads7,66
-from json import loads, dumpsdumps7,66
-from db import dbconndbconn8,96
+client.py,76
def run():run10,119
logger = logging.getLogger('intex')logger31,865
-position.py,1283
-from bbg_helpers import init_bbg_session, retrieve_data, BBG_IPinit_bbg_session1,0
-from bbg_helpers import init_bbg_session, retrieve_data, BBG_IPretrieve_data1,0
-from bbg_helpers import init_bbg_session, retrieve_data, BBG_IPBBG_IP1,0
-import pandas as pdpd2,64
-from sqlalchemy import create_enginecreate_engine3,84
-from pandas.tseries.offsets import BDayBDay4,121
-from pandas import bdate_rangebdate_range5,161
-import rere6,192
-import osos7,202
-import logginglogging8,212
-import syssys9,227
+position.py,769
def get_list(engine, workdate=None, asset_class=None, include_unsettled=True):get_list11,239
def get_list_range(engine, begin, end, asset_class=None):get_list_range25,1065
def backpopulate_marks(begin_str='2015-01-15', end_str='2015-07-15'):backpopulate_marks38,1832
@@ -582,13 +7744,7 @@ def populate_cashflow_history(engine, session, workdate=None):populate_cashflow
workdate = pd.Timestamp(sys.argv[1])workdate149,7718
workdate = pd.datetime.today()workdate151,7773
-load_globeop_report.py,823
-from glob import iglobiglob1,0
-import osos2,23
-import pandas as pdpd3,33
-from itertools import chainchain4,53
-from dates import bus_daybus_day5,81
-import pdbpdb6,107
+load_globeop_report.py,645
def get_globs(fname, years=['2013', '2014', '2015', '2016']):get_globs8,119
def valuation_reports():valuation_reports20,654
def pnl_reports():pnl_reports43,1565
@@ -600,72 +7756,25 @@ def monthly_pnl_bycusip(df, strats):monthly_pnl_bycusip64,2297
clo_strats = ['CLO_BBB', 'CLO_AAA', 'CLO_BB20']clo_strats77,2952
df_monthly = monthly_pnl_bycusip(df_pnl, subprime_strats)df_monthly82,3101
-markit/cds.py,492
-import ioio1,0
-import logginglogging2,11
-import osos3,27
-import requestsrequests4,38
-import shutilshutil5,55
-import zipfilezipfile6,70
-import timetime7,86
-from common import rootroot8,99
-from pandas.tseries.offsets import BDayBDay9,124
-logger = logging.getLogger(__name__)logger11,167
-def convertToNone(v):convertToNone13,207
-def download_cds_data(payload):download_cds_data16,261
-def download_composite_data(payload, historical=False):download_composite_data29,765
+markit/cds.py,238
+logger = logging.getLogger(__name__)logger11,186
+def convertToNone(v):convertToNone13,226
+def download_cds_data(payload):download_cds_data16,280
+def download_composite_data(payload, historical=False):download_composite_data29,784
markit/__init__.py,0
-markit/loans.py,554
-import csvcsv1,0
-import logginglogging2,12
-import osos3,28
-import requestsrequests4,39
-from common import rootroot6,58
-from db import with_connectionwith_connection7,83
-from psycopg2 import IntegrityErrorIntegrityError8,115
+markit/loans.py,316
logger = logging.getLogger(__name__)logger10,154
def download_facility(workdate, payload):download_facility12,194
def insert_facility(conn, workdate):insert_facility19,546
def download_marks(conn, workdate, payload):download_marks40,1427
def update_facility(conn, workdate, payload):update_facility60,2405
-markit/rates.py,467
-from db import dbconndbconn1,0
-from common import rootroot2,22
-import datetimedatetime3,46
-from io import BytesIOBytesIO4,62
-import osos5,85
-import pandas as pdpd6,95
-import requestsrequests7,115
-import xml.etree.ElementTree as ETxml8,131
-import xml.etree.ElementTree as ETetree8,131
-import xml.etree.ElementTree as ETET8,131
-import zipfilezipfile9,166
+markit/rates.py,92
def downloadMarkitIRData(download_date = datetime.date.today(),downloadMarkitIRData11,182
-markit/__main__.py,2429
-import argparseargparse1,0
-import datetimedatetime2,16
-import logginglogging3,32
-import numpy as npnp4,47
-import pandas as pdpd5,66
-import osos6,86
-import syssys7,96
-import logginglogging8,107
-from common import rootroot10,123
-from .cds import download_cds_data, download_composite_datadownload_cds_data11,147
-from .cds import download_cds_data, download_composite_datadownload_composite_data11,147
-from .loans import download_facility, insert_facility, download_marks, update_facilitydownload_facility12,207
-from .loans import download_facility, insert_facility, download_marks, update_facilityinsert_facility12,207
-from .loans import download_facility, insert_facility, download_marks, update_facilitydownload_marks12,207
-from .loans import download_facility, insert_facility, download_marks, update_facilityupdate_facility12,207
-from .rates import downloadMarkitIRDatadownloadMarkitIRData13,294
-from pandas.tseries.offsets import BDayBDay15,402
-from sqlalchemy import create_enginecreate_engine16,442
-from .utils import default_datedefault_date17,479
-from db import dbconndbconn18,511
+markit/__main__.py,1301
parser = argparse.ArgumentParser()parser21,553
group = parser.add_mutually_exclusive_group(required=True)group22,588
help="download markit loan data")help24,704
@@ -688,41 +7797,23 @@ formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(messag
serenitasdb = dbconn('serenitasdb')serenitasdb84,2835
engine = create_engine('postgresql://serenitas_user@debian/serenitasdb')engine88,2966
-markit/utils.py,115
-import pandas as pdpd1,0
-from pandas.tseries.offsets import BDayBDay2,20
+markit/utils.py,38
def default_date():default_date4,61
-markit/import_quotes.py,1026
-import csvcsv1,0
-import datetimedatetime2,11
-import logginglogging3,27
-import numpy as npnp4,42
-import pandas as pdpd5,61
-import osos6,81
-from collections import defaultdictdefaultdict8,92
-from common import rootroot9,128
-from pandas.tseries.offsets import BDayBDay10,152
+markit/import_quotes.py,736
logger = logging.getLogger(__name__)logger12,193
def convert(x):convert14,231
- ['EU' + str(s) for s in range(19, 27)]index_list24,550
+ ['EU' + str(s) for s in range(19, 28)]index_list24,550
DOC_CLAUSE_MAPPING14 = {'Full Restructuring': 'MM14',DOC_CLAUSE_MAPPING1426,603
DOC_CLAUSE_MAPPING = {'Full Restructuring': 'MM',DOC_CLAUSE_MAPPING30,776
def get_markit_bbg_mapping(database, basketid_list, workdate):get_markit_bbg_mapping34,937
def get_basketids(database, index_list, workdate):get_basketids59,2275
def get_current_tickers(database, workdate):get_current_tickers68,2558
def insert_cds(database, workdate):insert_cds72,2739
-def insert_index(engine, workdate=None):insert_index105,4478
-def insert_tranche(engine, workdate = None):insert_tranche144,6724
+def insert_index(engine, workdate=None):insert_index106,4519
+def insert_tranche(engine, workdate = None):insert_tranche145,6765
-calibrate_tranches.py,1636
-import numpy as npnp1,0
-from yieldcurve import YCYC3,51
-import yamlyaml4,77
-import datetimedatetime5,89
-import osos6,105
-import pandas as pdpd7,115
-import pdbpdb8,135
+calibrate_tranches.py,1455
n_int = 500n_int10,147
n_credit = 100n_credit11,159
indices = yaml.load(fh)indices15,243
@@ -751,11 +7842,7 @@ Rho = np.zeros((len(dates), 3))Rho22,575
u = rhou59,2073
l = rhol61,2115
-parse_preqin.py,719
-import osos1,0
-import bs4bs42,10
-import csvcsv3,21
-import rere4,32
+parse_preqin.py,644
root = "/home/share/serenitas/Fund Raising/Preqin/Investors/"root6,43
filelist = [f for f in os.listdir(root) if f.endswith('htm')]filelist7,105
fh2 = open(os.path.join(root, "investors3.csv"), "w")fh28,167
@@ -768,31 +7855,17 @@ sentinel={}sentinel93,3479
table_rows = table.findAll('tr')table_rows105,3844
fields = row.findAll('td')fields107,3928
-calibrate_swaption.py,833
-import pandas as pdpd1,0
-import argparseargparse2,20
-from analytics import Index, SwaptionIndex3,36
-from analytics import Index, SwaptionSwaption3,36
-import datetimedatetime4,74
-from db import dbconndbconn5,90
-from joblib import Parallel, delayedParallel6,112
-from joblib import Parallel, delayeddelayed6,112
-from pickle import loads, dumpsloads7,149
-from pickle import loads, dumpsdumps7,149
-from psycopg2.extensions import register_adapterregister_adapter8,181
-serenitasdb = dbconn('serenitasdb')serenitasdb10,231
-def get_data(index, series, date = datetime.date.min):get_data12,268
-def calib(d, option, expiry, index, series):calib23,869
-def calibrate(index_type, series, date, nproc):calibrate40,1524
- parser = argparse.ArgumentParser()parser60,2446
- args = parser.parse_args()args65,2781
+calibrate_swaption.py,464
+serenitas_engine = dbengine('serenitasdb')serenitas_engine9,206
+def get_data(index, series, date = datetime.date.min):get_data11,250
+def get_data_latest():get_data_latest26,967
+def calib(option, ref, strike, pay_bid, pay_offer, rec_bid, rec_offer):calib43,1751
+def calibrate(index_type=None, series=None, date=None, nproc=4, latest=False):calibrate64,2459
+ parser = argparse.ArgumentParser()parser86,3527
+ args = parser.parse_args()args92,3964
-backfill_index.py,821
-from sqlalchemy import MetaData, create_engine, TableMetaData1,0
-from sqlalchemy import MetaData, create_engine, Tablecreate_engine1,0
-from sqlalchemy import MetaData, create_engine, TableTable1,0
+backfill_index.py,589
engine = create_engine('postgresql://serenitas_user@debian/serenitasdb')engine2,54
-import pandas as pdpd3,127
metadata = MetaData(bind = engine)metadata5,148
index_quotes = Table('index_quotes', metadata, autoload=True)index_quotes6,183
series=[9]series8,283
@@ -802,27 +7875,20 @@ index_type ='HY'index_type11,363
stmt = index_quotes.delete().where((index_quotes.c.index==index_type) &stmt16,473
df = pd.read_excel('/home/share/CorpCDOs/index historical.xlsx', "{0} {1}".format(index, t))df20,724
-flask-run.py,108
-import syssys1,0
-import importlibimportlib2,11
+flask-run.py,57
mod = importlib.import_module(sys.argv[1])mod8,164
-xmltotab.py,266
-from lxml import etreeetree1,0
-import csvcsv2,23
+xmltotab.py,213
ns = '{urn:schemas-microsoft-com:office:spreadsheet}'ns4,35
doc = etree.parse('/home/share/guillaume/grid1_1cz1rlvt.xml')doc6,90
tree = doc.getroot()tree7,152
csvwriter = csv.writer(fh)csvwriter10,210
-insert_tranche_quotes_old.py,1326
-from sqlalchemy import Table, create_engine, MetaDataTable1,0
-from sqlalchemy import Table, create_engine, MetaDatacreate_engine1,0
-from sqlalchemy import Table, create_engine, MetaDataMetaData1,0
-import osos2,55
-import csvcsv3,66
-import datetimedatetime4,78
-import pdbpdb5,95
+task_runner.py,77
+def run():run12,210
+ logger = logging.getLogger('intex')logger36,1072
+
+insert_tranche_quotes_old.py,1035
engine = create_engine('postgresql://serenitas_user@debian/serenitasdb')engine7,109
metadata = MetaData(bind = engine)metadata8,183
quotes = Table('tranche_quotes', metadata, autoload = True)quotes9,219
@@ -840,11 +7906,7 @@ K = [0, 15, 25, 35, 100]K14,449
timestamp = datetime.datetime.strptime(csvdict['bidTime'], "%m/%d/%Y %H:%M:%S %p")timestamp32,1121
d = {'quotedate' : timestamp,d33,1217
-trade_booking.py,459
-import csvcsv1,0
-from datetime import date, datetimedate2,11
-from datetime import date, datetimedatetime2,11
-import osos3,47
+trade_booking.py,326
root = "//WDsentinel/share/Daily"root17,743
root = '/home/share/Daily'root19,806
def get_broker_codes():get_broker_codes21,838
@@ -853,21 +7915,11 @@ account_number = "602382.1"account_number30,1133
n_trades = 0n_trades32,1222
broker_codes = get_broker_codes()broker_codes33,1235
-tasks.py,415
-import subprocesssubprocess1,0
-from intex.intex_scenarios import generate_scenariosgenerate_scenarios2,18
-import osos3,71
-Rpath = os.path.join(os.environ['CODE_DIR'], "code", "R")Rpath5,82
-logpath = os.path.join(os.environ['CODE_DIR'], "logs")logpath6,140
-def build_portfolio(workdate, dealname, reinvflag):build_portfolio8,196
-def build_scenarios(workdate, dealname, reinvflag):build_scenarios14,541
+tasks.py,148
+def build_portfolio(workdate, dealname, reinvflag):build_portfolio5,82
+def build_scenarios(workdate, dealname, reinvflag):build_scenarios13,531
-adj_index_price.py,982
-from sqlalchemy import create_engine, MetaData, Table, bindparamcreate_engine1,0
-from sqlalchemy import create_engine, MetaData, Table, bindparamMetaData1,0
-from sqlalchemy import create_engine, MetaData, Table, bindparamTable1,0
-from sqlalchemy import create_engine, MetaData, Table, bindparambindparam1,0
-import pandas as pdpd2,65
+adj_index_price.py,639
index='HY'index4,86
series = [9]series6,138
engine = create_engine('postgresql://serenitas_user@debian/serenitasdb')engine9,206
@@ -878,21 +7930,7 @@ index_quotes= Table('index_quotes', metadata, autoload=True)index_quotes11,312
r = factors.ix[i].indexfactor/factors.ix[i+1].indexfactorr28,1248
stmt = index_quotes.update().where((index_quotes.c.date==bindparam('b_date')) &stmt34,1562
-intex/intex_scenarios.py,1702
-import csvcsv1,0
-import datetimedatetime2,11
-import jsonjson3,27
-import logginglogging4,39
-import osos5,54
-import os.pathos6,64
-import os.pathpath6,64
-import psycopg2psycopg27,79
-import rere8,95
-import syssys9,105
-import yamlyaml10,116
-from csv import readerreader13,150
-from common import rootroot14,173
-from db import dbconndbconn15,197
+intex/intex_scenarios.py,1335
logger = logging.getLogger(__name__)logger17,220
pattern1 = re.compile("REINVEST\[\w+::REINV_TBA(\d)\]\[DEAL,(\d+)\]=.*$")pattern119,258
pattern2 = re.compile("(STANDARD_VAR\[)\w+(::#REINV_END,\d+\]=)(\d.*$)")pattern221,349
@@ -905,65 +7943,34 @@ global_reinvfloatpercentage = 84global_reinvfloatpercentage30,809
global_reinvfixedpercentage = 16global_reinvfixedpercentage31,842
def get_reinv_assets(conn, dealname, workdate):get_reinv_assets33,876
def get_recovery(conn, dealname, workdate, defaultrecovery = 50):get_recovery43,1207
-def get_reinvenddate(conn, dealname):get_reinvenddate59,1842
-def generate_scenarios(workdate, dealname, conn):generate_scenarios70,2215
- workdate = sys.argv[1]workdate230,10395
- workdate = str(datetime.date.today())workdate232,10436
- dealnames = sys.argv[2:]dealnames234,10508
- dealnames = [d.split(".")[0] for d indealnames236,10551
- ET = dbconn('etdb')ET240,10778
+def get_reinvenddate(conn, dealname):get_reinvenddate59,1868
+def generate_scenarios(workdate, dealname, conn):generate_scenarios70,2241
+ workdate = sys.argv[1]workdate230,10421
+ workdate = str(datetime.date.today())workdate232,10462
+ dealnames = sys.argv[2:]dealnames234,10534
+ dealnames = [d.split(".")[0] for d indealnames236,10577
+ ET = dbconn('etdb')ET240,10804
intex/__init__.py,0
-intex/load_indicative.py,1078
-import psycopg2psycopg21,0
-import osos2,16
-import datetimedatetime3,26
-from datetime import datedate4,42
-import csv, sys, recsv5,68
-import csv, sys, resys5,68
-import csv, sys, rere5,68
-import pdbpdb6,88
-from common import root, sanitize_floatroot7,99
-from common import root, sanitize_floatsanitize_float7,99
-from db import dbconndbconn8,139
-from contextlib import closingclosing9,161
-import logginglogging10,192
+intex/load_indicative.py,639
logger = logging.getLogger(__name__)logger12,208
def convertToNone(s):convertToNone14,246
def insert_new_cusip(conn, line):insert_new_cusip17,316
def upload_cusip_data(conn, filename):upload_cusip_data38,1333
-def upload_deal_data(conn, filename):upload_deal_data100,4267
- workdate = sys.argv[1]workdate181,8528
- workdate = str(datetime.date.today())workdate183,8569
- files = [os.path.join(root, "data", "Indicative_" + workdate, f) for f infiles184,8615
- cusip_files = [f for f in files if "TrInfo" in f]cusip_files186,8772
- deal_files = [f for f in files if "TrInfo" not in f]deal_files187,8826
+def upload_deal_data(conn, filename):upload_deal_data100,4294
+ workdate = sys.argv[1]workdate182,8603
+ workdate = str(datetime.date.today())workdate184,8644
+ files = [os.path.join(root, "data", "Indicative_" + workdate, f) for f infiles185,8690
+ cusip_files = [f for f in files if "TrInfo" in f]cusip_files187,8847
+ deal_files = [f for f in files if "TrInfo" not in f]deal_files188,8901
-intex/__main__.py,323
-import syssys1,0
-import datetimedatetime2,11
-from db import dbconndbconn3,27
-from .load_intex_collateral import intex_dataintex_data4,49
-import logginglogging5,95
+intex/__main__.py,150
logger = logging.getLogger('intex')logger6,110
workdate = sys.argv[1]workdate10,212
workdate = str(datetime.date.today())workdate12,245
-intex/load_intex_collateral.py,908
-import psycopg2psycopg21,0
-import os, csv, datetimeos2,16
-import os, csv, datetimecsv2,16
-import os, csv, datetimedatetime2,16
-import pdbpdb3,41
-from common import root, sanitize_floatroot4,52
-from common import root, sanitize_floatsanitize_float4,52
-from db import dbconndbconn5,92
-import syssys6,114
-import uuiduuid7,125
-from .load_indicative import upload_cusip_data, upload_deal_dataupload_cusip_data8,137
-from .load_indicative import upload_cusip_data, upload_deal_dataupload_deal_data8,137
-import logginglogging9,202
+intex/load_intex_collateral.py,359
logger = logging.getLogger(__name__)logger11,218
fields = ['Asset Name', 'Issuer', 'Contributed Balance', 'Asset Maturity Date',fields13,256
def convertToNone(s):convertToNone21,765
@@ -971,140 +7978,163 @@ def windows1252_encoder(fh):windows1252_encoder24,820
def upload_data(conn, dealnames, workdate):upload_data28,928
def intex_data(conn, workdate):intex_data136,6666
-intex/common.py,166
-import osos1,0
+intex/common.py,149
root = "//WDsentinel/share/CorpCDOs"root4,30
root = '/home/share/CorpCDOs'root6,96
def sanitize_float(intex_float):sanitize_float8,131
-analytics/__init__.py,148
-from .index import Index, ForwardIndexIndex1,0
-from .index import Index, ForwardIndexForwardIndex1,0
-from .option import SwaptionSwaption2,39
+analytics/__init__.py,0
+
+analytics/option.py,2486
+def calib(S0, fp, exercise_date, exercise_date_settle,calib30,756
+def memoize(f):memoize38,1087
+ def cached_f(*args, **kwargs):cached_f40,1117
+def ATMstrike(index, exercise_date):ATMstrike51,1400
+class BlackSwaption(ForwardIndex):BlackSwaption70,1923
+ __slots__ = ['_forward_yc', '_T', '_G', '_strike', 'option_type',__slots__72,1983
+ def __init__(self, index, exercise_date, strike, option_type="payer",__init__75,2122
+ def from_tradeid(cls, trade_id, index=None):from_tradeid88,2588
+ def exercise_date(self):exercise_date105,3395
+ def exercise_date(self, d):exercise_date109,3484
+ def strike(self):strike116,3732
+ def strike(self, K):strike123,3898
+ def atm_strike(self):atm_strike134,4335
+ def moneyness(self):moneyness142,4575
+ def direction(self):direction146,4660
+ def direction(self, d):direction153,4809
+ def intrinsic_value(self):intrinsic_value162,5065
+ def __hash__(self):__hash__167,5283
+ def pv(self):pv172,5471
+ def pv(self, val):pv186,6018
+ def handle(x):handle196,6395
+ def reset_pv(self):reset_pv208,6689
+ def pnl(self):pnl212,6764
+ def delta(self):delta222,7100
+ def T(self):T237,7582
+ def gamma(self):gamma244,7754
+ def theta(self):theta257,8091
+ def vega(self):vega265,8262
+ def DV01(self):DV01274,8463
+ def breakeven(self):breakeven284,8722
+ def __repr__(self):__repr__299,9320
+ def __str__(self):__str__327,10943
+class Swaption(BlackSwaption):Swaption330,11028
+ __slots__ = ["_cache", "_Z", "_w"]__slots__331,11059
+ def __init__(self, index, exercise_date, strike, option_type="payer",__init__332,11098
+ def __hash__(self):__hash__338,11351
+ def pv(self):pv343,11437
+ def pv(self, val):pv377,13031
+ def handle(x):handle381,13129
+ def __setpv_black(self, val):__setpv_black397,13522
+ pv_black = property(None, __setpv_black)pv_black407,13903
+def compute_vol(option, strike, mid):compute_vol410,13950
+class VolatilitySurface(ForwardIndex):VolatilitySurface419,14135
+ def __init__(self, index_type, series, tenor='5yr', trade_date=datetime.date.today()):__init__420,14174
+ def vol(self, T, moneyness, surface_id):vol444,15500
+ def list(self, source=None, option_type=None, model=None):list448,15665
+ def __iter__(self):__iter__458,16043
+ def plot(self, surface_id):plot461,16106
+ def __getitem__(self, surface_id):__getitem__472,16544
-analytics/option.py,2006
-from __future__ import divisiondivision1,0
-import arrayarray3,33
-import datetimedatetime4,46
-import mathmath5,62
-import numpy as npnp6,74
-import pandas as pdpd7,93
-from .black import blackblack9,114
-from .utils import GHquadGHquad10,139
-from .index import g, ForwardIndexg11,165
-from .index import g, ForwardIndexForwardIndex11,165
-from yieldcurve import roll_ycroll_yc12,200
-from pandas.tseries.offsets import BDayBDay13,231
- import cPickle as picklepickle15,276
- import picklepickle17,325
-from pickle import dumpsdumps18,343
-from functools import wrapswraps20,369
-from pyisda.curve import SpreadCurveSpreadCurve21,397
-from pyisda.flat_hazard import pv_vecpv_vec22,434
-from scipy.optimize import brentqbrentq23,472
-from scipy.integrate import simpssimps24,506
-def calib(S0, fp, exercise_date, exercise_date_settle,calib26,541
-def memoize(f):memoize34,872
- def cached_f(*args, **kwargs):cached_f36,902
-def ATMstrike(index, exercise_date):ATMstrike47,1185
-class Swaption(ForwardIndex):Swaption60,1586
- def __init__(self, index, exercise_date, strike,__init__62,1641
- def exercise_date(self):exercise_date77,2213
- def exercise_date(self, d):exercise_date81,2304
- def strike(self):strike88,2571
- def strike(self, K):strike95,2732
- def handle(S, index, forward_date, forward_yc):handle99,2899
- def intrinsic_value(self):intrinsic_value116,3589
- def __hash__(self):__hash__120,3743
- def pv(self):pv126,3943
- def pv(self, val):pv160,5506
- def handle(x):handle169,5858
- def pv_black(self):pv_black188,6319
- def pv_black(self, val):pv_black200,6934
- def handle(x):handle206,7204
- def delta(self):delta219,7498
- def T(self):T232,7899
- def gamma(self):gamma239,8071
- def theta(self):theta251,8365
- def vega(self):vega259,8536
- def DV01(self):DV01267,8702
- def breakeven(self):breakeven277,8922
- def __repr__(self):__repr__305,9848
+analytics/portfolio.py,941
+serenitasdb = dbengine('serenitasdb')serenitasdb8,185
+def portf_repr(method):portf_repr10,224
+ def f(*args):f11,248
+class Portfolio:Portfolio31,1084
+ def __init__(self, trades):__init__32,1101
+ def pnl(self):pnl52,1904
+ def pnl_list(self):pnl_list56,1985
+ def pv(self):pv60,2068
+ def pv_list(self):pv_list64,2147
+ def reset_pv(self):reset_pv67,2214
+ def trade_date(self):trade_date72,2308
+ def trade_date(self, d):trade_date76,2390
+ def mark(self, source_list=[], option_type=None, model="black", surface_id=None):mark85,2683
+ def ref(self):ref109,3995
+ def ref(self, val):ref116,4176
+ def delta(self):delta130,4674
+ def gamma(self):gamma137,4915
+ def dv01(self):dv01141,5030
+ def theta(self):theta145,5113
+ def _todf(self):_todf148,5184
+ __repr__ = portf_repr('string')__repr__167,6118
+ _repr_html_ = portf_repr('html')_repr_html_169,6155
-analytics/black.py,224
-import mathmath1,0
-from scipy.stats import normnorm2,12
-def d1(F, K, sigma, T):d14,42
-def d2(F, K, sigma, T):d27,140
-def d12(F, K, sigma, T):d1210,218
-def black(F, K, T, sigma, option_type = "payer"):black16,372
+analytics/black.py,184
+def d1(F, K, sigma, T):d15,85
+def d2(F, K, sigma, T):d28,178
+def d12(F, K, sigma, T):d1212,287
+def cnd_erf(d):cnd_erf21,495
+def black(F, K, T, sigma, payer=True):black26,655
-analytics/index.py,2854
-from __future__ import divisiondivision1,0
-import datetimedatetime2,32
-import mathmath3,48
-import numpy as npnp4,60
-import pandas as pdpd5,79
-from pyisda.legs import ContingentLeg, FeeLegContingentLeg7,100
-from pyisda.legs import ContingentLeg, FeeLegFeeLeg7,100
-from quantlib.settings import SettingsSettings8,146
-from quantlib.time.api import Date, Actual365FixedDate9,185
-from quantlib.time.api import Date, Actual365FixedActual365Fixed9,185
-from termcolor import coloredcolored10,236
-from pandas.tseries.offsets import BDayBDay11,266
-from db import dbconndbconn12,306
-from psycopg2 import DataErrorDataError13,328
-from pyisda.curve import SpreadCurveSpreadCurve14,359
-from .utils import previous_twentiethprevious_twentieth15,396
-from scipy.optimize import brentqbrentq16,434
-from yieldcurve import YC, ql_to_jp, roll_yc, rate_helpersYC17,468
-from yieldcurve import YC, ql_to_jp, roll_yc, rate_helpersql_to_jp17,468
-from yieldcurve import YC, ql_to_jp, roll_yc, rate_helpersroll_yc17,468
-from yieldcurve import YC, ql_to_jp, roll_yc, rate_helpersrate_helpers17,468
-serenitasdb = dbconn('serenitasdb')serenitasdb19,528
-def g(index, spread, exercise_date, forward_yc = None):g21,566
-class Index(object):Index35,1301
- def __init__(self, start_date, end_date, recovery, fixed_rate,__init__37,1376
- def start_date(self):start_date66,2333
- def end_date(self):end_date70,2406
- def start_date(self, d):start_date74,2484
- def end_date(self, d):end_date80,2688
- def spread(self):spread86,2885
- def _update(self):_update92,3021
- def spread(self, s):spread108,3911
- def flat_hazard(self):flat_hazard115,4099
- def pv(self):pv121,4277
- def accrued(self):accrued125,4350
- def days_accrued(self):days_accrued129,4460
- def clean_pv(self):clean_pv133,4543
- def price(self):price137,4628
- def price(self, val):price141,4695
- def handle(x, self, val):handle143,4790
- def DV01(self):DV01158,5251
- def IRDV01(self):IRDV01166,5413
- def rec_risk(self):rec_risk186,5993
- def jump_to_default(self):jump_to_default200,6379
- def risky_annuity(self):risky_annuity204,6492
- def trade_date(self):trade_date208,6587
- def trade_date(self, d):trade_date215,6788
- def from_name(cls, index, series, tenor, trade_date = datetime.date.today(),from_name232,7501
- def __repr__(self):__repr__257,8527
-class ForwardIndex(object):ForwardIndex310,11913
- def __init__(self, index, forward_date, ref_is_price = False):__init__311,11941
- def forward_annuity(self):forward_annuity320,12311
- def forward_pv(self):forward_pv324,12394
- def forward_spread(self):forward_spread328,12467
- def ref(self):ref332,12554
- def ref(self, val):ref339,12702
- def _update(self):_update350,13085
+analytics/scenarios.py,403
+def run_swaption_scenarios(swaption, date_range, spread_shock, vol_shock,run_swaption_scenarios11,264
+def run_index_scenarios(index, date_range, spread_shock, params=['pnl']):run_index_scenarios43,1387
+def _aux(portf, curr_vols, params, vs):_aux56,1849
+def MaybePool(nproc):MaybePool62,2068
+def run_portfolio_scenarios(portf, date_range, spread_shock, vol_shock,run_portfolio_scenarios65,2136
-analytics/utils.py,253
-import numpy as npnp1,0
-from scipy.special import h_rootsh_roots2,19
-from dateutil.relativedelta import relativedeltarelativedelta3,53
-import datetimedatetime4,102
-def GHquad(n):GHquad6,119
-def previous_twentieth(d):previous_twentieth11,242
+analytics/index.py,2582
+engine = dbengine('serenitasdb')engine22,647
+def g(index, spread, exercise_date, forward_yc=None, pv=0.):g24,682
+def _key_from_index(index):_key_from_index42,1553
+class Index(object):Index48,1737
+ __slots__ = ['fixed_rate', 'notional', '_start_date', '_end_date',__slots__50,1812
+ def __init__(self, start_date, end_date, recovery, fixed_rate,__init__57,2303
+ def __hash__(self):__hash__94,3693
+ def start_date(self):start_date98,3821
+ def end_date(self):end_date102,3894
+ def start_date(self, d):start_date106,3972
+ def end_date(self, d):end_date112,4181
+ def spread(self):spread118,4383
+ def direction(self):direction124,4532
+ def direction(self, d):direction131,4684
+ def _update(self):_update139,4928
+ def spread(self, s):spread156,5844
+ def flat_hazard(self):flat_hazard164,6058
+ def pv(self):pv170,6222
+ def pv(self, val):pv174,6330
+ def accrued(self):accrued180,6564
+ def days_accrued(self):days_accrued185,6718
+ def clean_pv(self):clean_pv189,6801
+ def price(self):price193,6920
+ def price(self, val):price197,6987
+ def ref(self):ref219,8078
+ def ref(self, val):ref226,8222
+ def DV01(self):DV01233,8367
+ def theta(self):theta241,8562
+ def IRDV01(self):IRDV01252,9010
+ def rec_risk(self):rec_risk271,9582
+ def jump_to_default(self):jump_to_default284,9962
+ def risky_annuity(self):risky_annuity289,10122
+ def trade_date(self):trade_date293,10217
+ def trade_date(self, d):trade_date300,10418
+ def reset_pv(self):reset_pv320,11295
+ def pnl(self):pnl325,11436
+ def notify(self):notify335,11879
+ def observe(self, obj):observe339,11963
+ def mark(self):mark342,12027
+ def from_name(cls, index=None, series=None, tenor=None, trade_date=datetime.date.today(),from_name358,12728
+ def from_tradeid(cls, trade_id):from_tradeid408,15130
+ def __repr__(self):__repr__429,15989
+class ForwardIndex(object):ForwardIndex474,18539
+ __slots__ = ['index', 'forward_date', 'exercise_date_settle', 'df',__slots__475,18567
+ def __init__(self, index, forward_date):__init__478,18742
+ def from_name(cls, index_type, series, tenor, forward_date,from_name487,19075
+ def forward_annuity(self):forward_annuity493,19343
+ def forward_pv(self):forward_pv497,19426
+ def forward_spread(self):forward_spread501,19499
+ def ref(self):ref505,19586
+ def ref(self, val):ref509,19652
+ def __hash__(self):__hash__512,19706
+ def _update(self, *args):_update515,19830
+
+analytics/utils.py,239
+def GHquad(n):GHquad7,139
+def previous_twentieth(d):previous_twentieth12,262
+def next_twentieth(d):next_twentieth21,466
+def roll_date(d, tenor):roll_date30,671
+def build_table(rows, format_strings, row_format):build_table62,2046
templates/template-2014-05-19.html,0
@@ -1140,63 +8170,174 @@ templates/template-2015-04-20.html,0
templates/template-2014-04-16.html,0
-tranche_functions.py,1933
-import numpy as npnp1,0
-from quantlib.time.schedule import Schedule, CDSSchedule3,40
-from quantlib.time.schedule import Schedule, CDSCDS3,40
-from quantlib.time.api import Actual360, Period, UnitedStates, Following, todayActual3604,89
-from quantlib.time.api import Actual360, Period, UnitedStates, Following, todayPeriod4,89
-from quantlib.time.api import Actual360, Period, UnitedStates, Following, todayUnitedStates4,89
-from quantlib.time.api import Actual360, Period, UnitedStates, Following, todayFollowing4,89
-from quantlib.time.api import Actual360, Period, UnitedStates, Following, todaytoday4,89
-from quantlib.util.converter import qldate_to_pydate, pydate_to_qldateqldate_to_pydate5,169
-from quantlib.util.converter import qldate_to_pydate, pydate_to_qldatepydate_to_qldate5,169
-import pandas as pdpd6,240
-from scipy.special import h_rootsh_roots7,260
-from common import rootroot8,294
-import osos9,318
-libloss = np.ctypeslib.load_library("lossdistrib", os.path.join(root, "code/R/lossdistrib/src"))libloss11,329
-libgq = np.ctypeslib.load_library("GHquad", os.path.join(root, "code", "python"))libgq48,1930
-def GHquad(n):GHquad53,2228
-def stochasticrecov(R, Rtilde, Z, w, rho, porig, pmod):stochasticrecov57,2308
-def fitprob(Z, w, rho, p0):fitprob63,2604
-def BCloss_recov_dist(defaultprob, issuerweights, recov, rho, Z, w, Ngrid = 101, defaultflag = False):BCloss_recov_dist68,2780
-def adjust_attachments(K, losstodate, factor):adjust_attachments78,3343
-def trancheloss(L, K1, K2):trancheloss85,3543
-def trancherecov(R, K1, K2):trancherecov88,3629
-def tranche_cl(L, R, cs, K1, K2, scaled = False):tranche_cl91,3724
-def tranche_pl(L, cs, K1, K2, scaled=False):tranche_pl104,4223
-def tranche_pv(L, R, cs, K1, K2):tranche_pv116,4604
-def creditSchedule(tradedate, tenor, coupon, yc, enddate = None):creditSchedule119,4707
-def cdsAccrued(tradedate, coupon):cdsAccrued137,5475
+tranche_functions.py,1770
+def wrapped_ndpointer(*args, **kwargs):wrapped_ndpointer12,367
+ def from_param(cls, obj):from_param14,445
+libloss = np.ctypeslib.load_library("lossdistrib", "../R/lossdistrib/src/")libloss20,640
+def GHquad(n):GHquad94,3252
+def stochasticrecov(R, Rtilde, Z, w, rho, porig, pmod):stochasticrecov98,3332
+def fitprob(Z, w, rho, p0):fitprob104,3628
+def BCloss_recov_dist(defaultprob, issuerweights, recov, rho, Z, w, Ngrid=101, defaultflag=False):BCloss_recov_dist109,3804
+def lossdistrib_joint(p, pp, w, S, Ngrid=101, defaultflag=False):lossdistrib_joint119,4363
+def lossdistrib_joint_Z(p, pp, w, S, rho, Ngrid=101, defaultflag=False, nZ=500):lossdistrib_joint_Z159,5545
+def joint_default_averagerecov_distrib(p, S, Ngrid=101):joint_default_averagerecov_distrib216,7188
+def adjust_attachments(K, losstodate, factor):adjust_attachments247,8101
+def trancheloss(L, K1, K2):trancheloss254,8301
+def trancherecov(R, K1, K2):trancherecov257,8387
+def tranche_cl(L, R, cs, K1, K2, scaled = False):tranche_cl260,8482
+def tranche_pl(L, cs, K1, K2, scaled=False):tranche_pl273,8981
+def tranche_pv(L, R, cs, K1, K2):tranche_pv285,9362
+def creditSchedule(tradedate, tenor, coupon, yc, enddate = None):creditSchedule288,9465
+def cdsAccrued(tradedate, coupon):cdsAccrued306,10233
+def dist_transform(q):dist_transform318,10667
+def dist_transform2(q):dist_transform2333,11081
+def compute_pv(q, strike):compute_pv347,11482
+def average_recov(p, R, Ngrid):average_recov354,11684
+ n_issuers = 100n_issuers382,12690
+ p = np.random.rand(n_issuers)p383,12710
+ R = np.random.rand(n_issuers)R384,12744
+ Rbar = joint_default_averagerecov_distrib(p, 1-R, 1001)Rbar385,12778
+ Rbar_slow = average_recov(p, R, 1001)Rbar_slow386,12838
+
+exploration/beta_trade.py,633
+returns = index_returns(index=['IG', 'HY'], tenor='5yr')returns8,175
+returns = (returns.returns9,232
+returns = (returns.returns14,376
+vol_sma = returns.hy.rolling(20).std() * math.sqrt(252)vol_sma22,719
+vol_ewma = returns.hy.ewm(span=20).std() * math.sqrt(252)vol_ewma23,775
+scale = 10scale26,896
+am = arch_model(scale * returns.hy.dropna())am27,907
+res = am.fit()res28,952
+vol_garch = res.conditional_volatility * math.sqrt(252)/scalevol_garch29,967
+vol = pd.concat([vol_sma, vol_ewma, vol_garch], axis=1)vol30,1029
+beta_ewma = (returns.beta_ewma33,1109
+resids = returns.ig-beta_ewma*returns.hyresids39,1285
+
+exploration/sell_atm_vol.py,357
+option_delta = Index.from_name('ig', 28, '5yr')option_delta6,145
+payer = BlackSwaption(option_delta, datetime.date(2017, 5, 17), 67.5, direction='Short')payer9,254
+receiver = BlackSwaption(option_delta, datetime.date(2017, 8, 16), 62.5, 'receiver')receiver10,343
+portfolio = Portfolio([payer, receiver, option_delta])portfolio24,668
+r = []r27,804
+
+exploration/curve_trades.py,1293
+df = get_index_quotes("IG", [23, 24, 25, 26, 27], tenor=['3yr', '5yr', '7yr', '10yr'])df6,107
+spreads = df.groupby(level=['date', 'tenor']).nth(-1)['closespread'].unstack(-1)spreads7,194
+spreads = spreads.sort_index(1)spreads10,350
+spreads_diff = spreads.diff(axis=1)spreads_diff11,382
+spreads_diff = spreads_diff.filter([5, 7, 10])spreads_diff12,418
+df = index_returns(index='IG', series=[24, 25, 26, 27, 28], tenor=['3yr', '5yr', '7yr', '10yr'])df17,551
+returns = df.price_return.unstack(-1).dropna().groupby(level='date').nth(-1)returns19,670
+strategy510 = returns['5yr'] - 0.56 * returns['10yr']strategy51020,747
+strategy710 = returns['7yr'] - 0.75 * returns['10yr']strategy71021,801
+strategy3510 = -2*returns['3yr']+3*returns['5yr'] - returns['10yr']strategy351022,855
+monthly_returns510 = strategy510.groupby(pd.TimeGrouper(freq='M')).agg(lambda df:(1+df).prod()-1)monthly_returns51023,923
+monthly_returns710 = strategy710.groupby(pd.TimeGrouper(freq='M')).agg(lambda df:(1+df).prod()-1)monthly_returns71024,1021
+sharpe510 = strategy510.mean()/strategy510.std()*math.sqrt(252)sharpe51026,1120
+sharpe710 = strategy710.mean()/strategy710.std()*math.sqrt(252)sharpe71027,1184
+sharpe3510 = strategy3510.mean()/strategy3510.std()*math.sqrt(252)sharpe351028,1248
+
+exploration/option_trades.py,1222
+serenitasdb = dbengine('serenitasdb')serenitasdb14,300
+def realized_vol(index, series, tenor='5yr', date=None, years=None, return_type='spread'):realized_vol16,339
+def lr_var(res):lr_var28,972
+def atm_vol_fun(v, moneyness=0.2, index=None):atm_vol_fun41,1366
+def atm_vol(index, date, series=None, moneyness=0.2):atm_vol57,2034
+def atm_vol_calc(df, index):atm_vol_calc71,2636
+def rolling_vol(df, col='atm_vol', term=[3]):rolling_vol84,3200
+ def aux(s, col, term):aux87,3362
+def vol_var(percentile=0.99, index='IG'):vol_var98,3840
+def get_index_spread(index, series, date, conn):get_index_spread105,4090
+def get_index_ref(index, series, date, expiry, conn):get_index_ref117,4484
+def get_option_pnl(strike, expiry, index, series, start_date, engine):get_option_pnl130,4985
+def sell_vol_strategy(index="IG", months=3):sell_vol_strategy165,6666
+def aggregate_trades(d):aggregate_trades191,7973
+def compute_allocation(df):compute_allocation197,8116
+ d1 = sell_vol_strategy(months=1)d1221,8898
+ d2 = sell_vol_strategy(months=2)d2222,8935
+ d3 = sell_vol_strategy(months=3)d3223,8972
+ all_tenors = pd.concat([aggregate_trades(d) for d in [d1, d2, d3]], axis=1)all_tenors224,9009
+
+exploration/swaption_calendar_spread.py,847
+engine = dbengine('serenitasdb')engine23,645
+def shiftedColorMap(cmap, start=0, midpoint=0.5, stop=1.0, name='shiftedcmap'):shiftedColorMap25,680
+def plot_df(df, spread_shock, vol_shock, attr="pnl"):plot_df76,2455
+def plot_color_map(df, spread_shock, vol_shock, attr="pnl", path="."):plot_color_map91,3050
+def plot_time_color_map(df, spread_shock, attr="pnl", path=".", color_map = cm.RdYlGn):plot_time_color_map116,4193
+def dec_jan_2017_trade():dec_jan_2017_trade141,5261
+def april_may_2017_trade():april_may_2017_trade158,6151
+def april_may_2017_trade():april_may_2017_trade175,7043
+def may_june_2017_trade():may_june_2017_trade192,7935
+def portfolio_scenario_2():portfolio_scenario_2214,9157
+def portfolio():portfolio253,11194
+def portfolio_today():portfolio_today275,12458
+def probabilities():probabilities314,14424
+
+exploration/portfolio_example.py,697
+option_delta = Index.from_tradeid(870)option_delta23,808
+option1 = BlackSwaption.from_tradeid(5, option_delta)option124,847
+option2 = BlackSwaption.from_tradeid(6, option_delta)option225,901
+portf = Portfolio([option1, option2, option_delta])portf27,956
+date_range = pd.bdate_range(option_delta.trade_date,date_range28,1008
+vol_shock = np.arange(-0.15, 0.3, 0.01)vol_shock30,1129
+spread_shock = np.arange(-0.2, 0.3, 0.01)spread_shock31,1169
+vs = VolatilitySurface("IG", 27, trade_date=option_delta.trade_date)vs32,1211
+vol_surface = vs[vs.list(model="black")[-1]]vol_surface33,1280
+df = run_portfolio_scenarios(portf, date_range, spread_shock, vol_shock, vol_surface,df34,1325
-mark_backtest_underpar.py,1129
-import pandas as pdpd1,0
-from db import dbenginedbengine2,20
-import matplotlibmatplotlib3,44
-import numpy as npnp4,62
-import matplotlib.pyplot as pltmatplotlib5,81
-import matplotlib.pyplot as pltplt5,81
-import statsmodels.api as smstatsmodels6,113
-import statsmodels.api as smsm6,113
-from statsmodels.formula.api import glsgls7,142
-import seaborn as sbsb8,182
-df = pd.read_sql_table('external_marks_mapped',dbengine('dawndb'),df10,204
- parse_dates=['date'])parse_dates11,271
-df = df[df.source.notnull()]df12,316
-df_wide = (pd.pivot_table(df, 'mark', ['identifier', 'date'], 'source').df_wide13,345
- "from bonds where buysell = 'f'"df_trades17,567
- parse_dates=['trade_date'])parse_dates19,681
-df_trades = df_trades.sort_values('trade_date')df_trades20,739
-df_wide = pd.merge_asof(df_trades, df_wide, left_on='trade_date', right_on='date', by='identifier')df_wide21,787
-df_long = pd.merge_asof(df_trades, df, left_on='trade_date', right_on='date', by='identifier')df_long22,887
-params = (df_long.params29,1103
+murano.py,1029
+df = pd.read_table("/home/share/guillaume/murano leads.csv.txt", encoding="utf-16-le", low_memory=False)df6,71
+df = df.dropna(1, 'all')df8,204
+todrop = []todrop10,271
+df = df.drop(todrop, axis=1)df14,378
+df = df.drop([col for col in df if 'ID' in col], axis=1)df16,437
+website = df.Websitewebsite18,509
+website = website.replace("http://","")website19,530
+df = df.drop(['Teams', 'Do Not Call', 'Assigned User Name', 'Hit Status'], axis=1)df23,706
+col = df['Primary Address Country']col58,2741
+col = col.str.strip().str.title()col59,2777
+col = col.replace(["Republic Of Ireland", "United State Of America", "The Netherlands"],col60,2811
+def generate_table(df):generate_table64,2976
+def list_placeholders(df):list_placeholders99,4294
+def nat_to_null(d, _NULL=AsIs('NULL'),nat_to_null118,4962
+investorsdb = dbengine('investorsdb')investorsdb125,5202
+sql_str = "INSERT INTO investors VALUES({})".format(",".join(list_placeholders(df)))sql_str126,5240
+conn = investorsdb.raw_connection()conn127,5325
-insert_index.py,1523
-import datetimedatetime1,0
-from sqlalchemy import MetaData, create_engine, TableMetaData2,17
-from sqlalchemy import MetaData, create_engine, Tablecreate_engine2,17
-from sqlalchemy import MetaData, create_engine, TableTable2,17
+mark_backtest_underpar.py,2286
+df = pd.read_sql_table('external_marks_mapped', dbengine('dawndb'),df11,205
+ parse_dates=['date'])parse_dates12,273
+df = df[df.source.notnull()]df13,318
+df_wide = (pd.pivot_table(df, 'mark', ['identifier', 'date'], 'source').df_wide14,347
+df_trades = {}df_trades18,479
+ parse_dates=['trade_date'])parse_dates22,725
+ parse_dates=['trade_date'])parse_dates26,1018
+df_sell_wide = pd.merge_asof(df_trades['sell'], df_wide, left_on='trade_date', right_on='date', by='identifier')df_sell_wide30,1186
+df_wide_temp = df_wide.set_index('date').shift(periods = -1, freq= 'M', axis = 1).reset_index()df_wide_temp31,1299
+df_buy_wide = pd.merge_asof(df_trades['buy'], df_wide_tempdf_buy_wide32,1395
+d_sell = {}d_sell35,1542
+d_buy = {}d_buy36,1554
+df_long = {}df_long37,1565
+df_long = pd.concat(d_sell, join='inner')df_long47,2025
+df_long = df_long.append(pd.concat(d_buy, join='inner'))df_long48,2067
+df_long = df_long.reset_index().dropna(subset=['price','mark'])df_long49,2124
+diff_threshold = 5diff_threshold53,2277
+begindate = '2013-01-01'begindate54,2296
+enddate = '2018-01-01'enddate55,2321
+df_long = df_long[df_long.identifier.str.len() == 9]df_long57,2345
+df_long = df_long[(df_long['trade_date'] > begindate) & (df_long['trade_date'] < enddate)]df_long58,2398
+order = ['MANAGER','BROKER','BVAL','IDC','MARKIT','PB','PRICESERVE','PRICINGDIRECT','REUTERS','S&P']order70,2758
+g_sell = sb.FacetGrid(df_long[df_long.dir == 'sell'], hue='source', hue_kws={'s':[50] + [20]*9, 'marker': ["o"]+["s"]*9, 'alpha': [1]+[.4]*9}, legend_out=True, aspect = 2.1, size = 4, hue_order = order)g_sell73,2907
+ax_sell = g_sell.map(plt.scatter, 'mark', 'price').add_legend()ax_sell75,3151
+g_buy = sb.FacetGrid(df_long[df_long.dir == 'buy'], hue='source', hue_kws={'s':[50] + [20]*9, 'marker': ["o"]+["s"]*9, 'alpha': [1]+[.4]*9}, legend_out=True, aspect = 2.1, size = 4, hue_order = order)g_buy77,3216
+ax_buy = g_buy.map(plt.scatter, 'mark', 'price').add_legend()ax_buy79,3457
+params = {}params84,3647
+error = {}error85,3659
+trade_PNL = {}trade_PNL86,3670
+trade_PNL_stat = {}trade_PNL_stat87,3685
+buychart = trade_PNL['buy'].unstack(-1).plot()buychart102,4458
+
+insert_index.py,1288
engine = create_engine('postgresql://serenitas_user@debian/serenitasdb')engine4,74
metadata = MetaData(bind = engine)metadata5,148
index_desc = Table('index_desc', metadata, autoload=True)index_desc6,184
@@ -1225,31 +8366,16 @@ CFLAGS=-O2 -march=native -fpicCFLAGS1,0
LDLIBS=-lm -llapackLDLIBS2,31
LDFLAGS=-fpic -sharedLDFLAGS3,51
-test_upfront_cds.py,4012
-from quantlib.time.api import (WeekendsOnly, today, Years, Months,WeekendsOnly1,0
-from quantlib.time.api import (WeekendsOnly, today, Years, Months,today1,0
-from quantlib.time.api import (WeekendsOnly, today, Years, Months,Years1,0
-from quantlib.time.api import (WeekendsOnly, today, Years, Months,Months1,0
-from quantlib.instruments.api import CreditDefaultSwap, SELLER, BUYERCreditDefaultSwap5,270
-from quantlib.instruments.api import CreditDefaultSwap, SELLER, BUYERSELLER5,270
-from quantlib.instruments.api import CreditDefaultSwap, SELLER, BUYERBUYER5,270
-from quantlib.termstructures.default_term_structure import DefaultProbabilityTermStructureDefaultProbabilityTermStructure8,471
-from quantlib.settings import SettingsSettings11,689
-from yieldcurve import YC, rate_helpers, getMarkitIRDataYC12,728
-from yieldcurve import YC, rate_helpers, getMarkitIRDatarate_helpers12,728
-from yieldcurve import YC, rate_helpers, getMarkitIRDatagetMarkitIRData12,728
-import pandas as pdpd13,785
-from pyisda.curve import YieldCurve, BadDay, SpreadCurveYieldCurve14,805
-from pyisda.curve import YieldCurve, BadDay, SpreadCurveBadDay14,805
-from pyisda.curve import YieldCurve, BadDay, SpreadCurveSpreadCurve14,805
-from pyisda.utils import build_ycbuild_yc15,862
-from pyisda.cdsone import upfront_chargeupfront_charge16,896
-from pyisda.legs import ContingentLeg, FeeLegContingentLeg17,937
-from pyisda.legs import ContingentLeg, FeeLegFeeLeg17,937
-import datetimedatetime18,983
-import arrayarray19,999
-import mathmath20,1012
-import numpy as npnp21,1024
+index_data.py,455
+serenitasdb = dbengine('serenitasdb')serenitasdb6,96
+def insert_quotes():insert_quotes8,135
+def get_index_quotes(index=None, series=None, tenor=None, from_date=None, years=3):get_index_quotes41,1880
+ def make_str(key, val):make_str47,2164
+ def make_params(args):make_params63,2698
+def index_returns(df=None, index=None, series=None, tenor=None, from_date=None, years=3):index_returns78,3323
+ def add_accrued(df):add_accrued106,4487
+
+test_upfront_cds.py,2424
def snac_pv(spread, term_date, fixed_coupon=0.01, recovery=0.4, ts=YC()):snac_pv23,1044
def jpmorgan_curves(trade_date, value_date, start_date, end_date, spread, recovery=0.4):jpmorgan_curves45,2476
settings = Settings()settings54,2877
@@ -1280,10 +8406,7 @@ def jpmorgan_curves(trade_date, value_date, start_date, end_date, spread, recove
flat_curve2 = FlatHazardRate(0, WeekendsOnly(), h, Actual365Fixed())flat_curve288,4808
isda_pricer2 = IsdaCdsEngine(flat_curve2, 0.4, ts)isda_pricer289,4881
-test_hyoption.py,539
-from analytics import Index, SwaptionIndex1,0
-from analytics import Index, SwaptionSwaption1,0
-import datetimedatetime2,38
+test_hyoption.py,410
index = Index.from_name("hy", 27, "5yr",index3,54
trade_date = datetime.date(2016, 11, 16))trade_date4,95
exercise_date = datetime.date(2017, 3, 15)exercise_date6,182
@@ -1291,12 +8414,7 @@ strike = 102.5strike7,225
payer = Swaption(index, exercise_date, strike, strike_is_price = True)payer8,240
receiver = Swaption(index, exercise_date, strike, "receiver", strike_is_price = True)receiver13,374
-facility_download.py,698
-import requestsrequests1,0
-import osos2,17
-from common import rootroot3,28
-from db import conn, query_dbconn4,53
-from db import conn, query_dbquery_db4,53
+facility_download.py,533
legal = 'serecap'legal6,86
username = 'serecapuser'username7,105
password = 'Welcome1'password8,131
@@ -1306,15 +8424,7 @@ loan_ids = query_db(sqlstring, one=False)loan_ids28,972
r = requests.get('https://loans.markit.com/loanx/LoanXOneFacility.csv?LEGALENTITY={0}&USERNAME={1}&PASSWORD={2}&LOANXID={3}'.format(legal, username, password, loanxid[0]))r32,1162
flag = Trueflag38,1541
-bbg_prices.py,1658
-from bbg_helpers import init_bbg_session, retrieve_data, BBG_IPinit_bbg_session1,0
-from bbg_helpers import init_bbg_session, retrieve_data, BBG_IPretrieve_data1,0
-from bbg_helpers import init_bbg_session, retrieve_data, BBG_IPBBG_IP1,0
-from sqlalchemy import create_enginecreate_engine2,64
-import numpy as npnp3,101
-import pandas as pdpd4,120
-from psycopg2.extensions import register_adapter, AsIsregister_adapter6,141
-from psycopg2.extensions import register_adapter, AsIsAsIs6,141
+bbg_prices.py,1159
engine = create_engine('postgresql://et_user@debian/ET')engine10,257
fields_update = ["LN_ISSUE_STATUS", "AMT_OUTSTANDING", "PX_LAST","LAST_UPDATE_DT",fields_update12,315
"AND not called", engine, index_col='cusip')cusips20,812
@@ -1330,19 +8440,14 @@ currentdata = pd.read_sql_query("SELECT id_bb_unique, pricingdate from bloomberg
df = df.ix[df.index.difference(currentdata.index)]df50,2232
to_insert = df[['ID_BB_UNIQUE','LAST_UPDATE_DT','PX_LAST','LN_CURRENT_MARGIN',to_insert54,2365
-test_hyoption2.py,437
-from analytics import Index, SwaptionIndex1,0
-from analytics import Index, SwaptionSwaption1,0
-import datetimedatetime2,38
+test_hyoption2.py,308
index = Index.from_name("hy", 27, "5yr",index3,54
trade_date = datetime.date(2016, 11, 16))trade_date4,95
exercise_date = datetime.date(2017, 3, 15)exercise_date6,182
strike = 102.5strike7,225
payer = Swaption(index, exercise_date, strike, strike_is_price = True)payer8,240
-sftp.py,516
-import paramikoparamiko1,0
-import osos2,16
+sftp.py,469
hostname="alias.im"hostname4,27
port=22port5,47
username="guillaume"username6,55
@@ -1354,23 +8459,25 @@ hostkey = host_keys[hostname]['ssh-rsa']hostkey14,347
sftp = paramiko.SFTPClient.from_transport(t)sftp16,448
dirlist = sftp.listdir('.')dirlist17,493
-risk_insight/__init__.py,146
-from flask import FlaskFlask1,0
+mark_swaptions.py,817
+ level=logging.INFO,level13,295
+ format='%(asctime)s %(message)s')format14,335
+def get_trades(date, engine):get_trades16,390
+def get_swaptionvol(index, series, strike, expiry, date, engine):get_swaptionvol25,830
+def mark_trades(date, engine):mark_trades45,1697
+ parser = argparse.ArgumentParser()parser97,3990
+ type = lambda s: pd.datetime.strptime(s, "%Y-%m-%d").date()),type99,4076
+ dawn_engine = dbengine('dawndb')dawn_engine100,4162
+ serenitas_engine = dbengine('serenitasdb')serenitas_engine101,4199
+ args = parser.parse_args()args102,4246
+ workdate = (pd.Timestamp.today()-BDay()).date()workdate104,4307
+ workdate = args.workdateworkdate106,4373
+ r = mark_trades(workdate, dawn_engine)r108,4407
+
+risk_insight/__init__.py,31
app = Flask(__name__)app2,24
-import risk_insight.viewsrisk_insight3,46
-import risk_insight.viewsviews3,46
-risk_insight/views.py,860
-from risk_insight import appapp1,0
-from flask import render_template, jsonify, request, grender_template2,29
-from flask import render_template, jsonify, request, gjsonify2,29
-from flask import render_template, jsonify, request, grequest2,29
-from flask import render_template, jsonify, request, gg2,29
-import os, csv, yamlos3,84
-import os, csv, yamlcsv3,84
-import os, csv, yamlyaml3,84
-import datetimedatetime4,105
-import psycopg2psycopg25,121
+risk_insight/views.py,397
basedir = "/home/share/CorpCDOs"basedir7,138
def get_attach_from_name(index_type, series):get_attach_from_name8,171
def get_db():get_db25,709
@@ -1387,28 +8494,13 @@ risk_insight/templates/tranches.html,0
risk_insight/templates/indices.html,0
-Dawn/__init__.py,515
-from flask import FlaskFlask1,0
-import logginglogging2,24
-from flask_sqlalchemy import SQLAlchemySQLAlchemy3,39
-from sqlalchemy import MetaDataMetaData4,79
+Dawn/__init__.py,290
app = Flask(__name__)app6,112
db = SQLAlchemy(app, metadata = MetaData(schema=app.config['SCHEMA']))db8,165
fh = logging.FileHandler(filename=app.config['LOGFILE'])fh11,255
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')formatter13,346
-import Dawn.viewsDawn17,498
-import Dawn.viewsviews17,498
-Dawn/models.py,12086
-from flask_wtf import FormForm1,0
-from flask_wtf.file import FileFieldFileField2,27
-from sqlalchemy.dialects.postgresql import ENUMENUM3,64
-from wtforms import SelectFieldSelectField4,112
-from wtforms.validators import LengthLength5,144
-from wtforms_alchemy import model_form_factorymodel_form_factory6,182
-from sqlalchemy_utils import EmailType, PhoneNumberTypeEmailType7,229
-from sqlalchemy_utils import EmailType, PhoneNumberTypePhoneNumberType7,229
-from . import dbdb9,286
+Dawn/models.py,11647
class Counterparties(db.Model):Counterparties11,304
__tablename__ = 'counterparties'__tablename__12,336
code = db.Column(db.String(12), primary_key=True)code13,373
@@ -1554,43 +8646,18 @@ class SwaptionDeal(db.Model):SwaptionDeal178,9305
price = db.Column(db.Float, nullable = False)price198,10556
expiration_date = db.Column(db.Date, nullable = False)expiration_date199,10606
initial_margin_percentage = db.Column(db.Float)initial_margin_percentage200,10665
- security_id = db.Column(db.String(12), nullable = False)security_id201,10717
- security_desc = db.Column(db.String(32), nullable = False)security_desc202,10778
- fixed_rate = db.Column(db.Float, nullable = False)fixed_rate203,10841
- maturity = db.Column(db.Date, nullable = False)maturity204,10896
- currency = db.Column(CCY, nullable = False)currency205,10948
- counterparty = db.relationship(Counterparties)counterparty206,10996
-BaseModelForm = model_form_factory(Form)BaseModelForm208,11048
-class ModelForm(BaseModelForm):ModelForm209,11089
- def get_session(self):get_session211,11138
+ index_ref = db.Column(db.Float)index_ref201,10717
+ security_id = db.Column(db.String(12), nullable = False)security_id202,10753
+ security_desc = db.Column(db.String(32), nullable = False)security_desc203,10814
+ fixed_rate = db.Column(db.Float, nullable = False)fixed_rate204,10877
+ maturity = db.Column(db.Date, nullable = False)maturity205,10932
+ currency = db.Column(CCY, nullable = False)currency206,10984
+ counterparty = db.relationship(Counterparties)counterparty207,11032
+BaseModelForm = model_form_factory(Form)BaseModelForm209,11084
+class ModelForm(BaseModelForm):ModelForm210,11125
+ def get_session(self):get_session212,11174
-Dawn/views.py,3860
-from flask import (request, render_template, redirect,request1,0
-from flask import (request, render_template, redirect,render_template1,0
-from flask import (request, render_template, redirect,redirect1,0
-from .models import ModelForm, BondDeal, CDSDeal, SwaptionDeal, CounterpartiesModelForm3,127
-from .models import ModelForm, BondDeal, CDSDeal, SwaptionDeal, CounterpartiesBondDeal3,127
-from .models import ModelForm, BondDeal, CDSDeal, SwaptionDeal, CounterpartiesCDSDeal3,127
-from .models import ModelForm, BondDeal, CDSDeal, SwaptionDeal, CounterpartiesSwaptionDeal3,127
-from .models import ModelForm, BondDeal, CDSDeal, SwaptionDeal, CounterpartiesCounterparties3,127
-from sqlalchemy.exc import IntegrityErrorIntegrityError4,206
-from wtforms.fields import BooleanFieldBooleanField5,248
-import pandas as pdpd6,288
-from pandas.tseries.offsets import CustomBusinessDayCustomBusinessDay7,308
-from pandas.tseries.holiday import get_calendar, HolidayCalendarFactory, GoodFridayget_calendar8,361
-from pandas.tseries.holiday import get_calendar, HolidayCalendarFactory, GoodFridayHolidayCalendarFactory8,361
-from pandas.tseries.holiday import get_calendar, HolidayCalendarFactory, GoodFridayGoodFriday8,361
-import osos9,445
-import datetimedatetime10,455
-import redisredis11,471
-from .utils import load_counterparties, bump_rev, simple_serializeload_counterparties12,484
-from .utils import load_counterparties, bump_rev, simple_serializebump_rev12,484
-from .utils import load_counterparties, bump_rev, simple_serializesimple_serialize12,484
-from PyPDF2 import PdfFileMergerPdfFileMerger13,551
-from io import BytesIOBytesIO14,584
-from . import appapp15,607
-import socketsocket16,625
-import psycopg2psycopg217,639
+Dawn/views.py,2099
fed_cal = get_calendar('USFederalHolidayCalendar')fed_cal19,656
bond_cal = HolidayCalendarFactory('BondCalendar', fed_cal, GoodFriday)bond_cal20,707
bus_day = CustomBusinessDay(calendar=bond_cal())bus_day21,778
@@ -1645,59 +8712,32 @@ Dawn/templates/bond_blotter.html,0
Dawn/templates/counterparties.html,0
-Dawn/utils.py,352
-import pandas as pdpd1,0
-import osos2,20
-import rere3,30
-from pickle import dumpsdumps4,40
-from sqlalchemy import create_enginecreate_engine5,65
+Dawn/utils.py,197
def load_counterparties(engine):load_counterparties7,103
def load_trades(engine):load_trades26,1441
def bump_rev(filename):bump_rev57,3057
def simple_serialize(obj):simple_serialize63,3299
-trade_template.py,275
-from string import TemplateTemplate1,0
+trade_template.py,234
default = "\underline{\hspace{1cm}}"default3,29
checked = "\underline{\hspace{0.35cm}X\hspace{0.35cm}}"checked4,66
d = {}d5,122
texfile = Template(fh.read())texfile29,887
texfile = texfile.substitute(d)texfile30,921
-dates.py,1256
-import datetimedatetime1,0
-import pandas as pdpd2,16
-from pandas.tseries.offsets import CustomBusinessDay, Day, QuarterBeginCustomBusinessDay3,36
-from pandas.tseries.offsets import CustomBusinessDay, Day, QuarterBeginDay3,36
-from pandas.tseries.offsets import CustomBusinessDay, Day, QuarterBeginQuarterBegin3,36
-from pandas.tseries.holiday import get_calendar, HolidayCalendarFactory, GoodFridayget_calendar4,108
-from pandas.tseries.holiday import get_calendar, HolidayCalendarFactory, GoodFridayHolidayCalendarFactory4,108
-from pandas.tseries.holiday import get_calendar, HolidayCalendarFactory, GoodFridayGoodFriday4,108
-from analytics.utils import previous_twentiethprevious_twentieth5,192
-import unittestunittest6,239
-fed_cal = get_calendar('USFederalHolidayCalendar')fed_cal8,256
-bond_cal = HolidayCalendarFactory('BondCalendar', fed_cal, GoodFriday)bond_cal9,307
-bus_day = CustomBusinessDay(calendar=bond_cal())bus_day10,378
-def imm_dates(start_date, end_date):imm_dates12,428
-def days_accrued(tradedate):days_accrued20,764
-def isleapyear(date):isleapyear30,1209
-def yearfrac(date1, date2, daycount):yearfrac33,1317
-class TestDaysAccrued(unittest.TestCase):TestDaysAccrued50,1859
- def test(self):test51,1901
+dates.py,567
+fed_cal = get_calendar('USFederalHolidayCalendar')fed_cal9,259
+bond_cal = HolidayCalendarFactory('BondCalendar', fed_cal, GoodFriday)bond_cal10,310
+bus_day = CustomBusinessDay(calendar=bond_cal())bus_day11,381
+def imm_dates(start_date, end_date):imm_dates13,431
+def previous_twentieth(d):previous_twentieth21,767
+def days_accrued(tradedate):days_accrued30,982
+def isleapyear(date):isleapyear40,1427
+def yearfrac(date1, date2, daycount):yearfrac43,1535
+class TestDaysAccrued(unittest.TestCase):TestDaysAccrued60,2077
+ def test(self):test61,2119
-bbg_newids.py,2585
-from sqlalchemy import create_engine, MetaData, select, Column, func, bindparamcreate_engine1,0
-from sqlalchemy import create_engine, MetaData, select, Column, func, bindparamMetaData1,0
-from sqlalchemy import create_engine, MetaData, select, Column, func, bindparamselect1,0
-from sqlalchemy import create_engine, MetaData, select, Column, func, bindparamColumn1,0
-from sqlalchemy import create_engine, MetaData, select, Column, func, bindparamfunc1,0
-from sqlalchemy import create_engine, MetaData, select, Column, func, bindparambindparam1,0
-from collections import defaultdictdefaultdict2,80
-import pandas as pdpd3,116
-import numpy as npnp4,136
-from bbg_helpers import init_bbg_session, retrieve_data, BBG_IPinit_bbg_session5,155
-from bbg_helpers import init_bbg_session, retrieve_data, BBG_IPretrieve_data5,155
-from bbg_helpers import init_bbg_session, retrieve_data, BBG_IPBBG_IP5,155
+bbg_newids.py,1671
engine = create_engine('postgresql://et_user@debian/ET')engine7,220
meta = MetaData(bind=engine)meta8,277
deal_indicative = meta.tables['deal_indicative']deal_indicative11,388
@@ -1722,11 +8762,7 @@ pd_colnames = ['ID_BB_UNIQUE','LAST_UPDATE_DT','PX_LAST','LN_CURRENT_MARGIN',pd
sql_colnames = [c.name for c in bloomberg_corp.columns]sql_colnames72,3462
to_insert2 = df.filter(pd_colnames)to_insert273,3518
-option_exploration.py,2047
-import seabornseaborn7,62
-import pandas as pdpd9,130
-from scipy.interpolate import interp1dinterp1d10,150
-import numpy as npnp11,189
+option_exploration.py,1906
SQL_CON = 'postgresql://serenitas_user@debian/serenitasdb'SQL_CON16,220
df = pd.read_sql_table('swaption_quotes', SQL_CON, index_col=['quotedate', 'index', 'series', 'expiry'])df17,279
index_data = pd.read_sql_table('swaption_ref_quotes', SQL_CON, index_col=['quotedate', 'index', 'series', 'expiry'])index_data18,384
@@ -1754,31 +8790,7 @@ skew = df_26.otm_vol.IG-df_26.atm_vol.IGskew94,2788
skew = df_27.otm_vol.IG-df_27.atm_vol.IGskew100,2854
ig26_vol = df_vol_rolling.xs(('IG', 26), level=['indextype','series'])ig26_vol106,2920
-process_queue.py,2057
-import datetimedatetime1,0
-import redisredis2,16
-import socketsocket3,29
-import pandas as pdpd4,43
-import csvcsv5,63
-import syssys6,74
- from io import StringIOStringIO9,118
- from cStringIO import StringIOStringIO11,152
-from pickle import loadsloads13,188
-from ftplib import FTPFTP14,213
-import task_server.config as configtask_server15,236
-import task_server.config as configconfig15,236
-import osos16,272
-from sqlalchemy import create_enginecreate_engine17,282
-from bbg_helpers import init_bbg_session, retrieve_data, BBG_IPinit_bbg_session18,319
-from bbg_helpers import init_bbg_session, retrieve_data, BBG_IPretrieve_data18,319
-from bbg_helpers import init_bbg_session, retrieve_data, BBG_IPBBG_IP18,319
-import rere19,383
-from analytics.utils import previous_twentiethprevious_twentieth20,393
-from db import dbconndbconn21,440
-import logginglogging22,462
-import argparseargparse23,477
-import psycopg2psycopg224,493
-from send_email import EmailMessageEmailMessage25,509
+process_queue.py,1031
HEADERS = {'bond_trades':['Deal Type', 'Deal ID', 'Action', 'Client', 'Reserved', 'Reserved',HEADERS27,546
def decode_dict(d):decode_dict80,4858
def get_redis_queue():get_redis_queue84,5013
@@ -1787,40 +8799,40 @@ def aux(v):aux94,5319
def get_trades(q, queue_name='bond_trades'):get_trades104,5565
def build_line(obj, queue_name='bond_trades'):build_line118,6064
def get_bbg_data(conn, session, identifier, cusip=None, isin = None, settle_date = None, asset_class=None,get_bbg_data213,10371
-def bond_trade_process(conn, session, trade):bond_trade_process268,13279
-def cds_trade_process(serenitasdb, dawndb, session, trade):cds_trade_process288,14199
-def generate_csv(l, queue_name='bond_trades'):generate_csv303,14813
-def get_filename(timestamp, queue_name):get_filename314,15170
-def upload_file(timestamp, queue_name='bond_trades'):upload_file320,15425
-def write_buffer(buf, queue_name='bond_trades'):write_buffer329,15804
-def email_subject(trade):email_subject336,16081
+def bond_trade_process(conn, session, trade):bond_trade_process268,13259
+def cds_trade_process(serenitasdb, dawndb, session, trade):cds_trade_process288,14179
+def generate_csv(l, queue_name='bond_trades'):generate_csv303,14793
+def get_filename(timestamp, queue_name):get_filename314,15150
+def upload_file(timestamp, queue_name='bond_trades'):upload_file320,15405
+def write_buffer(buf, queue_name='bond_trades'):write_buffer329,15784
+def email_subject(trade):email_subject336,16061
-test.py,320
-import pandas as pdpd1,0
-df = pd.read_excel("/home/serenitas/Daily/2016/2016_10/2016-10-31/ReviewedPack.bseeman.SERENITAS.SERCGMAST.20161001.20161031.Draft.xlsx", "Securities Valuation Details", parse_cols = "JA:JX", skiprows=range(13))df2,20
-def get_globs(years=['2013', '2014', '2015', '2016']):get_globs4,235
+test.py,1205
+def run_swaption_senarios(swaption, date_range, spread_shift, vol_shift, vol_surface):run_swaption_senarios12,344
+def plot_df(df, spread_shock, vol_shock):plot_df35,1310
+ trade_date = datetime.date(2017, 2, 23)trade_date49,1813
+ ig27 = Index.from_name("IG", 27, '5yr', trade_date=trade_date)ig2750,1857
+ payer1 = Swaption(ig27, datetime.date(2017, 4, 19), 65)payer152,1942
+ payer2 = Swaption(ig27, datetime.date(2017, 5, 17), 72)payer253,2002
+ date_range = pd.bdate_range(trade_date, pd.Timestamp('2017-04-19') - BDay(), freq = '5B')date_range56,2118
+ vol_shock = np.arange(-0.15, 0.3, 0.01)vol_shock57,2212
+ spread_shock = np.arange(-0.2, 0.3, 0.01)spread_shock58,2256
+ vs = VolatilitySurface("IG", 27, trade_date=trade_date)vs59,2302
+ vol_surface = vs[vs.list()[-1]]vol_surface60,2362
+ df1 = run_swaption_senarios(payer1, date_range, spread_shock, vol_shock, vol_surface)df161,2398
+ df2 = run_swaption_senarios(payer2, date_range, spread_shock, vol_shock, vol_surface)df262,2488
+ df = df1df64,2591
+ df = df.assign(pv=df1.pv-df2.pv)df65,2604
+trade = Swaption.from_tradeid(3)trade71,2803
+index = Index.from_tradeid(873)index72,2836
-task_server/__init__.py,474
-from flask import FlaskFlask1,0
+task_server/__init__.py,319
app = Flask(__name__)app2,24
-import task_server.resttask_server3,46
-import task_server.restrest3,46
-import logginglogging4,70
-import osos5,85
fh = logging.FileHandler(filename=os.path.join(os.getenv("LOG_DIR"), 'tasks.log'))fh7,96
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')formatter8,179
loggers = [logging.getLogger('intex'), app.logger, logging.getLogger(__name__)]loggers11,293
-task_server/insert_tranche_quotes.py,1102
-from sqlalchemy import Table, create_engine, MetaDataTable1,0
-from sqlalchemy import Table, create_engine, MetaDatacreate_engine1,0
-from sqlalchemy import Table, create_engine, MetaDataMetaData1,0
-from sqlalchemy.exc import IntegrityError, DataErrorIntegrityError2,55
-from sqlalchemy.exc import IntegrityError, DataErrorDataError2,55
-import osos3,109
-import csvcsv4,120
-import datetimedatetime5,132
-import logginglogging6,149
+task_server/insert_tranche_quotes.py,658
logger = logging.getLogger(__name__)logger8,167
engine = create_engine('postgresql://serenitas_user@debian/serenitasdb')engine10,207
metadata = MetaData(bind = engine)metadata11,281
@@ -1833,18 +8845,7 @@ runningdict1 = {0: 500, 3:100, 7:100, 15: 25}runningdict134,874
runningdict2 = {0: 500, 3:500, 7:500, 10:100, 15:100, 30:100}runningdict235,921
def insert_quotes(year=2016, quote_dir=None):insert_quotes37,986
-task_server/rest.py,725
-import psycopg2psycopg21,0
-from psycopg2.extras import DictCursorDictCursor2,16
-import datetime, redisdatetime3,55
-import datetime, redisredis3,55
-from intex.load_intex_collateral import intex_dataintex_data4,78
-from .globeop import download_datadownload_data5,129
-from .insert_tranche_quotes import insert_quotesinsert_quotes6,164
-from task_server import appapp7,213
-from flask import request, grequest8,241
-from flask import request, gg8,241
-import jsonjson9,270
+task_server/rest.py,238
def get_db():get_db11,283
def get_queue():get_queue20,584
def close_db(error):close_db27,772
@@ -1853,96 +8854,111 @@ def globeop():globeop40,1117
def insert_tranches():insert_tranches46,1362
def run_tasks():run_tasks51,1470
-task_server/__main__.py,839
-import logginglogging1,0
-import argparseargparse2,15
-import datetimedatetime3,31
-from .globeop import download_data, upload_datadownload_data4,47
-from .globeop import download_data, upload_dataupload_data4,47
-from sqlalchemy import create_enginecreate_engine5,95
- level=logging.INFO,level8,207
- format='%(asctime)s %(message)s')format9,247
-parser = argparse.ArgumentParser()parser11,302
-group = parser.add_mutually_exclusive_group(required=True)group12,337
- help="download reports from GlobeOp")help16,559
- help="upload marks to GlobeOp")help18,675
- default=datetime.datetime.today())default20,824
-args = parser.parse_args()args21,879
- engine = create_engine('postgresql://dawn_user@debian/dawndb')engine26,979
+task_server/__main__.py,565
+ level=logging.INFO,level9,223
+ format='%(asctime)s %(message)s')format10,263
+parser = argparse.ArgumentParser()parser12,318
+group = parser.add_mutually_exclusive_group(required=True)group13,353
+ help="download reports from GlobeOp")help17,575
+ help="upload marks to GlobeOp")help19,691
+ default=datetime.datetime.today())default21,840
+args = parser.parse_args()args22,895
+ engine = create_engine('postgresql://dawn_user@debian/dawndb')engine27,995
+
+task_server/config.py,330
+ftp_password = 'B6#dEu7V'ftp_password1,0
+key_password = 'Serenitas;1'key_password2,27
+gmail_password = 'dweeks314'gmail_password3,57
+gmail_login = 'david.weeks@serenitascapital.com'gmail_login4,87
+markit_password = 'Welcome3!'markit_password5,137
+markit_login = 'guillaume.horel@serenitascapital.com'markit_login6,168
-task_server/globeop.py,963
-import osos1,0
-import os.pathos2,11
-import os.pathpath2,11
-from ftplib import FTPFTP3,27
-import gnupggnupg4,51
-from task_server import configconfig5,65
-import rere6,97
-import logginglogging7,108
-import shutilshutil8,124
-import pandas as pdpd9,139
-from sqlalchemy import create_enginecreate_engine10,160
+task_server/globeop.py,548
logger = logging.getLogger(__name__)logger12,200
- import pandas as pdpd15,246
- from pandas.tseries.offsets import BDayBDay16,271
root = "//diskstation/Daily"root21,369
root = '/home/serenitas/Daily'root23,429
def get_ped(s):get_ped25,467
def key_fun(s):key_fun35,773
def run_date(s):run_date45,1090
-def get_ftp(folder):get_ftp48,1177
-def get_gpg():get_gpg54,1320
-def download_data(workdate):download_data63,1666
-def upload_bond_marks(engine, workdate):upload_bond_marks112,4019
-def upload_cds_marks(engine, workdate):upload_cds_marks124,4608
-def upload_data(engine, workdate):upload_data136,5204
+def get_ftp(folder):get_ftp52,1288
+def get_gpg():get_gpg58,1431
+def download_data(workdate):download_data67,1777
+def upload_bond_marks(engine, workdate):upload_bond_marks116,4130
+def upload_cds_marks(engine, workdate):upload_cds_marks128,4719
+def upload_data(engine, workdate):upload_data140,5315
+
+parse_gs.py,2375
+data_dir = "/home/share/guillaume/swaptions"data_dir6,52
+all_df = {}all_df7,97
+fwd_index = []fwd_index8,109
+ full_path = os.path.join(data_dir, index + " swaptions")full_path10,151
+ flag = Falseflag13,342
+ masterdf = {}masterdf14,367
+ line = line.decode('utf-8', 'ignore')line16,421
+ line = line.rstrip()line17,475
+ m = re.search("(IG|HY)(\d{2}) 5y (?:.*)SWAPTION (?:UPDATE|CLOSES|CLOSE) - Ref\D+(.+)$", line)m18,512
+ indextype = m.groups()[0]indextype20,644
+ series = int(m.groups()[1])series21,690
+ refspread = float(m.groups()[2])refspread26,972
+ quotedate = pd.to_datetime(line[4:])quotedate29,1100
+ m = re.match("Expiry (\d{2}\w{3}\d{2}) \((?:([\S]+) )?([\S]+)\)", line)m32,1232
+ date = pd.to_datetime(date, format='%d%b%y')date35,1411
+ flag = Trueflag38,1552
+ r = []r39,1584
+ vals = re.sub(" +", " ", line).split(" ")vals43,1694
+ cols = ['Strike', 'Sprd', 'Pay', 'DeltaPay', 'Rec', 'Vol',cols54,2136
+ cols = ['Strike', 'Pay', 'DeltaPay', 'Rec', 'Vol',cols57,2317
+ df = pd.DataFrame.from_records(r, columns = cols)df59,2460
+ d = {'quotedate': quotedate,d67,2961
+ flag = Falseflag79,3521
+ r = []r80,3558
+all_df = pd.concat(all_df, names = ['quotedate', 'index', 'series'])all_df83,3709
+index_df = pd.DataFrame(fwd_index)index_df86,3845
+all_df = all_df.rename(columns={'Strike':'strike',all_df89,3914
+index_df = index_df.drop_duplicates(['quotedate', 'index', 'series', 'expiry'])index_df101,4450
+serenitasdb = dbengine('serenitasdb')serenitasdb105,4571
+conn = serenitasdb.raw_connection()conn106,4609
+ "ON CONFLICT DO NOTHING"format_str108,4710
+cols = index_df.columnscols109,4748
+sqlstr = format_str.format(",".join(cols), ",".join(["%s"] * len(cols)))sqlstr110,4772
+format_str = "INSERT INTO swaption_quotes({}) VALUES({}) ON CONFLICT DO NOTHING"format_str116,4946
+cols = all_df.columnscols117,5027
+sqlstr = format_str.format(",".join(cols), ",".join(["%s"] * len(cols)))sqlstr118,5049
+
+experiments/test_matrix.py,727
+openblas_lib = ctypes.cdll.LoadLibrary(find_library('openblas'))openblas_lib8,150
+def get_num_threads():get_num_threads10,216
+def set_num_threads(n):set_num_threads13,291
+seed = 1234seed16,366
+N = 1000000N19,400
+p = 100p20,412
+X = np.random.random(N * p).reshape((N, p), order='F')X21,420
+XT = X.T.copy()XT22,475
+true_value=33334547.40257686true_value23,491
+old_num_threads = get_num_threads()old_num_threads25,559
+def test():test26,595
+def test2():test230,692
+def test3():test334,815
+t = timeit.timeit(test, number=5)t38,912
+t = timeit.timeit(test2, number=5)t41,1030
+t = timeit.timeit(test3, number=5)t44,1155
+t = timeit.timeit(test, number=5)t48,1299
+ def test_dask():test_dask55,1521
+
+experiments/test_timestamptz.py,418
+engine = dbengine('serenitasdb')engine3,44
+df1 = pd.read_sql_query("SELECT date FROM test", engine)df15,78
+df2 = pd.read_sql_query("SELECT date FROM test WHERE date<='2014-10-17'",df27,136
+df2bis = pd.read_sql_query("SELECT date FROM test WHERE date<='2014-10-17'",df2bis9,242
+df3 = pd.read_sql_query("SELECT date FROM test", engine,df311,376
+ parse_dates=['date'])parse_dates12,433
-parse_gs.py,2165
-import pandas as pdpd1,0
-import pdbpdb2,20
-import rere3,31
-import osos4,41
-data_dir = "/home/share/CorpCDOs/data/swaptions/GS swaptions"data_dir6,52
-all_df = {}all_df7,114
-fwd_index = []fwd_index8,126
- full_path = os.path.join(data_dir, index + " swaptions")full_path10,168
- flag = Falseflag13,359
- masterdf = {}masterdf14,384
- line = line.decode('utf-8', 'ignore')line16,438
- line = line.rstrip()line17,492
- m = re.search("(IG|HY)(\d{2}) 5y SWAPTION (?:♦GRANULAR♦ )?(?:UPDATE|CLOSES) - Ref\D+(.+)$", line)m18,529
- indextype = m.groups()[0]indextype20,669
- series = int(m.groups()[1])series21,715
- refspread = float(m.groups()[2])refspread26,997
- quotedate = pd.to_datetime(line[4:])quotedate29,1125
- m = re.match("Expiry (\d{2}\w{3}\d{2}) \((?:([\S]+) )?([\S]+)\)", line)m32,1257
- date = pd.to_datetime(date, format='%d%b%y')date35,1436
- flag = Trueflag38,1577
- r = []r39,1609
- vals = re.sub(" +", " ", line).split(" ")vals43,1719
- cols = ['Strike', 'Sprd', 'Pay', 'DeltaPay', 'Rec', 'Vol',cols54,2161
- cols = ['Strike', 'Pay', 'DeltaPay', 'Rec', 'Vol',cols57,2342
- df = pd.DataFrame.from_records(r, columns = cols)df59,2485
- d = {'quotedate': quotedate,d67,2986
- flag = Falseflag79,3546
- r = []r80,3583
-all_df = pd.concat(all_df, names = ['quotedate', 'index', 'series'])all_df83,3734
-index_df = pd.DataFrame(fwd_index)index_df86,3870
-all_df = all_df.rename(columns={'Strike':'strike',all_df89,3939
-index_df = index_df.drop_duplicates(['quotedate', 'index', 'series', 'expiry'])index_df101,4475
-from db import dbenginedbengine104,4572
-serenitasdb = dbengine('serenitasdb')serenitasdb105,4596
-conn = serenitasdb.raw_connection()conn106,4634
- "ON CONFLICT DO NOTHING"sqlstr115,5095
+experiments/test_asyncpg.py,169
+async def dbconn():dbconn5,47
+async def get_singlenames_quotes_async(indexname, date):get_singlenames_quotes_async10,235
+loop = asyncio.get_event_loop()loop20,627
-backfill_cds.py,864
-import osos1,0
-import commoncommon2,10
-import csvcsv3,24
-import datetimedatetime4,35
-from db import serenitasdbserenitasdb5,51
-import pdbpdb6,78
-import psycopg2psycopg28,139
+backfill_cds.py,676
def convert(x):convert10,156
sqlstr = "select markit_ticker, cds_curve from index_members(%s, %s)"sqlstr16,238
basedir = "/home/share/CorpCDOs/Scenarios/Calibration"basedir21,449
@@ -1954,9 +8970,7 @@ tenors = [str(i)+'Y' for i in [1, 2, 3, 4, 5, 7, 10]]tenors27,749
c = serenitasdb.cursor()c33,941
toinsert = [(date, ticker, convert(line[tenor]), convert(line[tenor]),toinsert37,1065
-markit_tranches.py,609
-import pandas as pdpd1,0
-from db import dbenginedbengine2,20
+markit_tranches.py,544
engine = dbengine("serenitasdb")engine4,45
df = {}df5,78
sheets = ["AskClose", "Close", "BidClose"]sheets6,86
@@ -1967,22 +8981,12 @@ df = df.unstack(level=0).stack(level=0).reset_index(level=1)df12,378
tranche_quotes = df.join(index_quotes)tranche_quotes20,813
index_label='quotedate')index_label27,1292
-common.py,166
-import osos1,0
+common.py,149
root = "//WDsentinel/share/CorpCDOs"root4,30
root = '/home/share/CorpCDOs'root6,96
def sanitize_float(intex_float):sanitize_float8,131
-futures.py,1367
-import jsonjson1,0
-import datetimedatetime2,13
-import requestsrequests3,30
-from common import rootroot4,47
-import syssys5,72
-import osos6,84
-import pytzpytz7,95
-from quantlib.time.date import DateDate8,108
-from quantlib.time import immimm9,145
+futures.py,1105
ticker = "GE"ticker11,178
monthcodes = ["F", "G", "H", "J", "K", "M", "N", "Q", "U", "V", "X", "Z"]monthcodes12,193
def nextIMMDates(startdate, length = 8):nextIMMDates14,270
@@ -2000,11 +9004,7 @@ central = pytz.timezone('US/Central')central55,1754
tradedate = datetime.datetime.strptime(q['tradeDate'],tradedate60,2057
tradedate = central.localize(tradedate)tradedate62,2200
-optim_alloc.py,611
-import cvxpycvxpy1,0
-import numpy as npnp2,13
-import mathmath3,32
-from matplotlib import pyplot as pltplt4,44
+optim_alloc.py,493
def cor2cov(Rho, vol):cor2cov7,106
def rho(sigma, delta, volF):rho10,175
def resid_vol(rho, delta, volF):resid_vol14,329
@@ -2016,65 +9016,17 @@ def plot_allocation(W, fund_return, fund_vol):plot_allocation60,2146
delta = {'CLO': 0.4,delta82,2810
mu = np.array([0.01, 0.075, 0.065, 0.25])mu85,2890
-download_markit_quotes.py,1610
-import seleniumselenium1,0
-from selenium.webdriver import Firefox, PhantomJS, FirefoxProfileFirefox2,16
-from selenium.webdriver import Firefox, PhantomJS, FirefoxProfilePhantomJS2,16
-from selenium.webdriver import Firefox, PhantomJS, FirefoxProfileFirefoxProfile2,16
-from selenium.webdriver.common.action_chains import ActionChainsActionChains3,82
-from selenium.webdriver.common.by import ByBy4,147
-from selenium.webdriver.support.ui import WebDriverWaitWebDriverWait5,191
-from selenium.webdriver.support import expected_conditions as ECEC6,247
-from selenium.webdriver.support.ui import WebDriverWaitWebDriverWait7,312
-from selenium.common.exceptions import TimeoutExceptionTimeoutException8,368
-import time, os, shutiltime10,425
-import time, os, shutilos10,425
-import time, os, shutilshutil10,425
-from task_server.config import markit_login, markit_passwordmarkit_login11,449
-from task_server.config import markit_login, markit_passwordmarkit_password11,449
-from task_server.insert_tranche_quotes import insert_quotesinsert_quotes12,510
-import logginglogging13,570
-import syssys14,585
+download_markit_quotes.py,484
level=logging.INFO,level17,687
format='%(asctime)s %(message)s')format18,727
profile = FirefoxProfile()profile21,871
driver = Firefox(profile)driver27,1181
-menu = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR,menu35,1688
-hiddenmenu = WebDriverWait(driver, 10).until(hiddenmenu38,1936
- link = WebDriverWait(driver, 10).until(EC.element_to_be_clickable(link46,2272
-total_wait = 0total_wait57,2689
+menu = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,menu34,1586
+hiddenmenu = WebDriverWait(driver, 10).until(hiddenmenu38,1806
+ link = WebDriverWait(driver, 10).until(EC.element_to_be_clickable(link46,2142
+total_wait = 0total_wait57,2559
-load_cf.py,3298
-import osos1,0
-import os.pathos2,11
-import os.pathpath2,11
-import pandas as pdpd3,27
-from pandas.tseries.offsets import BDay, DateOffsetBDay4,48
-from pandas.tseries.offsets import BDay, DateOffsetDateOffset4,48
-import numpy as npnp5,101
-from intex_scenarios import dealname_from_cusipdealname_from_cusip7,123
-from zipfile import ZipFileZipFile8,172
-import re, datetime, yamlre9,201
-import re, datetime, yamldatetime9,201
-import re, datetime, yamlyaml9,201
-from db import query_db, connquery_db11,230
-from db import query_db, connconn11,230
-from quantlib.time.api import Schedule, Actual360, Period, Months, Calendar, Unadjusted, ModifiedFollowing, DateSchedule12,261
-from quantlib.time.api import Schedule, Actual360, Period, Months, Calendar, Unadjusted, ModifiedFollowing, DateActual36012,261
-from quantlib.time.api import Schedule, Actual360, Period, Months, Calendar, Unadjusted, ModifiedFollowing, DatePeriod12,261
-from quantlib.time.api import Schedule, Actual360, Period, Months, Calendar, Unadjusted, ModifiedFollowing, DateMonths12,261
-from quantlib.time.api import Schedule, Actual360, Period, Months, Calendar, Unadjusted, ModifiedFollowing, DateCalendar12,261
-from quantlib.time.api import Schedule, Actual360, Period, Months, Calendar, Unadjusted, ModifiedFollowing, DateUnadjusted12,261
-from quantlib.time.api import Schedule, Actual360, Period, Months, Calendar, Unadjusted, ModifiedFollowing, DateModifiedFollowing12,261
-from quantlib.time.api import Schedule, Actual360, Period, Months, Calendar, Unadjusted, ModifiedFollowing, DateDate12,261
-from quantlib.util.converter import pydate_to_qldate, qldate_to_pydatepydate_to_qldate13,375
-from quantlib.util.converter import pydate_to_qldate, qldate_to_pydateqldate_to_pydate13,375
-from quantlib.settings import SettingsSettings14,447
-from yieldcurve import YCYC15,487
-from optimization import KLfitKLfit16,514
-import rpy2.robjects as rorpy217,546
-import rpy2.robjects as roro17,546
-import syssys18,574
+load_cf.py,1271
root = "//WDsentinel/share/CorpCDOs"root21,608
root = '/home/share/CorpCDOs'root23,676
def sanitize_float(string):sanitize_float25,713