Skip to content

Commit

Permalink
Merge pull request #18 from Shaikh-Ubaid/minor_improvements
Browse files Browse the repository at this point in the history
Minor improvements
  • Loading branch information
Shaikh-Ubaid committed Aug 16, 2022
2 parents cb6c670 + 41fdd3a commit c985127
Show file tree
Hide file tree
Showing 5 changed files with 89 additions and 86 deletions.
18 changes: 0 additions & 18 deletions components/MyFooter.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,3 @@
// import { Col, Row } from "antd";
// function MyFooter() {
// return (
// <Row
// style={{
// textAlign: "center",
// position: "absolute",
// width: "100%",
// bottom: "0px",
// padding: "10px",
// backgroundColor: "grey"
// }}
// >
// <Col span={24}><b>LFortran by LCompilers</b></Col>
// </Row>
// );
// }

import { Footer } from "antd/lib/layout/layout";

function MyFooter() {
Expand Down
2 changes: 1 addition & 1 deletion components/MyLayout.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import MyHeader from "./MyHeader";
import MyFooter from "./MyFooter";
import { Divider, Layout } from "antd";
import { Layout } from "antd";
import { Content } from "antd/lib/layout/layout";

function MyLayout({ children }) {
Expand Down
1 change: 0 additions & 1 deletion components/ResultBox.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { useState } from "react";
import { Button } from "antd";
import { CopyOutlined } from "@ant-design/icons";
import { Segmented } from "antd";
Expand Down
68 changes: 2 additions & 66 deletions pages/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import TextBox from "../components/TextBox";
import ResultBox from "../components/ResultBox";
import LoadLFortran from "../components/LoadLFortran";
import remove_ansi_escape_seq from "../utils/ast_asr_handler";
import src_code_examples from "../utils/source_code_examples";

import { useState } from "react";
import { Col, Row, Spin } from "antd";
Expand Down Expand Up @@ -38,73 +38,9 @@ var lfortran_funcs = {
execute_code: null,
};

var src_code_mandel_brot = `program mandelbrot
implicit none
integer , parameter :: rk = 8
integer , parameter :: i_max = 600
integer , parameter :: j_max = 450
integer , parameter :: n_max = 100
real (rk), parameter :: x_centre = -0.5_rk
real (rk), parameter :: y_centre = 0.0_rk
real (rk), parameter :: width = 4.0_rk
real (rk), parameter :: height = 3.0_rk
real (rk), parameter :: dx_di = width / i_max
real (rk), parameter :: dy_dj = -height / j_max
real (rk), parameter :: x_offset = x_centre - 0.5_rk * (i_max + 1) * dx_di
real (rk), parameter :: y_offset = y_centre - 0.5_rk * (j_max + 1) * dy_dj
integer :: image(j_max, i_max)
integer :: i
integer :: j
integer :: n
real (rk) :: x
real (rk) :: y
real (rk) :: x_0
real (rk) :: y_0
real (rk) :: x_sqr
real (rk) :: y_sqr
interface
subroutine show_img(n, m, A) bind(c)
integer, intent(in) :: n, m
integer, intent(in) :: A(n,m)
end subroutine
end interface
do j = 1, j_max
y_0 = y_offset + dy_dj * j
do i = 1, i_max
x_0 = x_offset + dx_di * i
x = 0.0_rk
y = 0.0_rk
n = 0
do
x_sqr = x ** 2
y_sqr = y ** 2
if (x_sqr + y_sqr > 4.0_rk) then
image(j,i) = 255
exit
end if
if (n == n_max) then
image(j,i) = 0
exit
end if
y = y_0 + 2.0_rk * x * y
x = x_0 + x_sqr - y_sqr
n = n + 1
end do
end do
end do
print *, "The Mandelbrot image is:"
call show_img(j_max, i_max, image)
print *, "Thank you! Hope you had fun!"
end program mandelbrot
`;

export default function Home() {
const [moduleReady, setModuleReady] = useState(false);
const [sourceCode, setSourceCode] = useState(src_code_mandel_brot);
const [sourceCode, setSourceCode] = useState(src_code_examples.src_code_mandel_brot);
const [activeTab, setActiveTab] = useState("STDOUT");
const [output, setOutput] = useState("");
const [myHeight, setMyHeight] = useState("calc(100vh - 170px)")
Expand Down
86 changes: 86 additions & 0 deletions utils/source_code_examples.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
var src_code_mandel_brot = `program mandelbrot
implicit none
integer , parameter :: rk = 8
integer , parameter :: i_max = 600
integer , parameter :: j_max = 450
integer , parameter :: n_max = 100
real (rk), parameter :: x_centre = -0.5_rk
real (rk), parameter :: y_centre = 0.0_rk
real (rk), parameter :: width = 4.0_rk
real (rk), parameter :: height = 3.0_rk
real (rk), parameter :: dx_di = width / i_max
real (rk), parameter :: dy_dj = -height / j_max
real (rk), parameter :: x_offset = x_centre - 0.5_rk * (i_max + 1) * dx_di
real (rk), parameter :: y_offset = y_centre - 0.5_rk * (j_max + 1) * dy_dj
integer :: image(i_max, j_max)
integer :: image_t(j_max, i_max)
integer :: i
integer :: j
integer :: n
real (rk) :: x
real (rk) :: y
real (rk) :: x_0
real (rk) :: y_0
real (rk) :: x_sqr
real (rk) :: y_sqr
do j = 1, j_max
y_0 = y_offset + dy_dj * j
do i = 1, i_max
x_0 = x_offset + dx_di * i
x = 0.0_rk
y = 0.0_rk
n = 0
do
x_sqr = x ** 2
y_sqr = y ** 2
if (x_sqr + y_sqr > 4.0_rk) then
image(i,j) = 255
exit
end if
if (n == n_max) then
image(i,j) = 0
exit
end if
y = y_0 + 2.0_rk * x * y
x = x_0 + x_sqr - y_sqr
n = n + 1
end do
end do
end do
! print '(a)', 'P2'
! print '(i0, 1x, i0)', i_max, j_max
! print '(i0)', 255
! do j = 1, 3
! do i = 1, 3
! print '(i0)', image(i,j)
! end do
! end do
do i = 1, i_max
do j = 1, j_max
image_t(j, i) = image(i, j)
end do
end do
print *, "The result is as follows:"
call show_img(j_max, i_max, image_t)
print *, "Thank you! Hope you had fun!"
interface
subroutine show_img(n, m, A) bind(c)
integer, intent(in) :: n, m
integer, intent(in) :: A(n,m)
end subroutine
end interface
end program mandelbrot
`;


var src_code_examples = {
src_code_mandel_brot: src_code_mandel_brot
};

export default src_code_examples;

0 comments on commit c985127

Please sign in to comment.