mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Updated Julia language with lexer and added tests
This commit is contained in:
		@@ -601,7 +601,7 @@ JavaScript:
 | 
			
		||||
 | 
			
		||||
Julia:
 | 
			
		||||
  type: programming
 | 
			
		||||
  lexer: Text only
 | 
			
		||||
  lexer: Julia
 | 
			
		||||
  primary_extension: .jl
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .jl
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										37
									
								
								test/fixtures/stockcorr.jl
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								test/fixtures/stockcorr.jl
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
## Test case from Issue #445
 | 
			
		||||
 | 
			
		||||
#STOCKCORR - The original, unoptimised code that simulates two correlated assets
 | 
			
		||||
function stockcorr()
 | 
			
		||||
 | 
			
		||||
    ## Correlated asset information
 | 
			
		||||
    CurrentPrice = [78. 102.]     # Initial Prices of the two stocks
 | 
			
		||||
    Corr = [1. 0.4; 0.4 1.]       # Correlation Matrix
 | 
			
		||||
    T = 500                       # Number of days to simulate = 2years = 500days
 | 
			
		||||
    n = 100000                    # Number of simulations
 | 
			
		||||
    dt = 1/250                    # Time step (1year = 250days)
 | 
			
		||||
    Div=[0.01 0.01]               # Dividend
 | 
			
		||||
    Vol=[0.2 0.3]                 # Volatility
 | 
			
		||||
 | 
			
		||||
    ## Market Information
 | 
			
		||||
    r = 0.03                      # Risk-free rate
 | 
			
		||||
 | 
			
		||||
    ## Define storages
 | 
			
		||||
    SimulPriceA = zeros(T,n)      # Simulated Price of Asset A
 | 
			
		||||
    SimulPriceA[1,:] = CurrentPrice[1]
 | 
			
		||||
    SimulPriceB = zeros(T,n)      # Simulated Price of Asset B
 | 
			
		||||
    SimulPriceB[1,:] = CurrentPrice[2]
 | 
			
		||||
 | 
			
		||||
    ## Generating the paths of stock prices by Geometric Brownian Motion
 | 
			
		||||
    UpperTriangle=chol(Corr)      # UpperTriangle Matrix by Cholesky decomposition
 | 
			
		||||
 | 
			
		||||
    for i = 1:n
 | 
			
		||||
       Wiener = randn(T-1,2)
 | 
			
		||||
       CorrWiener = Wiener*UpperTriangle
 | 
			
		||||
       for j = 2:T
 | 
			
		||||
          SimulPriceA[j,i] = SimulPriceA[j-1,i]*exp((r-Div[1]-Vol[1]^2/2)*dt+Vol[1]*sqrt(dt)*CorrWiener[j-1,1])
 | 
			
		||||
          SimulPriceB[j,i] = SimulPriceB[j-1,i]*exp((r-Div[2]-Vol[2]^2/2)*dt+Vol[2]*sqrt(dt)*CorrWiener[j-1,2])
 | 
			
		||||
       end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    return (SimulPriceA, SimulPriceB)
 | 
			
		||||
end
 | 
			
		||||
@@ -427,6 +427,9 @@ class TestBlob < Test::Unit::TestCase
 | 
			
		||||
 | 
			
		||||
    # Kotlin
 | 
			
		||||
    assert_equal Language['Kotlin'], blob("Foo.kt").language
 | 
			
		||||
 | 
			
		||||
    # Julia: http://julialang.org/
 | 
			
		||||
    assert_equal Language['Julia'], blob("stockcorr.jl").language
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_lexer
 | 
			
		||||
@@ -438,6 +441,7 @@ class TestBlob < Test::Unit::TestCase
 | 
			
		||||
    assert_equal Lexer['Text only'], blob("README").lexer
 | 
			
		||||
    assert_equal Lexer['Tea'], blob("foo.tea").lexer
 | 
			
		||||
    assert_equal Lexer['vhdl'], blob("foo.vhd").lexer
 | 
			
		||||
    assert_equal Lexer['Julia'], blob("stockcorr.jl").lexer
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_shebang_script
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user