本文整理汇总了Golang中C.short函数的典型用法代码示例。如果您正苦于以下问题:Golang short函数的具体用法?Golang short怎么用?Golang short使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了short函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: InitColor
// InitColor is used to set 'color' to the specified RGB values. Values may
// be between 0 and 1000.
func InitColor(col, r, g, b int16) error {
if C.init_color(C.short(col), C.short(r), C.short(g),
C.short(b)) == C.ERR {
return errors.New("Failed to set new color definition")
}
return nil
}
示例2: Topo
// Compute the topocentric place of a solar system body.
func (p *Body) Topo(t Time, geo *Place, refr RefractType) BodyTopoData {
t.update()
data := BodyTopoData{}
var ra, dec, dis C.double
switch p.class {
case clPLANET:
if err := C.topo_planet(C.double(t.jd_tt), &p.object, C.double(t.delta_t), &geo.place, C.short(Accuracy), &ra, &dec, &dis); err != 0 {
log.Fatalf("Error %d from app_planet (%s)\n", int(err), p.name)
}
data.Dis = float64(dis)
case clSTAR:
if err := C.topo_star(C.double(t.jd_tt), C.double(t.delta_t), &p.cat_entry, &geo.place, C.short(Accuracy), &ra, &dec); err != 0 {
log.Fatalf("Error %d from app_planet (%s)\n", int(err), p.name)
}
data.Dis = math.NaN()
}
var elon, elat C.double
C.equ2ecl(C.double(t.jd_tt), 0, C.short(Accuracy), ra, dec, &elon, &elat)
var zd, az, rar, decr C.double
C.equ2hor(C.double(t.jd_ut1), C.double(t.delta_t), C.short(Accuracy), 0, 0, &geo.place, ra, dec, C.short(refr), &zd, &az, &rar, &decr)
data.Alt = 90 - float64(zd)
data.Az = float64(az)
return data
}
示例3: App
// Compute the apparent place of an object.
func (p *Body) App(t Time) BodyData {
t.update()
data := BodyData{}
var ra, dec, dis C.double
switch p.class {
case clPLANET:
if err := C.app_planet(C.double(t.jd_tt), &p.object, C.short(Accuracy), &ra, &dec, &dis); err != 0 {
log.Fatalf("Error %d from app_planet (%s)\n", int(err), p.name)
}
data.Dis = float64(dis)
case clSTAR:
if err := C.app_star(C.double(t.jd_tt), &p.cat_entry, C.short(Accuracy), &ra, &dec); err != 0 {
log.Fatalf("Error %d from app_star (%s)\n", int(err), p.name)
}
data.Dis = math.NaN()
}
data.RA = float64(ra)
data.Dec = float64(dec)
var elon, elat C.double
C.equ2ecl(C.double(t.jd_tt), 0, C.short(Accuracy), ra, dec, &elon, &elat)
data.ELon = float64(elon)
data.ELat = float64(elat)
return data
}
示例4: WaitZero
// WaitZero adds and operation that will block until a semaphore's number is 0.
func (so *SemOps) WaitZero(num uint16, flags *SemOpFlags) error {
*so = append(*so, C.struct_sembuf{
sem_num: C.ushort(num),
sem_op: C.short(0),
sem_flg: C.short(flags.flags()),
})
return nil
}
示例5: Init_pair
func Init_pair(pair int, fg int, bg int) os.Error {
in()
defer out()
if C.init_pair(C.short(pair), C.short(fg), C.short(bg)) == 0 {
return CursesError{"Init_pair failed"}
}
return nil
}
示例6: InitPair
// InitPair sets a colour pair designated by 'pair' to fg and bg colors
func InitPair(pair, fg, bg int16) error {
if pair <= 0 || C.int(pair) > C.int(C.COLOR_PAIRS-1) {
return errors.New("Color pair out of range")
}
if C.init_pair(C.short(pair), C.short(fg), C.short(bg)) == C.ERR {
return errors.New("Failed to init color pair")
}
return nil
}
示例7: PairFor
func PairFor(fg int, bg int) int {
key := (fg << 8) + bg
if found, prs := _colorMap[key]; prs {
return found
}
id := len(_colorMap) + ColUser
C.init_pair(C.short(id), C.short(fg), C.short(bg))
_colorMap[key] = id
return id
}
示例8: Decrement
// Decrement adds an operation that will decrease a semaphore's number.
func (so *SemOps) Decrement(num uint16, by int16, flags *SemOpFlags) error {
if by <= 0 {
return errors.New("sysvipc: by must be >0. use WaitZero or Increment")
}
*so = append(*so, C.struct_sembuf{
sem_num: C.ushort(num),
sem_op: C.short(-by),
sem_flg: C.short(flags.flags()),
})
return nil
}
示例9: PairFor
func PairFor(fg Color, bg Color) ColorPair {
// ncurses does not support 24-bit colors
if fg.is24() || bg.is24() {
return ColDefault
}
key := (int(fg) << 8) + int(bg)
if found, prs := _colorMap[key]; prs {
return found
}
id := ColorPair(len(_colorMap) + int(ColUser))
C.init_pair(C.short(id), C.short(fg), C.short(bg))
_colorMap[key] = id
return id
}
示例10: update
func (t *Time) update() {
if t.Time.Equal(t.current) {
return
}
t.current = t.Time
t1 := t.current.UTC()
t.jd_utc = float64(C.julian_date(
C.short(t1.Year()),
C.short(t1.Month()),
C.short(t1.Day()),
C.double(float64(t1.Hour())+float64(t1.Minute())/60+float64(t1.Second())/3600+float64(t1.Nanosecond())/3600/1e9)))
t.jd_tt = t.jd_utc + (float64(Leap_secs)+32.184)/86400
t.jd_ut1 = t.jd_utc + UT1_UTC/86400
t.delta_t = 32.184 + float64(Leap_secs) - UT1_UTC
t.jd_tdb = t.jd_tt /* Approximation good to 0.0017 seconds. */
}
示例11: Connect
/* Opens jabber connection for client */
func (client *Client) Connect(pass string,
host string, port uint16) error {
jid_i := C.CString(client.Jid)
pass_i := C.CString(pass)
var host_i *C.char = nil
log.Println("xmpp.Connect: ", client.Jid)
if len(host) > 0 {
host_i = C.CString(host)
}
mutex.Lock()
counter += 1
mutex.Unlock()
client.ConnInfo = C.open_xmpp_conn(jid_i, pass_i, host_i,
C.short(port), C.int(counter))
if client.ConnInfo != nil {
client.Id = counter
clients[counter] = client
return nil
}
return errors.New("Connection error")
}
示例12: PairContent
// PairContent returns the current foreground and background colours
// associated with the given pair
func PairContent(pair int16) (fg int16, bg int16, err error) {
var f, b C.short
if C.pair_content(C.short(pair), &f, &b) == C.ERR {
return -1, -1, errors.New("Invalid color pair")
}
return int16(f), int16(b), nil
}
示例13: Update
// Update the events mask of a socket in the poller
//
// Replaces the Poller's bitmask for the specified id with the events parameter passed
//
// Returns the previous value, or ErrorNoSocket if the id was out of range
func (p *Poller) Update(id int, events State) (previous State, err error) {
if id >= 0 && id < len(p.items) {
previous = State(p.items[id].events)
p.items[id].events = C.short(events)
return previous, nil
}
return 0, ErrorNoSocket
}
示例14: initPairs
func initPairs(theme *ColorTheme) {
C.assume_default_colors(C.int(theme.Fg), C.int(theme.Bg))
initPair := func(group ColorPair, fg Color, bg Color) {
C.init_pair(C.short(group), C.short(fg), C.short(bg))
}
initPair(ColNormal, theme.Fg, theme.Bg)
initPair(ColPrompt, theme.Prompt, theme.Bg)
initPair(ColMatch, theme.Match, theme.Bg)
initPair(ColCurrent, theme.Current, theme.DarkBg)
initPair(ColCurrentMatch, theme.CurrentMatch, theme.DarkBg)
initPair(ColSpinner, theme.Spinner, theme.Bg)
initPair(ColInfo, theme.Info, theme.Bg)
initPair(ColCursor, theme.Cursor, theme.DarkBg)
initPair(ColSelected, theme.Selected, theme.DarkBg)
initPair(ColHeader, theme.Header, theme.Bg)
initPair(ColBorder, theme.Border, theme.Bg)
}
示例15: toC
func (d *DSPMeteringInfo) toC() C.FMOD_DSP_METERING_INFO {
var cd C.FMOD_DSP_METERING_INFO
cd.numsamples = C.int(d.Numsamples)
//cd.peaklevel = C.float(d.Peaklevel)
//cd.rmslevel = C.float(d.Rmslevel)
cd.numchannels = C.short(d.Numchannels)
return cd
}