text:
---
---

@article{ezgeta-balic_competitive_2020,
	title = {Competitive feeding interactions between native {Ostrea} edulis and non-native {Crassostrea} gigas with implications of introducing {C}. gigas into commercial aquaculture in the eastern {Adriatic} {Sea}},
	volume = {160},
	issn = {0141-1136},
	url = {https://www.sciencedirect.com/science/article/abs/pii/S0141113620303226},
	doi = {10.1016/j.marenvres.2020.105051},
	journal = {Marine Environmental Research},
	author = {Ezgeta-Balić, D and Šantić, D and Šegvić-Bubić, T and Bojanić, Natalia and Buzančić, M and Vidjak, O and Bojanić Varezić, D and Stagličić, N and Kundid, P and Peharda, M and Žužul, I and Grubišić, L and Briski, E},
	month = sep,
	year = {2020},
	note = {WOS:000570063400004},
	pages = {105051}
}

@article{staglicic_distribution_2020,
	title = {Distribution patterns of two co-existing oyster species in the northern {Adriatic} {Sea}: {The} native {European} flat oyster {Ostrea} edulis and the non-native {Pacific} oyster {Magallana} gigas},
	volume = {113},
	issn = {1470-160X},
	url = {https://www.sciencedirect.com/science/article/abs/pii/S1470160X20301709},
	doi = {10.1016/j.ecolind.2020.106233},
	journal = {Ecological Indicators},
	author = {Stagličić, N and Šegvić-Bubić, T and Ezgeta-Balić, D and Bojanić Varezić, D and Grubišić, L and Žuvić, L and Lin, Y and Briski, E},
	month = jun,
	year = {2020},
	note = {WOS:000523335900031},
	pages = {106233}
}

@article{ezgeta-balic_reproductive_2020,
	title = {Reproductive cycle of the non-native {Pacific} oyster, {Crassostrea} gigas, in the {Adriatic} {Sea}},
	volume = {21},
	issn = {1108-393X},
	url = {https://ejournals.epublishing.ekt.gr/index.php/hcmr-med-mar-sc/article/view/21304},
	doi = {10.12681/mms.21304},
	number = {1},
	journal = {Mediterranean Marine Science},
	author = {Ezgeta-Balić, D and Radonić, I and Bojanić Varezić, D and Zorica, B and Arapov, Jasna and Stagličić, N and Jozić, S and Peharda, M and Briski, E and Lin, Y and Šegvić-Bubić, T},
	year = {2020},
	note = {WOS:000534738700001},
	pages = {146--156}
}

@article{ezgeta-balic_distribution_2019,
	title = {Distribution of non-native {Pacific} oyster {Magallana} gigas ({Thunberg}, 1793) along the eastern {Adriatic} coast},
	volume = {60},
	issn = {0001-5113},
	url = {https://hrcak.srce.hr/231314},
	doi = {10.32582/aa.60.2.3},
	number = {2},
	journal = {Acta Adriatica},
	author = {Ezgeta-Balić, D and Šegvić-Bubić, T and Staglicić, N and Lin, Y and Bojanić Varezić, D and Grubišić, L and Briski, E},
	month = dec,
	year = {2019},
	note = {WOS:000504936100003},
	pages = {137--146}
}

@article{ujevic_comparison_2019,
	title = {Comparison of amnesic, paralytic and lipophilic toxins profiles in cockle ({Acanthocardia} tuberculata) and smooth clam ({Callista} chione) from the central {Adriatic} {Sea} ({Croatia})},
	volume = {159},
	issn = {0041-0101},
	url = {https://www.sciencedirect.com/science/article/abs/pii/S004101011930011X},
	doi = {10.1016/j.toxicon.2018.12.008},
	journal = {Toxicon},
	author = {Ujević, I and Roje-Busatto, R and Ezgeta-Balić, D},
	month = mar,
	year = {2019},
	note = {WOS:000459366600005},
	pages = {32--37}
}

@article{najdek_potential_2016,
	title = {Potential food sources of {Glycymeris} nummaria ({Mollusca}: {Bivalvia}) during the annual cycle indicated by fatty acid analysis},
	volume = {80},
	issn = {0214-8358},
	url = {http://scientiamarina.revistas.csic.es/index.php/scientiamarina/article/view/1618},
	doi = {10.3989/scimar.04267.23A},
	number = {1},
	journal = {Scientia Marina},
	author = {Najdek, M and Ezgeta-Balić, D and Blažina, M and Crnčević, M and Peharda, M},
	month = mar,
	year = {2016},
	note = {WOS:000371069200012},
	pages = {123--129}
}

@article{zorica_feeding_2016,
	title = {Feeding habits and helminth parasites of sardine ({S}. pilchardus) and anchovy ({E}. encrasicolus) in the {Adriatic} {Sea}},
	volume = {17},
	issn = {1108-393X},
	url = {https://ejournals.epublishing.ekt.gr/index.php/hcmr-med-mar-sc/article/view/13238},
	number = {1},
	journal = {Mediterranean Marine Science},
	author = {Zorica, B and Čikeš Keč, V and Vidjak, O and Mladineo, I and Ezgeta-Balić, D},
	year = {2016},
	note = {WOS:000374469200019},
	pages = {216--229}
}

@article{peharda_growth_2015,
	title = {Growth and longevity of {Lithophaga} lithophaga what can we learn from shell structure and stable isotope composition?},
	volume = {162},
	issn = {0025-3162},
	url = {https://link.springer.com/article/10.1007/s00227-015-2690-0},
	doi = {10.1007/s00227-015-2690-0},
	number = {8},
	journal = {Marine Biology},
	author = {Peharda, M and Puljas, S and Chauvaud, L and Schoene, BR and Ezgeta-Balić, D and Thebault, J},
	month = aug,
	year = {2015},
	note = {WOS:000359384600002},
	pages = {1531--1540}
}

@article{prusina_life-history_2015,
	title = {Life-history trait of the {Mediterranean} keystone species {Patella} rustica: growth and microbial bioerosion},
	volume = {16},
	issn = {1108-393X},
	url = {https://ejournals.epublishing.ekt.gr/index.php/hcmr-med-mar-sc/article/view/12952},
	doi = {10.12681/mms.1121},
	number = {2},
	journal = {Mediterranean Marine Science},
	author = {Prusina, I and Peharda, M and Ezgeta-Balić, D and Puljas, S and Glamuzina, B and Golubic, S},
	year = {2015},
	note = {WOS:000362580500011},
	pages = {393--401}
}

@article{arzul_glycymeris_2015,
	title = {Glycymeris bimaculata ({Poli}, 1795) - {A} new sclerochronological archive for the {Mediterranean}?},
	volume = {95},
	issn = {1385-1101},
	url = {https://www.sciencedirect.com/science/article/abs/pii/S1385110114001348},
	doi = {10.1016/j.seares.2014.07.011},
	journal = {Journal of Sea Research},
	author = {Arzul, I and Peharda, M and Reynolds, DJ and Butler, PG and Gonzalez, AR and Ezgeta-Balić, D and Vilibić, I and Grbec, B and Hollyman, P and Richardson, CA},
	month = jan,
	year = {2015},
	note = {WOS:000347762500015},
	pages = {139--148}
}

@article{prusina_reproduction_2014,
	title = {On the reproduction of the {Mediterranean} keystone limpet {Patella} rustica: histological overview},
	volume = {94},
	issn = {0025-3154},
	url = {https://www.cambridge.org/core/journals/journal-of-the-marine-biological-association-of-the-united-kingdom/article/abs/on-the-reproduction-of-the-mediterranean-keystone-limpet-patella-rustica-histological-overview/6F5671486A9DBF5FDE5139B66DF06EA4},
	doi = {10.1017/S0025315414000976},
	number = {8},
	journal = {Journal of the Marine Biological Association of the United Kingdom},
	author = {Prusina, I and Ezgeta-Balić, D and Ljubimir, S and Dobroslavić, T and Glamuzina, B},
	month = dec,
	year = {2014},
	note = {WOS:000344548400006},
	pages = {1651--1660}
}

@article{zupan_aquaculture_2014,
	title = {Aquaculture assessment of {Noah}'s ark ({Arca} noae {Linnaeus}, 1758) in the central {Adriatic} sea ({Croatia})},
	volume = {33},
	issn = {0730-8000},
	url = {https://bioone.org/journals/journal-of-shellfish-research/volume-33/issue-2/035.033.0212/Aquaculture-Assessment-of-Noahs-Ark-Arca-noae-Linnaeus-1758-in/10.2983/035.033.0212.short},
	doi = {10.2983/035.033.0212},
	number = {2},
	journal = {Journal of Shellfish Research},
	author = {Župan, I and Peharda, M and Dolenec, T and Dolenec, M and Žvab Rožič, P and Lojen, S and Ezgeta-Balić, D and Arapov, J},
	month = sep,
	year = {2014},
	note = {WOS:000342693800011},
	pages = {433--441}
}

@article{ezgeta-balic_seasonal_2014,
	title = {Seasonal differences of stable isotope composition and lipid content in four bivalve species from the {Adriatic} {Sea}},
	volume = {10},
	issn = {1745-1000},
	url = {https://www.tandfonline.com/doi/abs/10.1080/17451000.2013.833338},
	doi = {10.1080/17451000.2013.833338},
	number = {6},
	journal = {Marine Biology Research},
	author = {Ezgeta-Balić, D and Lojen, S and Dolenec, T and Žvab Rožič, P and Dolenec, M and Najdek, M and Peharda, M},
	month = jul,
	year = {2014},
	note = {WOS:000332060600007},
	pages = {625--634}
}

@article{peharda_potential_2013,
	title = {The potential for aquaculture of the bearded horse mussel ({Modiolus} barbatus) and {Noah}'s {Ark} shell ({Arca} noae) in southern {Croatia}},
	volume = {21},
	issn = {0967-6120},
	url = {https://link.springer.com/article/10.1007/s10499-012-9598-1},
	doi = {10.1007/s10499-012-9598-1},
	number = {3},
	journal = {Aquaculture International},
	author = {Peharda, M and Ezgeta-Balić, D and Davenport, J and Vrgoč, N},
	month = jun,
	year = {2013},
	note = {WOS:000318445500010},
	pages = {639--653}
}

@article{crncevic_reproductive_2013,
	title = {Reproductive cycle of {Glycymeris} nummaria ({Mollusca}: {Bivalvia}) from {Mali} {Ston} {Bay}, {Adriatic} {Sea}, {Croatia}},
	volume = {77},
	issn = {0214-8358},
	url = {http://scientiamarina.revistas.csic.es/index.php/scientiamarina/article/view/1455},
	doi = {10.3989/scimar.03722.10A},
	number = {2},
	journal = {Scientia Marina},
	author = {Crnčević, M and Peharda, M and Ezgeta-Balić, D and Pečarević, M},
	month = jun,
	year = {2013},
	note = {WOS:000320584600008},
	pages = {293--300}
}

@article{najdek_diets_2013,
	title = {Diets of fan shells ({Pinna} nobilis) of different sizes: fatty acid profiling of digestive gland and adductor muscle},
	volume = {160},
	issn = {0025-3162},
	url = {https://link.springer.com/article/10.1007%2Fs00227-012-2144-x},
	doi = {10.1007/s00227-012-2144-x},
	number = {4},
	journal = {Marine Biology},
	author = {Najdek, M and Blažina, M and Ezgeta-Balić, D and Peharda, M},
	month = apr,
	year = {2013},
	note = {WOS:000316678700015},
	pages = {921--930}
}

@article{peharda_age_2013,
	title = {Age and growth of {Venus} verrucosa ({Bivalvia}: {Veneridae}) in the eastern {Adriatic} {Sea}},
	volume = {54},
	issn = {0007-9723},
	url = {https://www.bib.irb.hr/596975},
	number = {2},
	journal = {Cahiers De Biologie Marine},
	author = {Peharda, M and Popović, Z and Ezgeta-Balić, D and Vrgoč, N and Puljas, S and Frankić, A},
	year = {2013},
	note = {WOS:000318667800012},
	pages = {281--286}
}

@article{popovic_reproductive_2013,
	title = {Reproductive cycle and gonad development of {Venus} verrucosa {L}. ({Bivalvia}: {Veneridae}) in {Kastela} {Bay}, {Adriatic} {Sea}},
	volume = {9},
	issn = {1745-1000},
	url = {https://www.tandfonline.com/doi/abs/10.1080/17451000.2012.731690},
	doi = {10.1080/17451000.2012.731690},
	number = {3},
	journal = {Marine Biology Research},
	author = {Popović, Z and Mladineo, I and Ezgeta-Balić, D and Trumbić, Ž and Vrgoč, N and Peharda, M},
	year = {2013},
	note = {WOS:000311800900001},
	pages = {229--239}
}

@article{peharda_growth_2012,
	title = {Growth and longevity of {Glycymeris} nummaria ({Linnaeus}, 1758) from the eastern {Adriatic}, {Croatia}},
	volume = {31},
	issn = {0730-8000},
	url = {https://bioone.org/journals/journal-of-shellfish-research/volume-31/issue-4/035.031.0406/Growth-And-Longevity-of-iGlycymeris-nummaria-i-Linnaeus-1758-from/10.2983/035.031.0406.short},
	doi = {10.2983/035.031.0406},
	number = {4},
	journal = {Journal of Shellfish Research},
	author = {Peharda, M and Crnčević, M and Bušelić, I and Richardson, CA and Ezgeta-Balić, D},
	month = dec,
	year = {2012},
	note = {WOS:000313389200006},
	pages = {947--950}
}

@article{ezgeta-balic_size_2012,
	title = {Size structure of zooplankton ingested by four commercially important bivalves},
	volume = {53},
	issn = {0001-5113},
	url = {https://hrcak.srce.hr/94439},
	number = {2},
	journal = {Acta Adriatica},
	author = {Ezgeta-Balić, D and Peharda, M and Davenport, J and Vidjak, O and Boban, J},
	month = dec,
	year = {2012},
	note = {WOS:000313420800008},
	pages = {277--289}
}

@article{juric_age_2012,
	title = {Age, {Growth} and {Condition} {Index} of {Venerupis} decussata ({Linnaeus}, 1758) in the {Eastern} {Adriatic} {Sea}},
	volume = {12},
	issn = {1303-2712},
	url = {https://www.bib.irb.hr/585348},
	doi = {10.4194/1303-2712-v12_3_08},
	number = {3},
	journal = {Turkish Journal of Fisheries and Aquatic Sciences},
	author = {Jurić, I and Bušelić, I and Ezgeta-Balić, D and Vrgoč, N and Peharda, M},
	month = sep,
	year = {2012},
	note = {WOS:000314625500008},
	pages = {613--618}
}

@article{zupan_noahs_2012,
	title = {Noah's ark shell ({Arca} noae {Linnaeus}, 1758) - what do we need to know for starting up its aquaculture?},
	volume = {70},
	issn = {1330-061X},
	url = {https://hrcak.srce.hr/84080},
	number = {2},
	journal = {Ribarstvo},
	author = {Župan, I and Peharda, M and Ezgeta-Balić, D and Šarić, T},
	month = jul,
	year = {2012},
	note = {ZOOREC:ZOOR14909037447},
	pages = {71--81}
}

@article{peharda_differential_2012,
	title = {Differential ingestion of zooplankton by four species of bivalves ({Mollusca}) in the {Mali} {Ston} {Bay}, {Croatia}},
	volume = {159},
	issn = {0025-3162},
	url = {https://link.springer.com/article/10.1007/s00227-011-1866-5},
	doi = {10.1007/s00227-011-1866-5},
	number = {4},
	journal = {Marine Biology},
	author = {Peharda, M and Ezgeta-Balić, D and Davenport, J and Bojanić, N and Vidjak, O and Ninčević-Gladan, Ž},
	month = apr,
	year = {2012},
	note = {WOS:000301845900016},
	pages = {881--895}
}

@article{ezgeta-balic_seasonal_2012,
	title = {Seasonal fatty acid profile analysis to trace origin of food sources of four commercially important bivalves},
	volume = {334},
	issn = {0044-8486},
	url = {https://www.sciencedirect.com/science/article/abs/pii/S0044848611010234},
	doi = {10.1016/j.aquaculture.2011.12.041},
	journal = {Aquaculture},
	author = {Ezgeta-Balić, D and Najdek, M and Peharda, M and Blažina, M},
	month = mar,
	year = {2012},
	note = {WOS:000301693600012},
	pages = {89--100}
}

@article{peharda_age_2012,
	title = {Age, growth and population structure of {Acanthocardia} tuberculata ({Bivalvia}: {Cardiidae}) in the eastern {Adriatic} {Sea}},
	volume = {76},
	issn = {0214-8358},
	url = {http://scientiamarina.revistas.csic.es/index.php/scientiamarina/article/view/1310},
	doi = {10.3989/scimar.03257.21A},
	number = {1},
	journal = {Scientia Marina},
	author = {Peharda, M and Ezgeta-Balić, D and Radman, M and Sinjkević, N and Vrgoč, N and Isajlović, I},
	month = mar,
	year = {2012},
	note = {WOS:000301806800007},
	pages = {59--66}
}

@article{skejic_differences_2012,
	title = {Differences in phytoplankton accumulation between {Mediterranean} mussel {Mytilus} galloprovincialis {Lamarck}, 1819 and {European} flat oyster {Ostrea} edulis {Linneaus}, 1758 after natural exposure to toxic {Dinophysis} bloom},
	volume = {53},
	issn = {0007-9723},
	url = {https://www.bib.irb.hr/522865},
	number = {2},
	journal = {Cahiers De Biologie Marine},
	author = {Skejić, S and Ninčević-Gladan, Ž and Ezgeta-Balić, D and Peharda, M},
	year = {2012},
	note = {WOS:000303077600005},
	pages = {189--195}
}

@article{ezgeta-balic_age_2011,
	title = {Age, growth, and population structure of the smooth clam {Callista} chione in the eastern {Adriatic} {Sea}},
	volume = {65},
	issn = {1438-387X},
	url = {https://hmr.biomedcentral.com/articles/10.1007/s10152-010-0235-y},
	doi = {10.1007/s10152-010-0235-y},
	number = {4},
	journal = {Helgoland Marine Research},
	author = {Ezgeta-Balić, D and Peharda, M and Richardson, CA and Kuzmanić, M and Vrgoč, N and Isajlović, I},
	month = dec,
	year = {2011},
	note = {WOS:000297132700003},
	pages = {457--465}
}

@article{davenport_size-differential_2011,
	title = {Size-differential feeding in {Pinna} nobilis {L}. ({Mollusca}: {Bivalvia}): {Exploitation} of detritus, phytoplankton and zooplankton},
	volume = {92},
	issn = {0272-7714},
	url = {https://www.sciencedirect.com/science/article/abs/pii/S0272771410004579},
	doi = {10.1016/j.ecss.2010.12.033},
	number = {2},
	journal = {Estuarine Coastal and Shelf Science},
	author = {Davenport, J and Ezgeta-Balić, D and Peharda, M and Skejić, S and Ninčević-Gladan, Ž and Matijević, S},
	month = apr,
	year = {2011},
	note = {WOS:000289324500005},
	pages = {246--254}
}

@article{ezgeta-balic_energy_2011,
	title = {An energy budget for the subtidal bivalve {Modiolus} barbatus ({Mollusca}) at different temperatures},
	volume = {71},
	issn = {0141-1136},
	url = {https://www.sciencedirect.com/science/article/abs/pii/S0141113610001698},
	doi = {10.1016/j.marenvres.2010.10.005},
	number = {1},
	journal = {Marine Environmental Research},
	author = {Ezgeta-Balić, D and Rinaldi, A and Abad, M. and Prusina, I and Montalto, V and Niceta, N and Sara, G},
	month = feb,
	year = {2011},
	note = {WOS:000287276100010},
	pages = {79--85}
}

@article{peharda_description_2010,
	title = {Description of bivalve community structure in the {Croatian} part of the {Adriatic} {Sea} - hydraulic dredge survey},
	volume = {51},
	issn = {0001-5113},
	url = {https://hrcak.srce.hr/index.php?show=clanak&id_clanak_jezik=96503&lang=en},
	number = {2},
	journal = {Acta Adriatica},
	author = {Peharda, M and Ezgeta-Balić, D and Vrgoč, N and Isajlović, I and Bogner, D},
	month = dec,
	year = {2010},
	note = {WOS:000287612400003},
	pages = {141--158}
}


text:
################################################################################
# Author: Urs R. Haehner (haehneru@itp.phys.ethz.ch)
#
# This cmake script is executed every time 'make' is executed. It checks the last git log
# (git log -1) and git status (git status --porcelain applications include src test). If one of the
# two changes, git_version.cpp will be reconfigured, which triggers the recompilation of
# libGitVersion.
#
# SCRIPT_SRC_DIR is passed in from the custom rule as the PROJECT_SOURCE_DIR is not valid when run
# as a rule.

if(SANE_DEV_BUILD)

# Check git log
execute_process(
  COMMAND git --git-dir ${SCRIPT_SRC_DIR}/.git --work-tree ${SCRIPT_SRC_DIR} log -1
  WORKING_DIRECTORY "${SCRIPT_SRC_DIR}"
  RESULT_VARIABLE res
  OUTPUT_VARIABLE out)

set(GIT_LOG "${out}")
# Replace newlines with characters "\n" for use in std::string.
string(REPLACE "\n" "\\n" GIT_LOG "${GIT_LOG}")
# Escape double quotes within the string literals.
string(REPLACE "\"" "\\\"" GIT_LOG "${GIT_LOG}")

set(LOG_CHANGED FALSE)

# if (EXISTS "${SCRIPT_BIN_DIR}/src/util/git_log.txt")
#   file(READ "${SCRIPT_BIN_DIR}/src/util/git_log.txt" git_log_txt)

#   if (NOT (out STREQUAL git_log_txt))
#     file(WRITE "${SCRIPT_BIN_DIR}/src/util/git_log.txt" "${out}")
#     set(LOG_CHANGED TRUE)
#   endif()

# else()
#     file(WRITE "${SCRIPT_BIN_DIR}/src/util/git_log.txt" "${out}")
#     set(LOG_CHANGED TRUE)
# endif()

# Check git status
execute_process(
  COMMAND git --git-dir ${SCRIPT_SRC_DIR}/.git --work-tree ${SCRIPT_SRC_DIR}
  status --porcelain applications include src test
  WORKING_DIRECTORY "${SCRIPT_SRC_DIR}"
  RESULT_VARIABLE res
  OUTPUT_VARIABLE out)

set(GIT_STATUS "${out}")
string(REPLACE "\n" "\\n" GIT_STATUS "${GIT_STATUS}")
string(REPLACE "\"" "\\\"" GIT_STATUS "${GIT_STATUS}")

if(GIT_STATUS)
  message(STATUS "Working tree is dirty. Run git status for details.")
endif()

set(STATUS_CHANGED FALSE)

# if (EXISTS "${SCRIPT_BIN_DIR}/src/util/git_status.txt")
#   file(READ "${SCRIPT_BIN_DIR}/src/util/git_status.txt" git_status_txt)

#   if (NOT (out STREQUAL git_status_txt))
#     file(WRITE "${SCRIPT_BIN_DIR}/src/util/git_status.txt" "${out}")
#     set(STATUS_CHANGED TRUE)
#   endif()

# else()
#     file(WRITE "${SCRIPT_BIN_DIR}/src/util/git_status.txt" "${out}")
#     set(STATUS_CHANGED TRUE)

# endif()

# Reconfigure git_version.cpp if something has changed.
if (LOG_CHANGED OR STATUS_CHANGED)
  configure_file("${SCRIPT_SRC_DIR}/src/util/git_version.cpp.in"
    "${SCRIPT_BIN_DIR}/src/util/git_version.cpp" @ONLY)
endif()

endif()

repository: CompFUSE/DCA

license_type: permissive

repo_name: CompFUSE/DCA

branch_name: refs/heads/master

extension: cmake


text:
inherit pypi setuptools3

LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f"

RDEPENDS_${PN} += " \
	${PYTHON_PN}-asyncio \
        ${PYTHON_PN}-prompt-toolkit (>=2.0.0) \
	"

SRC_URI[md5sum] = "68542bca2ebf39af7d9d0557e7fb5708"
SRC_URI[sha256sum] = "dfd303b270b7b5232b3d08bd30ec6fd685d8a58cabd54055e3d69d8f029f7280"

SUMMARY = "IPython: Productive Interactive Computing"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING.rst;md5=93ef43efbd25773bbce636bbad9d247f"

PYPI_PACKAGE_EXT = "tar.gz"
RDEPENDS_${PN} += " \
        ${PYTHON_PN}-debugger \
        ${PYTHON_PN}-typing \
        ${PYTHON_PN}-pexpect \
        ${PYTHON_PN}-jedi (>= 0.10) \
        ${PYTHON_PN}-decorator \
        ${PYTHON_PN}-pickleshare \
        ${PYTHON_PN}-traitlets (>= 4.2) \
        ${PYTHON_PN}-pygments \
        ${PYTHON_PN}-backcall \
        "

BBCLASSEXTEND = "native"

license: MIT

repository: shlomow/meta-jupyter

repo_name: shlomow/meta-jupyter

gha_license_id: MIT

extension: bb


text:
@article{Whitman-2018-Topoedaphic,
    title = "Topoedaphic and Forest Controls on Post-Fire Vegetation Assemblies Are Modified by Fire History and Burn Severity in the Northwestern Canadian Boreal Forest",
    author = "Whitman, Ellen  and
      Parisien, Marc-Andr{\'e}  and
      Thompson, Dan  and
      Flannigan, Mike",
    journal = "Forests, Volume 9, Issue 3",
    volume = "9",
    number = "3",
    year = "2018",
    publisher = "MDPI AG",
    url = "https://aclanthology.org/G18-127001",
    doi = "10.3390/f9030151",
    pages = "151",
    abstract = "Wildfires, which constitute the most extensive natural disturbance of the boreal biome, produce a broad range of ecological impacts to vegetation and soils that may influence post-fire vegetation assemblies and seedling recruitment. We inventoried post-fire understory vascular plant communities and tree seedling recruitment in the northwestern Canadian boreal forest and characterized the relative importance of fire effects and fire history, as well as non-fire drivers (i.e., the topoedaphic context and climate), to post-fire vegetation assemblies. Topoedaphic context, pre-fire forest structure and composition, and climate primarily controlled the understory plant communities and shifts in the ranked dominance of tree species (***8{\%} and **13{\%} of variance explained, respectively); however, fire and fire-affected soils were significant secondary drivers of post-fire vegetation. Wildfire had a significant indirect effect on understory vegetation communities through post-fire soil properties (**5{\%}), and fire history and burn severity explained the dominance shifts of tree species (*7{\%}). Fire-related variables were important explanatory variables in classification and regression tree models explaining the dominance shifts of four tree species (R2 = 0.43{--}0.65). The dominance of jack pine (Pinus banksiana Lamb.) and trembling aspen (Populus tremuloides Michx.) increased following fires, whereas that of black spruce (Picea mariana (Mill.) BSP.) and white spruce (Picea glauca (Moench) Voss) declined. The overriding importance of site and climate to post-fire vegetation assemblies may confer some resilience to disturbed forests; however, if projected increases in fire activity in the northwestern boreal forest are borne out, secondary pathways of burn severity, fire frequency, and fire effects on soils are likely to accelerate ongoing climate-driven shifts in species compositions.",
}

repository: gwf-uwaterloo/gwf-publications

repo_name: gwf-uwaterloo/gwf-publications

branch_name: refs/heads/main

gha_language: Python

extension: bib


text:
package microservice

import (
	"strings"
	"time"

	"github.com/jurgen-kluft/go-home/config"
	logpkg "github.com/jurgen-kluft/go-home/logging"
	pubsub "github.com/jurgen-kluft/go-home/nats"
)

// Delegate is a handler that the user can register on a certain received topic
type Delegate func(m *Service, topic string, message []byte) bool

type Message struct {
	Topic   string
	Payload []byte
}

// Service is a convenience setup to implement a micro-service
type Service struct {
	Name            string
	Logger          *logpkg.Logger
	PubsubRegister  []string
	PubsubSubscribe []string
	Pubsub          *pubsub.Context
	Handlers        map[string]Delegate
	CatchHandler    Delegate
	ProcessMessages chan *Message
}

func New(name string) *Service {
	service := &Service{}

	service.Name = name
	service.Logger = logpkg.New(name)
	service.Logger.AddEntry("pubsub")
	service.Logger.AddEntry(name)

	service.PubsubRegister = make([]string, 0, 10)
	service.PubsubSubscribe = make([]string, 0, 10)
	service.Handlers = make(map[string]Delegate)

	service.ProcessMessages = make(chan *Message, 128)
	return service
}

func (m *Service) Register(r string) error {
	if m.Pubsub == nil {
		// Not connected yet, just add it to the list
		m.PubsubRegister = append(m.PubsubRegister, r)
	} else {
		// We are connected, also call Register on pubsub
		m.PubsubRegister = append(m.PubsubRegister, r)
		m.Pubsub.Register(r)
	}
	return nil
}

func (m *Service) Subscribe(r string) error {
	if m.Pubsub == nil {
		// Not connected yet, just add it to the list
		m.PubsubSubscribe = append(m.PubsubSubscribe, r)
	} else {
		// We are connected, also call Subscribe on pubsub
		m.PubsubSubscribe = append(m.PubsubSubscribe, r)
		m.Pubsub.Subscribe(r)
	}
	return nil
}

func (m *Service) RegisterAndSubscribe(register []string, subscribe []string) {
	for _, r := range register {
		m.Register(r)
	}
	for _, r := range subscribe {
		m.Subscribe(r)
	}
}

func (m *Service) RegisterHandler(topic string, delegate Delegate) {
	m.Handlers[topic] = delegate
	natstopic := strings.Replace(topic, "/", ".", -1)
	natstopic = strings.TrimSuffix(natstopic, ".")
	m.Handlers[natstopic] = delegate
}

func matchTopic(etopic string, itopic string) bool {
	ei := 0
	ii := 0
	cs := true
	for ei < len(etopic) && ii < len(itopic) {
		echar := etopic[ei]
		ichar := itopic[ii]
		if (echar == '/' || echar == '.') && (ichar == '/' || ichar == '.') {
			cs = true
			ei++
			ii++
		} else if cs && etopic[ei] == '*' { // chapter start ?
			// consume chapter from itopic
			ei++
			for ii < len(itopic) && (itopic[ii] != '/' && itopic[ii] != '.') {
				ii++
			}
			if ii == len(itopic) {
				return false
			}
			cs = false
		} else if echar != ichar {
			return false
		} else {
			ei++
			ii++
			cs = false
		}
	}
	return ei == len(etopic) && ii == len(itopic)
}

func (m *Service) FindHandler(itopic string) (delegate Delegate, exists bool) {
	for etopic, edelegate := range m.Handlers {
		if matchTopic(etopic, itopic) {
			return edelegate, true
		}
	}
	return nil, false
}

func (m *Service) Loop() {
	quit := false
	for !quit {
		m.Pubsub = pubsub.New(config.PubSubCfg)
		err := m.Pubsub.Connect(m.Name, m.PubsubRegister, m.PubsubSubscribe)
		if err == nil {
			m.Logger.LogInfo("pubsub", "connected")

			connected := true
			for connected {
				select {
				case msg := <-m.ProcessMessages:
					topic := msg.Topic
					delegate, exists := m.FindHandler(topic)
					if exists {
						if !delegate(m, topic, msg.Payload) {
							connected = false
							quit = true
						}
					}

				case msg := <-m.Pubsub.InMsgs:
					topic := m.Pubsub.Topic(msg)
					delegate, exists := m.Handlers[topic]
					if exists {
						if !delegate(m, topic, m.Pubsub.Payload(msg)) {
							connected = false
							quit = true
						}
					} else {
						delegate, exists := m.Handlers["*"]
						if exists {
							if !delegate(m, topic, m.Pubsub.Payload(msg)) {
								connected = false
								quit = true
							}
						}

						if topic == "client/disconnected/" || topic == "client.disconnected" {
							m.Logger.LogInfo("pubsub", "disconnected")
							connected = false
						}
					}
				}
			}
			m.Pubsub.Close()
		}

		if err != nil {
			m.Logger.LogError(m.Name, err.Error())
		}

		if !quit {
			m.Logger.LogInfo("pubsub", "Waiting 5 seconds before re-connecting..")
			time.Sleep(5 * time.Second)
		} else {
			m.Logger.LogInfo("pubsub", "End.")
		}
	}
}

repository: jurgen-kluft/go-home

repo_name: jurgen-kluft/go-home

extension: go


text:
require recipes-devtools/qemu/qemu.inc

SRC_URI = "gitsm://github.com/riscv/riscv-qemu.git;destsuffix=${S};branch=master;rebaseable=1 \
          "
SRCREV = "9cc7d0cf6a6dc300db4db25421eff782623d6b18"

SRC_URI_remove_class-native = "\
    file://fix-libcap-header-issue-on-some-distro.patch \
    file://cpus.c-qemu_cpu_kick_thread_debugging.patch \
    "

LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac"

QEMU_TARGETS = "riscv64 riscv32"

EXTRA_OECONF_remove = "--disable-numa --disable-lzo --disable-opengl --disable-gnutls --disable-static"

do_install() {
    export STRIP="true"
    autotools_do_install
    install -d ${D}${datadir}/qemu

    # Prevent QA warnings about installed ${localstatedir}/run
    if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
}
COMPATIBLE_HOST_class-target = "(riscv64|riscv32).*-linux"

repository: mfischer/meta-riscv

repo_name: mfischer/meta-riscv


text:
// Copyright 2022 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.

package migrations

import (
	"fmt"

	"xorm.io/xorm"
)

func createForeignReferenceTable(x *xorm.Engine) error {
	type ForeignReference struct {
		// RepoID is the first column in all indices. now we only need 2 indices: (repo, local) and (repo, foreign, type)
		RepoID       int64  `xorm:"UNIQUE(repo_foreign_type) INDEX(repo_local)" `
		LocalIndex   int64  `xorm:"INDEX(repo_local)"` // the resource key inside Gitea, it can be IssueIndex, or some model ID.
		ForeignIndex string `xorm:"INDEX UNIQUE(repo_foreign_type)"`
		Type         string `xorm:"VARCHAR(16) INDEX UNIQUE(repo_foreign_type)"`
	}

	if err := x.Sync2(new(ForeignReference)); err != nil {
		return fmt.Errorf("Sync2: %w", err)
	}
	return nil
}

repository: kolaente/gitea

repo_name: kolaente/gitea

gha_language: Go


text:
package service

import (
	"context"

	pb "edu/api/sys/v1"
	"edu/pkg/meta"

	"github.com/golang/protobuf/ptypes"
	"google.golang.org/protobuf/types/known/anypb"
)

// @Summary 字典类型列表数据
// @Description 获取JSON
// @Tags 字典类型
// @Param dictName query string false "dictName"
// @Param dictId query string false "dictId"
// @Param dictType query string false "dictType"
// @Param pageSize query int false "页条数"
// @Param pageIndex query int false "页码"
// @Success 200 {object} pb.ApiReply "{"code": 200, "data": [...]}"
// @Router /admin/v1/dict/type/list [get]
// @Security Bearer
func (s *AdminService) GetDictTypeList(ctx context.Context, req *pb.GetDictTypeListRequest) (reply *pb.ApiReply, err error) {
	token, err := meta.GetToken(ctx)
	if err != nil {
		return
	}
	return s.uc.GetDictTypePage(ctx, token, req)
}

// @Summary 通过字典id获取字典类型
// @Description 获取JSON
// @Tags 字典类型
// @Param dictId path int true "字典类型编码"
// @Success 200 {object} pb.ApiReply "{"code": 200, "data": [...]}"
// @Router /admin/v1/dict/type/{dictId} [get]
// @Security Bearer
func (s *AdminService) GetDictType(ctx context.Context, req *pb.GetDictTypeRequest) (reply *pb.ApiReply, err error) {
	d, err := s.uc.GetDictType(ctx, req)
	if err != nil {
		return
	}
	list := make([]*anypb.Any, 0)
	any, err1 := ptypes.MarshalAny(d)
	if err1 != nil {
		err = err1
		return
	}
	list = append(list, any)
	reply = &pb.ApiReply{
		Code:    0,
		Message: "OK",
		Count:   int32(1),
		Data:    list,
	}
	return
}

func (s *AdminService) GetDictTypeOptionSelect(ctx context.Context, req *pb.GetDictTypeOptionSelectRequest) (reply *pb.ApiReply, err error) {
	result, err := s.uc.GetDictTypeListOptionSelect(ctx, req)
	if err != nil {
		return
	}
	list := make([]*anypb.Any, 0)
	for i := 0; i < len(result); i++ {
		it := result[i]
		any, err1 := ptypes.MarshalAny(it)
		if err1 != nil {
			err = err1
			return
		}
		list = append(list, any)
	}
	reply = &pb.ApiReply{
		Code:    0,
		Message: "OK",
		Count:   int32(len(result)),
		Data:    list,
	}
	return
}

// @Summary 添加字典类型
// @Description 获取JSON
// @Tags 字典类型
// @Accept  application/json
// @Product application/json
// @Param data body pb.DictType true "data"
// @Success 200 {object} pb.ApiReply "{"code": 200, "message": "添加成功"}"
// @Router /admin/v1/dict/type [post]
// @Security Bearer
func (s *AdminService) InsertDictType(ctx context.Context, req *pb.DictType) (reply *pb.ApiReply, err error) {
	token, err := meta.GetToken(ctx)
	if err != nil {
		return
	}
	if err = s.uc.InsertDictType(ctx, token, req); err != nil {
		return
	}
	reply = &pb.ApiReply{
		Code:    0,
		Message: "OK",
		Count:   int32(1),
	}
	return
}

// @Summary 修改字典类型
// @Description 获取JSON
// @Tags 字典类型
// @Accept  application/json
// @Product application/json
// @Param data body pb.DictType true "body"
// @Success 200 {string} string	"{"code": 200, "message": "添加成功"}"
// @Success 200 {string} string	"{"code": -1, "message": "添加失败"}"
// @Router /admin/v1/dict/type [put]
// @Security Bearer
func (s *AdminService) UpdateDictType(ctx context.Context, req *pb.DictType) (reply *pb.ApiReply, err error) {
	if err = s.uc.UpdateDictType(ctx, req); err != nil {
		return
	}
	reply = &pb.ApiReply{
		Code:    0,
		Message: "OK",
		Count:   int32(1),
	}
	return
}

// @Summary 删除字典类型
// @Description 删除数据
// @Tags 字典类型
// @Param dictId path int true "dictId"
// @Success 200 {string} string	"{"code": 200, "message": "删除成功"}"
// @Success 200 {string} string	"{"code": -1, "message": "删除失败"}"
// @Router /api/v1/dict/type/{dictId} [delete]
func (s *AdminService) DeleteDictType(ctx context.Context, req *pb.DeleteDictTypeRequest) (reply *pb.ApiReply, err error) {
	if err = s.uc.DeleteDictType(ctx, req); err != nil {
		return
	}
	reply = &pb.ApiReply{
		Code:    0,
		Message: "OK",
	}
	return
}

repository: luckyzahuo/mall

repo_name: luckyzahuo/mall


text:
SUMMARY = "Xfce4 development tools"
HOMEPAGE = "http://www.xfce.org"
SECTION = "x11/libs"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"

DEPENDS = "glib-2.0"
DEPENDS:append:class-target = " ${BPN}-native"

SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:4]}/${BPN}-${PV}.tar.bz2 \
           file://0001-m4macros-Check-for-a-function-provided-by-libX11-in-.patch \
           "
SRC_URI:append:class-target = " file://0001-Run-native-xdt-csource-on-tests.patch"
SRC_URI[sha256sum] = "eedb4fc955f0e3459c46864ff98579295db2b900743e0ff69cad5970ba76be37"

inherit autotools pkgconfig

do_install:append() {
    install -d ${D}${datadir}/aclocal
    install -m 644 ${S}/m4macros/*.m4 ${D}${datadir}/aclocal/
}

FILES:${PN} += "${datadir}/xfce4/dev-tools/m4macros/*.m4"

RDEPENDS:${PN} = "bash"

BBCLASSEXTEND = "native"

repository: openembedded/meta-openembedded

repo_name: openembedded/meta-openembedded

gha_language: BitBake


text:
import React from "react";
import styled from "styled-components";
import { colors } from "../vars/palette";

const StripeWrap = styled.div`
  position: relative;
  z-index: 500;
  height: 9px;
  background-color: ${colors.hex("white")};
  background-image: linear-gradient(
    135deg,
    ${colors.rgba("secondary", 0.9)} 50%,
    transparent 50%,
    transparent
  );
  background-size: 3px 3px;
`;

const Stripe = () => <StripeWrap className="border-hash"></StripeWrap>;

export default Stripe;

repository: WatermarkAgency/wmk-components

repo_name: WatermarkAgency/wmk-components

extension: js


text:
@inproceedings{HoenigMAPF2016,
  author    = {Wolfgang H{\"{o}}nig and
               T. K. Satish Kumar and
               Liron Cohen and
               Hang Ma and
               Hong Xu and
               Nora Ayanian and
               Sven Koenig},
  title     = {Multi-Agent Path Finding with Kinematic Constraints},
  booktitle = {Proceedings of the International Conference on Automated Planning and Scheduling ({ICAPS})},
  pages     = {477--485},
  publisher = {{AAAI} Press},
  year      = {2016}
}

gha_language: HTML


text:
package main

import (
	"fmt"
	"sort"
)

type myHeap struct {
	intSlice sort.IntSlice
}

func (h myHeap) Less(i, j int) bool {
	return h.intSlice[i] < h.intSlice[j]
}

func (h myHeap) Len() int {
	return len(h.intSlice)
}

// 没整明白这里为什么可以没有*，但下面Push和Pop两个函数必须有*
func (h *myHeap) Swap(i, j int) {
	h.intSlice[i], h.intSlice[j] = h.intSlice[j], h.intSlice[i]
}

func (h *myHeap) Push(i int) {
	h.intSlice = append(h.intSlice, i)
}

func (h *myHeap) Pop() int {
	temp := h.intSlice[len(h.intSlice)-1]
	h.intSlice = h.intSlice[:len(h.intSlice)-1]
	return temp
}

func lastStoneWeight(stones []int) int {
	myStones := &myHeap{stones}
	sort.Sort(myStones)

	for len(myStones.intSlice) > 1 {
		a := myStones.Pop()
		b := myStones.Pop()
		if (a - b) > 0 {
			myStones.Push(a - b)
		}
		sort.Sort(myStones)
		fmt.Println(myStones)
	}

	if len(myStones.intSlice) == 1 {
		return myStones.intSlice[0]
	} else {
		return 0
	}
}


text:
package decoder

import (
	"fmt"

	"github.com/iancoleman/strcase"

	"github.com/goldeneggg/structil/dynamicstruct"
)

// Decoder is the interface for decoding generic data(JSON, YAML, and more).
type Decoder interface {
	Decode(data []byte) (*DecodedResult, error)
}

// DecodedResult is the result of Decoder.Decode.
type DecodedResult struct {
	*dynamicstruct.DynamicStruct
	DecodedInterface interface{}
}

// ui must be a unmarshalled interface from JSON, and others
func decode(ui interface{}, ds *dynamicstruct.DynamicStruct) (*DecodedResult, error) {
	var err error

	switch t := ui.(type) {
	case map[string]interface{}:
		return decodeMap(t, ds)
	case []interface{}:
		// TODO: should check length and if length == 1, then call decodeMap directly and once instead of current implementation.
		var drElem *DecodedResult
		var dsOnce *dynamicstruct.DynamicStruct
		iArr := make([]interface{}, len(t))
		for idx, elemIntf := range t {
			// call this function recursively
			// we want to build DynamicStruct only once
			// FIXME: current code can not support "omitempty" field for JSON array
			// TODO: DynamicStruct bulding not only once but only once *with omitempty support*
			drElem, err = decode(elemIntf, dsOnce)
			if err != nil {
				return nil, err
			}
			dsOnce = drElem.DynamicStruct

			iArr[idx] = drElem.DecodedInterface
		}

		return &DecodedResult{
			DynamicStruct:    dsOnce,
			DecodedInterface: iArr,
		}, nil
	}

	return nil, fmt.Errorf("unexpected return. unmarshalledJSON %+v is not map or array", ui)
}

func decodeMap(m map[string]interface{}, ds *dynamicstruct.DynamicStruct) (*DecodedResult, error) {
	dr := &DecodedResult{
		DynamicStruct: ds,
	}
	var err error

	// camelizedKeys for building DynamicStruct with exported fields
	// e.g. if json item name is "hoge_huga", same field name in DynamicStruct is "HogeHuga"
	// FIXME: support case that input json field names are not snake_case but camelCase
	camelizedKeys, camelizedMap := camelizeMap(m)

	if dr.DynamicStruct == nil {
		dr.DynamicStruct, err = buildDynamicStruct(m, camelizedKeys)
		if err != nil {
			return nil, err
		}
	}

	dr.DecodedInterface, err = dr.DynamicStruct.DecodeMap(camelizedMap)
	if err != nil {
		return nil, err
	}

	return dr, nil
}

func camelizeMap(m map[string]interface{}) (map[string]string, map[string]interface{}) {
	camelizedKeys := make(map[string]string, len(m))
	camelizedMap := make(map[string]interface{}, len(m))

	for k, v := range m {
		camelizedKeys[k] = strcase.ToCamel(k)
		camelizedMap[camelizedKeys[k]] = v
	}

	return camelizedKeys, camelizedMap
}

func buildDynamicStruct(m map[string]interface{}, camelizedKeys map[string]string) (*dynamicstruct.DynamicStruct, error) {
	var tag, name string
	b := dynamicstruct.NewBuilder()

	for k, v := range m {
		// TODO: "json" changes dynamic. e.g. "yaml", "xml" and others
		// TODO: apply initialisms theories. See: https://github.com/golang/go/wiki/CodeReviewComments#initialisms
		//   (and more golint theories validations)
		// TODO: add "omitempty"? (e.g. when key is missing, type should be a pointer and have "omitempty")
		// TODO: add ",string", ",boolean" extra options?
		// See: https://golang.org/pkg/encoding/json/#Marshal
		// See: https://m-zajac.github.io/json2go/
		tag = fmt.Sprintf(`json:"%s"`, k)
		name = camelizedKeys[k]

		// See: https://golang.org/pkg/encoding/json/#Unmarshal
		switch value := v.(type) {
		case bool:
			b = b.AddBoolWithTag(name, tag)
		case float64:
			b = b.AddFloat64WithTag(name, tag)
		case string:
			b = b.AddStringWithTag(name, tag)
		case []interface{}:
			b = b.AddSliceWithTag(name, interface{}(value[0]), tag)
		case map[string]interface{}:
			for kk, vv := range value {
				b = b.AddMapWithTag(name, kk, interface{}(vv), tag)
				break
			}
		case nil:
			// Note: Is this ok?
			b = b.AddInterfaceWithTag(name, false, tag)
		default:
			return nil, fmt.Errorf("jsonData %#v has invalid typed key", m)
		}
	}

	return b.Build()
}

repository: romberli/structil

repo_name: romberli/structil


text:
@article{ayub2020b,
abstract = {The two main challenges faced by continual learning approaches are catastrophic forgetting and memory limitations on the storage of data. To cope with these challenges, we propose a novel, cognitively-inspired approach which trains autoencoders with Neural Style Transfer to encode and store images. Reconstructed images from encoded episodes are replayed when training the classifier model on a new task to avoid catastrophic forgetting. The loss function for the reconstructed images is weighted to reduce its effect during classifier training to cope with image degradation. When the system runs out of memory the encoded episodes are converted into centroids and covariance matrices, which are used to generate pseudo-images during classifier training, keeping classifier performance stable with less memory. Our approach increases classification accuracy by 13-17{\%} over state-of-the-art methods on benchmark datasets, while requiring 78{\%} less storage space.},
archivePrefix = {arXiv},
arxivId = {2007.06637},
author = {Ayub, Ali and Wagner, Alan R.},
eprint = {2007.06637},
journal = {arXiv},
keywords = {[generative],[imagenet],[mnist],catastrophic forgetting,continual learning},
mendeley-tags = {[generative],[imagenet],[mnist]},
month = {jun},
title = {{Storing Encoded Episodes as Concepts for Continual Learning}},
url = {https://arxiv.org/abs/2007.06637 http://arxiv.org/abs/2007.06637},
year = {2020}
}
@article{Rostami2019a,
abstract = {Despite huge success, deep networks are unable to learn effectively in sequential multitask learning settings as they forget the past learned tasks after learning new tasks. Inspired from complementary learning systems theory, we address this challenge by learning a generative model that couples the current task to the past learned tasks through a discriminative embedding space. We learn an abstract level generative distribution in the embedding that allows the generation of data points to represent the experience. We sample from this distribution and utilize experience replay to avoid forgetting and simultaneously accumulate new knowledge to the abstract distribution in order to couple the current task with past experience. We demonstrate theoretically and empirically that our framework learns a distribution in the embedding that is shared across all task and as a result tackles catastrophic forgetting.},
archivePrefix = {arXiv},
arxivId = {1903.04566},
author = {Rostami, Mohammad and Kolouri, Soheil and Pilly, Praveen K},
eprint = {1903.04566},
journal = {arXiv},
month = {mar},
title = {{Complementary Learning for Overcoming Catastrophic Forgetting Using Experience Replay}},
url = {http://arxiv.org/abs/1903.04566},
year = {2019}
}
@article{Wang2019a,
abstract = {Continual learning consists in incrementally training a model on a sequence of datasets and testing on the union of all datasets. In this paper, we examine continual learning for the problem of sound classification, in which we wish to refine already trained models to learn new sound classes. In practice one does not want to maintain all past training data and retrain from scratch, but naively updating a model with new data(sets) results in a degradation of already learned tasks, which is referred to as "catastrophic forgetting." We develop a generative replay procedure for generating training audio spectrogram data, in place of keeping older training datasets. We show that by incrementally refining a classifier with generative replay a generator that is 4{\%} of the size of all previous training data matches the performance of refining the classifier keeping 20{\%} of all previous training data. We thus conclude that we can extend a trained sound classifier to learn new classes without having to keep previously used datasets.},
annote = {arXiv: 1906.00654},
author = {Wang, Zhepei and Subakan, Cem and Tzinis, Efthymios and Smaragdis, Paris and Charlin, Laurent},
journal = {arXiv},
keywords = {Computer Science - Machine Learning,Computer Science - Sound,Electrical Engineering and Systems Science - Audio,Statistics - Machine Learning,[audio],audio,sequence,sequences,time series},
mendeley-tags = {[audio]},
month = {jun},
title = {{Continual Learning of New Sound Classes using Generative Replay}},
url = {http://arxiv.org/abs/1906.00654},
year = {2019}
}
@inproceedings{Shin2017a,
author = {Shin, Hanul and Lee, Jung Kwon and Kim, Jaehong and Kim, Jiwon},
booktitle = {Advances in Neural Information Processing Systems 30},
editor = {Guyon, I and Luxburg, U V and Bengio, S and Wallach, H and Fergus, R and Vishwanathan, S and Garnett, R},
keywords = {[mnist]},
mendeley-tags = {[mnist]},
pages = {2990--2999},
publisher = {Curran Associates, Inc.},
title = {{Continual Learning with Deep Generative Replay}},
url = {http://papers.nips.cc/paper/6892-continual-learning-with-deep-generative-replay.pdf},
year = {2017}
}
@article{Parisi2018a,
abstract = {Artificial autonomous agents and robots interacting in complex environments are required to continually acquire and fine-tune knowledge over sustained periods of time. The ability to learn from continuous streams of information is referred to as lifelong learning and represents a long-standing challenge for neural network models due to catastrophic forgetting in which novel sensory experience interferes with existing representations and leads to abrupt decreases in the performance on previously acquired knowledge. Computational models of lifelong learning typically alleviate catastrophic forgetting in experimental scenarios with given datasets of static images and limited complexity, thereby differing significantly from the conditions artificial agents are exposed to. In more natural settings, sequential information may become progressively available over time and access to previous experience may be restricted. Therefore, specialized neural network mechanisms are required that adapt to novel sequential experience while preventing disruptive interference with existing representations. In this paper, we propose a dual-memory self-organizing architecture for lifelong learning scenarios. The architecture comprises two growing recurrent networks with the complementary tasks of learning object instances (episodic memory) and categories (semantic memory). Both growing networks can expand in response to novel sensory experience: the episodic memory learns fine-grained spatiotemporal representations of object instances in an unsupervised fashion while the semantic memory uses task-relevant signals to regulate structural plasticity levels and develop more compact representations from episodic experience. For the consolidation of knowledge in the absence of external sensory input, the episodic memory periodically replays trajectories of neural reactivations. We evaluate the proposed model on the CORe50 benchmark dataset for continuous object recognition, showing that we significantly outperform current methods of lifelong learning in three different incremental learning scenarios.},
author = {Parisi, German I and Tani, Jun and Weber, Cornelius and Wermter, Stefan},
doi = {10.3389/fnbot.2018.00078},
issn = {1662-5218},
journal = {Frontiers in Neurorobotics},
keywords = {CLS,Incremental Learning,Lifelong learning,Memory,Self-organizing Network,[core50],[dual],[som],object recognition systems},
language = {English},
mendeley-tags = {[core50],[dual],[som]},
title = {{Lifelong Learning of Spatiotemporal Representations With Dual-Memory Recurrent Self-Organization}},
url = {https://www.frontiersin.org/articles/10.3389/fnbot.2018.00078/full},
volume = {12},
year = {2018}
}

url: https://raw.githubusercontent.com/jeremyforest/wiki/273f8c5c6a33e81c2b1802acca7b1f0a6b12081d/bibtex/Continual Learning Papers-Generative Replay Methods.bib

repository: jeremyforest/wiki

repo_name: jeremyforest/wiki


text:
import saveCreature from './SaveCreature'
import actionTypes from '../actionTypes'

describe('[reduxAction] SaveCreature', ()=>{
  const mockFunction = jest.fn((d)=>{
    return d
  })
  const mockValidParam = {'name': 'Goplin', 'hash': 'h328dj8'}
  const expectedReturn = {'type': actionTypes.SaveCreature, 'payload': mockValidParam}
  saveCreature(mockFunction, mockValidParam)

  it('calls mockFunction', ()=>{
    expect(mockFunction).toBeCalled
  })

  it('calls mockFunction with correct paramiters', () => {
    expect(mockFunction).toHaveBeenCalledWith(expectedReturn)
  })

  it('does not call mockFunction with invalid paramiters', () => {
    const invalidParamiters1 = {'hash': 583}
    const invalidParamiters2 = {'hash': ''}
    mockFunction(mockFunction, invalidParamiters1)
    expect(mockFunction).not.toHaveBeenCalledWith(invalidParamiters1)
    mockFunction(mockFunction, invalidParamiters2)
    expect(mockFunction).not.toHaveBeenCalledWith(invalidParamiters2)
  })
})

gha_language: JavaScript


text:
# ------------------------------------------------------------------------------
# Constants
# ------------------------------------------------------------------------------

set(PAL_SOURCE_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/../..
    CACHE INTERNAL
    "PAL source root directory"
)

set(PAL_SOURCE_CMAKE_DIR ${PAL_SOURCE_ROOT_DIR}/cmake
    CACHE INTERNAL
    "PAL cmake scripts directory"
)

set(PAL_SOURCE_CONFIG_DIR ${CMAKE_CURRENT_LIST_DIR}
    CACHE INTERNAL
    "PAL cmake configuration directory"
)

# ------------------------------------------------------------------------------
# Configs
# ------------------------------------------------------------------------------

include(${PAL_SOURCE_CMAKE_DIR}/macros/pal_add_config.cmake)

pal_add_config(
    CONFIG_NAME PAL_TARGET_EXECUTION_STATE
    CONFIG_TYPE STRING
    DEFAULT_VAL intel_64bit
    DESCRIPTION "The target architecture + execution state"
    OPTIONS armv8a_aarch64 armv8a_aarch32 intel_64bit
)

pal_add_config(
    CONFIG_NAME PAL_TARGET_LANGUAGE
    CONFIG_TYPE STRING
    DEFAULT_VAL c++11
    DESCRIPTION "The target programming language"
    OPTIONS c c++11 yaml none
)

pal_add_config(
    CONFIG_NAME PAL_ACCESS_MECHANISM
    CONFIG_TYPE STRING
    DEFAULT_VAL gas_att
    DESCRIPTION "The target access mechanism type"
    OPTIONS gas_att gas_intel gas_aarch64 gas_aarch32 libpal test yaml none
)

pal_add_config(
    CONFIG_NAME PAL_PRINT_MECHANISM
    CONFIG_TYPE STRING
    DEFAULT_VAL printf_utf8
    DESCRIPTION "The target function printing style"
    OPTIONS printf_utf8 none
)

pal_add_config(
    CONFIG_NAME PAL_FILE_FORMAT
    CONFIG_TYPE STRING
    DEFAULT_VAL unix
    DESCRIPTION "The target file format"
    OPTIONS unix windows yaml none
)

pal_add_config(
    CONFIG_NAME PAL_ENABLE_TEST
    CONFIG_TYPE BOOL
    DEFAULT_VAL OFF
    DESCRIPTION "Set to ON to enable the project's tests"
)

pal_add_config(
    CONFIG_NAME PAL_OUTPUT_DIR
    CONFIG_TYPE STRING
    DEFAULT_VAL ${CMAKE_BINARY_DIR}/pal/include
    DESCRIPTION "Directory for PAL to generated output"
)

pal_add_config(
    CONFIG_NAME PAL_QUIET_CMAKE
    CONFIG_TYPE BOOL
    DEFAULT_VAL OFF
    DESCRIPTION "Set to ON to supress build output from CMake"
)

pal_add_config(
    CONFIG_NAME PAL_ENABLE_ACPI
    CONFIG_TYPE BOOL
    DEFAULT_VAL OFF
    DESCRIPTION "EXPERIMENTAL: Set to ON to include ACPI in the generated PAL output"
)

repository: kangdazhi/pal

repo_name: kangdazhi/pal