Home My Page Projects Code Snippets Project Openings 3D graphics for Standard ML
Summary Activity SCM

SCM Repository

[sml3d] Diff of /trunk/sml3d/gen/gen-from-xml/glgen/gen-consts.sml
ViewVC logotype

Diff of /trunk/sml3d/gen/gen-from-xml/glgen/gen-consts.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1369, Tue Apr 1 23:00:51 2014 UTC revision 1379, Fri Apr 4 23:40:39 2014 UTC
# Line 43  Line 43 
43            \"            \"
44    
45      val a_GLint = Atom.atom "GLint"      val a_GLint = Atom.atom "GLint"
46        val a_GLenum = Atom.atom "GLenum"
47      val a_GLuint = Atom.atom "GLuint"      val a_GLuint = Atom.atom "GLuint"
48      val a_GLuint64 = Atom.atom "GLuint64"      val a_GLuint64 = Atom.atom "GLuint64"
49    
# Line 53  Line 54 
54            val X.DB{registry, enums, ...} = db            val X.DB{registry, enums, ...} = db
55            fun genEnum {name, ty, value} = let            fun genEnum {name, ty, value} = let
56                  val (isSigned, mlty) = (case ty                  val (isSigned, mlty) = (case ty
57                         of NONE => (true, "glint")                         of NONE => (false, "glenum")
58                          | SOME(CType.NamedTy ty) =>                          | SOME(CType.NamedTy ty) =>
59                              if Atom.same(ty, a_GLint) then (true, "glint")                              if Atom.same(ty, a_GLint) then (true, "glint")
60                              else if Atom.same(ty, a_GLuint) then (false, "glenum")                              else if Atom.same(ty, a_GLenum) then (false, "glenum")
61                                else if Atom.same(ty, a_GLuint) then (false, "gluint")
62                              else if Atom.same(ty, a_GLuint64) then (false, "glint64")                              else if Atom.same(ty, a_GLuint64) then (false, "glint64")
63                              else raise Fail "unknown C type"                              else raise Fail "unknown C type"
64                          | _ => raise Fail "unknown C type"                          | _ => raise Fail "unknown C type"
65                        (* end case *))                        (* end case *))
66                  in                  in
67                    if isSigned                    if not isSigned
68                      then prf("    val %s : %s = %d\n", [F.ATOM name, F.STR mlty, F.LINT value])                      then prf("    val %s : %s = 0wx%08x\n", [F.ATOM name, F.STR mlty, F.LINT value])
69                      else prf("    val %s : %s = 0wx%08x\n", [F.ATOM name, F.STR mlty, F.LINT value])                    else if (value < 0)
70                        then prf("    val %s : %s = ~%d\n", [F.ATOM name, F.STR mlty, F.LINT(~value)])
71                        else prf("    val %s : %s = %d\n", [F.ATOM name, F.STR mlty, F.LINT value])
72                  end                  end
73            in            in
74              prf (header, [              prf (header, [

Legend:
Removed from v.1369  
changed lines
  Added in v.1379

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0