Search This Blog

Wednesday, February 22, 2006

Bugs reported today

I reported the following bugs today

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=354032

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=354054

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=354078

Monday, February 13, 2006

definition of Hacker

Hacker is someone who loves to program and enjoys being clever about it. It does not necessarily mean "someone who breaks into computers".

Source: "Producing Open Source software" by Karl Fogel.

Sunday, February 05, 2006

passing function names as arguments in Fortran 90 programs

Sometimes it is desirable to pass function names as arguments to another function. The following code gives a simple example on doing this in Fortran.



! Author : Kamaraju S Kusumanchi
! Email : kamaraju@gmail.com
! Last edited : Sun Feb 5 2006
!
! Sample program demonstrating the use of external attribute. This program
! shows how to pass function names as arguments in Fortran 90 programs.
!
! Compilation and execution steps
! $gfortran passing_functions.f90 -o passing_functions
! $./passing_functions
! beta = 5.500000
! beta = 1.500000
!
! I would appreciate any comments, feedback, criticism, mistakes, errors etc.,
! (however minor they are)
!
module dummy
implicit none
contains
!------------------------------------------------------------------------------
function func1(a)
implicit none
real :: a
real :: func1

func1 = a+5
end function func1
!------------------------------------------------------------------------------
function func2(b)
implicit none
real :: b
real :: func2

func2 = b*3.0
end function func2
!------------------------------------------------------------------------------
function func3(dyn_func, c)
implicit none
real :: c
real, external :: dyn_func
real :: func3

func3 = dyn_func(c)
end function func3
end module dummy
!------------------------------------------------------------------------------
program passing_functions
use dummy
implicit none

real :: alpha=0.5, beta

beta = func3(func1, alpha)
write(*,*) 'beta = ', beta
beta = func3(func2, alpha)
write(*,*) 'beta = ', beta
end program passing_functions

Followers