Code Monkey home page Code Monkey logo

Comments (6)

GoogleCodeExporter avatar GoogleCodeExporter commented on June 16, 2024
Thank you dude ... do you have the same kind of things for : floats, uint32, 
uint64, fixed 32, fixed64, sfixed32, sfixed64 ? :D

Original comment by [email protected] on 15 Apr 2013 at 1:22

from pb4php.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 16, 2024
[deleted comment]

from pb4php.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 16, 2024
use function unpack will return a array,so i use function array_shift bug it.
the same to the File "pb_double.php" i suggest.

Original comment by [email protected] on 20 Jun 2013 at 6:20

from pb4php.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 16, 2024
[deleted comment]

from pb4php.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 16, 2024
File "pb_float.php":
-------------------------
<?php
/**
 * @author forthxu (http://forthxu.com)
 */
class PBFloat extends PBScalar
{
    var $wired_type = PBMessage::WIRED_64BIT;

    public function ParseFromArray()
    {
        $this->value = '';

        // just extract the string
        $pointer = $this->reader->get_pointer();
        $this->reader->add_pointer(4);
        $www_forthxu_com = unpack('f', $this->reader->get_message_from($pointer));
        $this->value = array_shift($www_forthxu_com);
    }

    /**
     * Serializes type
     */
    public function SerializeToString($rec=-1)
    {
        $string = '';
        if ($rec > -1)
        {
            $string .= $this->base128->set_value($rec << 3 |
$this->wired_type);
        }

        $string .= pack("f", (double)$this->value); 

        return $string;
    }
}
-------------------------

Don't forget to include this file in pb_message.php:
-------------------------
require_once(dirname(__FILE__). '/' . 'type/pb_float.php');
-------------------------

And specify this class as class to work with this type in pb_parser.php:
-------------------------
var $scalar_types = array(..., 'double', 'float' => 'PBFloat', 'int32' =>
'PBInt', 'int64' => 'PBInt',
-------------------------

Original comment by [email protected] on 20 Jun 2013 at 6:32

from pb4php.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 16, 2024
Beware, if you want to use both pbDouble and pbFloat, the related pbFloat 
weird_type is WIRED_32BIT.

Original comment by [email protected] on 20 Aug 2013 at 7:41

from pb4php.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.