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 에 관한 글입니다.