[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:000661] Re: dcl ruby interface
��Ƿ��Ǥ���
��:
> �ʾ��襤���ե�����
> ���Ѥ�ʤ��ȤϤޤ������ʤ���Ǥۤ�Ȥΰ��̸����Ͻ���ޤ���
��®�Ǥ����������ʤ�������Ȥ����ä��Ǥ���
> ���������С�dcl �˴�Ϣ���Ƥ�뤳�Ȥ�פ��Ф��ޤ�����dcl�ǥ��顼
> �䥦�����˥ν����� MSGDMP �����ʥ�ϥ�ɥ餬��������
> ����褦�ˤ��ʤ��ȡ����顼�Ǥ����ʤ�¹Ԥ��ߤäƤ��ޤ��ޤ��͡�
> ruby �Ѥˤϡ����顼���ˤ�ruby �Ρ��㳰�פ�Ф��ؿ�������������
> Ͽ���٤��Ǥ��͡��������˥��å������ξ�纣�ޤǤɤ���Ǥ���
dcl �ǥ����Ϣ�Υ��顼��������Ȥ���äȤ�ä����Ǥ��͡��¹�
��ߤ�ʤ��Ȥ����Ǥ�̵�����Ȥ��������ꤷ�ޤ��������������餯
MSGDMP ����ª�����Ԥ϶ڤΤ������顼�ǡ������Ϣ�Υ��顼��
���������˽Ф�ΤǤ��礦�ʤ��äȡˡ��Ȥ������������� Fortran77
�Ǥ����ᤷ���ǡ��¹Ի��˸��ΤǤ��ʤ����顼���������ޤ����ޤ��פ�
�Ĥ��Τ�����μºݤ�Ĺ�����������Ϥ��줿Ĺ���Ȱ㤦�Ȥ������ȤǤ���
�Ȥ������������ϴ���Ū�ˤ���ǤۤܿԤ��Ƥ���褦�ʵ�������
����
���Υ��顼��̤�����ɤ���ꤷ�褦������ޤ���äơ�dcl��ruby
�����ե������Ǥ������Ĺ���ϰ����ˤʤäƤ��ƤϤޤ����Ǥ���
���ϡ�Fortran��
SUBROUTINE USGRAPH(X,X.Y)
���б����ơ�ruby �Ǥ�
DCL.usgraph(n,x,y)
�ȸƤ٤�褦��ư��������Ƥޤ����������Ĺ����魯 n �ϼ�ư
������٥�ǤĤ֤��٤��Ǥ������ˤ⤤�äڤ�����������Ȥ����ꡢ��
�ΤȤ��ϡ���ö DCL.usgraph(n,x,y) ����Ƥ��ơ����ξ�� n ��Ĥ�
���Τ��碌��Ф����Ȥ����ո��������ä��褦�˻פ��ޤ�����������
dcl������ʤΤǼ�ư�����Υ�٥�Ǥ��줬�����˱ۤ������ȤϤʤ�
�Ȼפ��ޤ����Ĥޤꡢ�ǽ餫��
DCL.usgraph(x,y)
�Ǥ������Τ�������Ȥߤϰ������ޤ����͡���Ȥ�Ȥ�
SUBROUTIE USGRAPH (
INTEGER N
REAL X(*)
REAL Y(*)
)
�ȤʤäƤ����ץ��ȥ�����������Ȥ�
SUBROUTIE USGRAPH (
INTEGER N
REAL X(N)
REAL Y(N)
)
�Ȥ���Τ���ˤ�äƤ�櫓�Ǥ�����äơ�ruby �����ե�������
��ư���������
dcl_usgrph(obj, x, y)
VALUE obj, x, y;
{
integer i_n;
real *i_x;
real *i_y;
..(ά)..
i_n=NA_LENGTH(x);
if (i_n != NA_LENGTH(y)) {rb_raise(rb_eDclError,"x.length != y.length");}
i_x = dcl_obj2crealary(x);
i_y = dcl_obj2crealary(y);
usgrph_(&i_n, i_x, i_y);
..(��ά)..
}
�Ȥʤ�褦�Ǥ���Ϥ��Ǥ�(obj �� "self" �ʤΤǡ������
DCL.usgraph(x,y) �ˤʤ�ޤ�)�����ʤߤˤ�ȤΥ������Ǥ�
dcl_usgrph(obj, n, x, y)
{
....
VALUE obj, n, x, y;
i_n = NUM2INT(n);
i_x = dcl_obj2crealary(x);
i_y = dcl_obj2crealary(y);
usgrph_(&i_n, i_x, i_y);
....
�Ǥ���
�� �Ȥ����ǡ��٤������ȤǤ�������Ǥ� NumArray ���� length �����
�ޥ����� NA_LENGTH �Ȥ��ޤ����������� Array �ʤ� NumArray ��
���ξ��� NumArray ���Ѵ����Ƥ���������٤����Ȥ����ä��Ϥ��Ǥ�
�������Ȥ�����ޤ����ޤ������ʤäƤޤ����ʤ���ˤ����ͤ��
�ޤʤ� Array ���ӽ�����Ȥ��ä���Ȥ� NumArray �ˤ����뤳�Ȥ���
���ޤ�������� NumArray ��ͭ�λŻ��Ȥ���(���Ǥ�)���ݡ��Ȥ��Ƥޤ�
����Ǥ���Ф�����Ǥ��ˡ�
���ʤߤˡ����Τ褦�ʼ�ư�����ʤ��ȡ����̤δؿ����Ф������Ȥ�
def usgraph�ʤ�Ȥ� (x,y)
n=x.lengh
raise(DclError,"x.length != y.length") if (x.length != y.length)
DCL.usgraph(n,x,y)
end
�Ȥ��ä���Τ��Ѱդ��뤳�Ȥˤʤ�ޤ���
�� ̾����ɤ����褦������ޤ����͡�
---
��Ƿ�� �� horinout@xxxxxx
�������������Ȳʳظ��楻�� 611-0011 �����Ըޥ���