2019년 12월 17일 화요일

[AI 엔진] float 실수 변수 추가 및 테스트



AI 프로그램기능은 이제 함수 와 및 실수 연산을 수행할수 있게 되었습니다.
지금까지 개발내용은 다음의 블로그에서 확인 가능합니다.
진정한 AI 의 엔진 개발을 목표로 하고 있으며 이프로그램 은 계속 리셋되어
2019.10 부터 새로 개발중입니다.
https://blog.naver.com/ihaneter/221740768914


안녕하세요 오타쟁이 한이터 백승기 입니다.
이번에는 sin,cos,tan 함수 기능을 추가했고
추가한 sin,cos,tan 함수를 테스트합니다.
원래 정수만 인식 되도록 만든 AI 엔진입니다.
하지만 이번에 float 변수를 추가 했고 테스트를 진행하고 있습니다.
다음은 소스 스크립트 입니다.
string demo_math = ""
"void bsk_main() {"
" print ' sin(1)=',@sin(1);"
" print ' cos(3)=',@cos(3);"
" print ' tan(5)=',@tan(5);"
" print ' asin(1)=',@asin(1);"
" print ' acos(0.1)=',@acos(0.1);"
" print ' atan(5)=',@atan(5);"
" print ' ';"
" print ' sin loop 1 to 9;"
" loopfor II=1,9,1;"
" print ' sin(',II,')=',@cos(II),' cos(',II,')=',@tan(II),' sin(',II,')=',@tan(II);"
" loopend II;"
"};";
다음은 소스 스크립트의 실행 결과 입니다.
사실 int 와 float 는 모두 내부에서 실수 연산을 수행하도록 변경 하였지만
프로그램 내부에서 실수와 정수가 구분되도록 하여야 하기때문에
int 와 float 를 구분하였습니다.
이것이 장차 어떻게 발전할지 기대됩니다.
------- comfile_list -----------
make_split_src_1 src_list count = 1
func_name[0]=void bsk_main()
[00][00] [print][' sin(1)='][,][@sin(1)]
[00][01] [print][' cos(3)='][,][@cos(3)]
[00][02] [print][' tan(5)='][,][@tan(5)]
[00][03] [print][' asin(1)='][,][@asin(1)]
[00][04] [print][' acos(0.1)='][,][@acos(0.1)]
[00][05] [print][' atan(5)='][,][@atan(5)]
[00][06] [print][' ']
[00][07] [print][' sin loop 1 to 9]
[00][08] [loopfor][II][=][1][,][9][,][1]
[00][09] [print][' sin('][,][II][,][')='][,][@cos(II)][,][' cos('][,][II][,][')='][,][@tan(II)][,][' sin('][,][II][,][')='][,][@tan(II)]
[00][10] [loopend][II]
------- comfile_var -----------
------- run bsk_main ----------
sin(1)= 0.841471
cos(3)= -0.989992
tan(5)= -3.380515
asin(1)= 1.570796
acos(0.1)= 1.470629
atan(5)= 1.373401
sin loop 1 to 9
sin( 1 )= 0.540302 cos( 1 )= 1.557408 sin( 1 )= 1.557408
sin( 2 )= -0.416147 cos( 2 )= -2.185040 sin( 2 )= -2.185040
sin( 3 )= -0.989992 cos( 3 )= -0.142547 sin( 3 )= -0.142547
sin( 4 )= -0.653644 cos( 4 )= 1.157821 sin( 4 )= 1.157821
sin( 5 )= 0.283662 cos( 5 )= -3.380515 sin( 5 )= -3.380515
sin( 6 )= 0.960170 cos( 6 )= -0.291006 sin( 6 )= -0.291006
sin( 7 )= 0.753902 cos( 7 )= 0.871448 sin( 7 )= 0.871448
sin( 8 )= -0.145500 cos( 8 )= -6.799711 sin( 8 )= -6.799711
sin( 9 )= -0.911130 cos( 9 )= -0.452316 sin( 9 )= -0.452316

2019년 11월 13일 수요일

[파싱] 프로그램 스크립트 작성 및 실행 시행착오중


https://blog.naver.com/ihaneter/221707025476


안녕하세요 오타쟁이 한이터 백승기 입니다.
소스코드와 실행코드를 나누고 실행문장의 프로그램을 시작합니다.
얼마나 많은 시행착오를 고칠지 모르지만 잘못되면 모든것을 허물고 다시 지을겁니다.
다음은 정리된 소스 문장입니다.
<<Source List>>
[0000] var main start
[0001] int A=1122
[0002] str B='1122'
[0003] str C
[0004] var main end
[0005] program main start
[0006] set A=1222+5
[0007] set B=100+(20*2)+55
[0008] putln A,B
[0009] program main end
다음은 실행 문을 정리하고 있습니다.
<<Program Run List>>
add var int -> [A] int A=1122
add var str -> [B] str B='1122'
add var str -> [C] str C
[set][A][=][1222][+][5]
[set][B][=][100][+][(][20][*][2][)][+][55]
[putln][A][,][B]
프로그램에서의 소스 코드는 다음과 같습니다.
NCalcCd_var("var main start");
NCalcCd_var("int A=1122"); //-> OK
NCalcCd_var("str B='1122'"); //-> OK
NCalcCd_var("str C"); //-> OK
NCalcCd_var("var main end");
NCalcCd_var("program main start");
NCalcCd_var("set A=1222+5"); //-> OK
NCalcCd_var("set B=100+(20*2)+55"); //-> OK
NCalcCd_var("putln A,B");
NCalcCd_var("program main end");
각각의 함수가 하는 일은 상상에 맡기고
이상 오타쟁이 한이터 백승기 입니다.
바바

2019년 6월 26일 수요일

최근의 글들은 여기에 있습니다.

최근의 글들은 여기에 있습니다.

https://blog.naver.com/ihaneter

가장최근의 글은 다음 유니티 WWW Download 에 관한 글입니다.