{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,11,17]],"date-time":"2023-11-17T07:58:44Z","timestamp":1700207924736},"reference-count":31,"publisher":"Wiley","issue":"3-5","license":[{"start":{"date-parts":[[2003,2,12]],"date-time":"2003-02-12T00:00:00Z","timestamp":1045008000000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Concurrency and Computation"],"published-print":{"date-parts":[[2003,3]]},"abstract":"Abstract<\/jats:title>We present a set of language extensions that improve the expressiveness and performance of Java for scientific computation. The language extensions allow the manipulation of multi\u2010dimensional arrays to be expressed more naturally, and to be implemented more efficiently. Furthermore, data\u2010parallel programming is supported, allowing efficient parallelization of a large class of operations on arrays. We also provide language extensions to construct specialized array representations, such as symmetric, block, and sparse matrices. These extensions are: tuples, parameterized types, array subscript overloading, and the inline<\/jats:styled-content> modifier. These extensions are not only useful in the construction of special array representations, but are also useful in their own right. Finally, we add complex numbers as a primitive type to the language. We evaluate our language extensions using performance results. We also compare relevant code fragments of our extended language with standard Java implementations and language extensions proposed by others. Copyright \u00a9 2003 John Wiley & Sons, Ltd.<\/jats:p>","DOI":"10.1002\/cpe.659","type":"journal-article","created":{"date-parts":[[2003,2,18]],"date-time":"2003-02-18T15:10:05Z","timestamp":1045581005000},"page":"277-297","source":"Crossref","is-referenced-by-count":9,"title":["Spar: a set of extensions to Java for scientific computation"],"prefix":"10.1002","volume":"15","author":[{"given":"C.","family":"van Reeuwijk","sequence":"first","affiliation":[]},{"given":"F.","family":"Kuijlman","sequence":"additional","affiliation":[]},{"given":"H. J.","family":"Sips","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2003,2,12]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1096-9128(199711)9:11<1193::AID-CPE334>3.0.CO;2-B"},{"key":"e_1_2_1_3_2","unstructured":"v. ReeuwijkC KuijlmanF SipsH NiemeijerS.Data\u2010parallel programming in Spar\/Java.Proceedings of the Second Annual Workshop on Java for High\u2010Performance Computing May2000;51\u201366."},{"key":"e_1_2_1_4_2","unstructured":"v. ReeuwijkC KuijlmanF SipsH NiemeijerS.Data\u2010parallel programming in Spar\/Java.PDS Technical Report PDS\u20102000\u2010005 Delft University of Technology May2000.www.pds.twi.tudelft.nl\/reports\/2000\/PDS\u20102000\u2010005."},{"key":"e_1_2_1_5_2","unstructured":"v. ReeuwijkC.Spar 1.5 language specification.PDS Technical Report PDS\u20102001\u2010003 Delft University of Technology October2001.www.pds.twi.tudelft.nl\/reports\/2001\/PDS\u20102001\u2010003."},{"key":"e_1_2_1_6_2","series-title":"The Java Series","volume-title":"The Java Language Specification Second Edition","author":"Gosling J","year":"2000"},{"key":"e_1_2_1_7_2","unstructured":"BrachaG OderskyM StoutamireD WadlerP.GJ specification.Technical Report Bell Labs May1998.www.cs.bell\u2010labs.com\/who\/wadler\/pizza\/gj\/Documents\/index.html."},{"key":"e_1_2_1_8_2","first-page":"132","volume-title":"Proceedings of the 24th AMD Symposium on Principles of Programming Languages","author":"Myers AC","year":"1997"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0053390"},{"key":"e_1_2_1_10_2","unstructured":"BrachaG. JSR 000014\u2014add generic types to the Java programming language.java.sun.com\/aboutJava\/communityprocess\/jsr\/jsr_014_gener.html[2000]."},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380221008"},{"key":"e_1_2_1_12_2","unstructured":"v. ReeuwijkC. Tm Web site.www.pds.twi.tudelft.nl\/\u02dcreeuwijk\/software\/Tm."},{"key":"e_1_2_1_13_2","unstructured":"Classcom.isml.math.complex. Web page.www.vni.com\/corner\/garage\/grande\/complex.htm."},{"key":"e_1_2_1_14_2","unstructured":"Ninja Web site.www.research.ibm.com\/ninja."},{"key":"e_1_2_1_15_2","doi-asserted-by":"publisher","DOI":"10.1147\/sj.391.0021"},{"key":"e_1_2_1_16_2","series-title":"The Java Series","volume-title":"The Java 3D API Specification","author":"Sowizral H","year":"1995"},{"key":"e_1_2_1_17_2","doi-asserted-by":"publisher","DOI":"10.1006\/jcph.1997.5813"},{"key":"e_1_2_1_18_2","series-title":"Lecture Notes in Computer Science","first-page":"388","volume-title":"Proceedings of the 8th International Workshop, Languages and Compilers for Parallel Computing","author":"Dechering P","year":"1995"},{"key":"e_1_2_1_19_2","unstructured":"R\u00fchlT BalH BhoudjangR LangendoenK BensonG.Experience with a portability layer for implementing parallel programming systems.Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications August1996;1477\u20131488."},{"key":"e_1_2_1_20_2","unstructured":"R\u00fchlT BhoudjangR.The Panda 4.0 interface document.Technical Report Vrije Universiteit Amsterdam January1999."},{"key":"e_1_2_1_21_2","unstructured":"v. ReeuwijkC. Timber download site.www.pds.twi.tudelft.nl\/timber\/downloading.html."},{"key":"e_1_2_1_22_2","unstructured":"NiemeijerS.Parallel expressiveness of the Spar programming language.PDS Technical Report PDS\u20102000\u2010006 Delft University of Technology May2000.www.pds.twi.tudelft.nl\/reports\/2000\/PDS\u20102000\u2010006."},{"key":"e_1_2_1_23_2","unstructured":"NAS Parallel Benchmarks Web site.www.nas.nasa.gov\/Software\/NPB."},{"key":"e_1_2_1_24_2","unstructured":"FrumkinM JinH YanJ.Implementation of NAS parallel benchmarks in High Performance Fortran.IPPS 1999."},{"key":"e_1_2_1_25_2","unstructured":"DAS Web site.www.asci.tudelft.nl\/das\/das.shtml."},{"key":"e_1_2_1_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/506106.506115"},{"key":"e_1_2_1_27_2","doi-asserted-by":"publisher","DOI":"10.1002\/1096-9128(200005)12:6<477::AID-CPE486>3.0.CO;2-W"},{"key":"e_1_2_1_28_2","doi-asserted-by":"crossref","unstructured":"ArtigasPV GuptaM MidkiffSP MoreiraJE.High performance numerical computing in Java: Language and compiler issues.Proceeding of the 12th Workshop on Language and Compilers for Parallel Computers August1999.","DOI":"10.1007\/3-540-44905-1_1"},{"key":"e_1_2_1_29_2","unstructured":"MoreiraJE. JSR 000083\u2014Java multiarray package.java.sun.com\/aboutJava\/communityprocess\/jsr\/jsr_083_multiarray.html[2000]."},{"key":"e_1_2_1_30_2","unstructured":"JAMA: Java matrix package.math.nist.gov\/javanumerics\/jama."},{"key":"e_1_2_1_31_2","first-page":"1","volume-title":"ACM Workshop on Java for High\u2010Performance Network Computing","author":"Yelick K","year":"1998"},{"key":"e_1_2_1_32_2","unstructured":"BlochJ. JSR 000041\u2014a simple assertion facility.java.sun.com\/aboutJava\/communityprocess\/jsr\/jsr_041_asrt.html[2000]."}],"container-title":["Concurrency and Computation: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fcpe.659","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/cpe.659","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,8,30]],"date-time":"2023-08-30T09:36:08Z","timestamp":1693388168000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/cpe.659"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2003,2,12]]},"references-count":31,"journal-issue":{"issue":"3-5","published-print":{"date-parts":[[2003,3]]}},"alternative-id":["10.1002\/cpe.659"],"URL":"https:\/\/doi.org\/10.1002\/cpe.659","archive":["Portico"],"relation":{},"ISSN":["1532-0626","1532-0634"],"issn-type":[{"value":"1532-0626","type":"print"},{"value":"1532-0634","type":"electronic"}],"subject":[],"published":{"date-parts":[[2003,2,12]]}}}